linux上二进制部署mysql详细步骤(测试环境常用)
一、简介:
关于在linux上二进制部署mysql,我其实现在linux已经很熟练了,那是一年前的曲折之路。不过这篇文章还是有参考意义,毕竟测试环境可以再3分钟就弄好mysql服务器.还是很happy的一件事情.之前笔记是参考别人写的,现在重新整理.主要问题是centos和ubuntu上,ubuntu上需要注意的事项等说明。
二、需求描述:
搞了一天在linux下安装mysql,实在身心疲惫,不过最终还是成功安装上了,不知道为什么mysql 的rpm包安装起来不好使,rpm主要再redhat系列的linux发行版中,老是有问题。但是编译安装需要安装编译环境和编译比较耗时间.于是决定安装tarball(二进制包)的方式安装mysql。从网页上翻了好久找到了安装方法。
我用的mysql的版本的是:mysql-5.5.42-linux2.6-x86_64.tar.gz
在官网上是可以下载到的。但是我一般再国内镜像站下载:http://mirrors.sohu.com/mysql/MySQL-5.5/
提供一个百度云的下载地址:链接: http://pan.baidu.com/s/1c0qbyzI 密码: 6vt5
三、前置条件(不是必需):
0. 按照上面下载地址.准备mysql的二进制包.
1. 建立mysql用户组,mysql用户,并且把mysql用户加入到mysql用户组中。
2. 建立mysql用户组:groupadd mysql
3. 建立mysql用户并加入mysql用户组:useradd mysql -g mysql -p 1234 -s /sbin/nologin -M
说明:-g 是加入到mysql用户组,-p是设置密码,-s是设置shell,这里设置的是不让其登录,-M就是不建立用户目录。
四、下面是安装mysql的步骤
1、把安装文件拷贝到:/usr/local,
cp mysql-5.5.42-linux2.6-x86_64.tar.gz /usr/local/
然后到目录/usr/local/下面解压缩文件:
tar zxf mysql-5.5.42-linux2.6-x86_64.tar.gz
2、创建软连接:
ln -s mysql-5.5.42-linux2.6-x86_64 /usr/local/mysql
注意:链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link),也称为软连接。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对软链接,则不存在这个问题。默认情况下,ln产生硬链接。 如果创建软链接需要参数 -s
3、到软连接mysql目录下,初始化mysql表格,安装 mysql 默认数据库:
[root@localhost mysql]#cd /usr/local/mysql [root@localhost mysql]# scripts/mysql_install_db --user=mysql
注意:在ubuntu 执行上面的命令时会遇到如下错误:
[root@localhost mysql]#/usr/local/mysql# scripts/mysql_install_db --user=mysql Installing MySQL system tables... ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
主要需要缺少libaio1库文件.解决办法 使用sudo apt-get install libaio1:
[root@localhost mysql]#/usr/local/mysql# apt-get install libaio1 正在读取软件包列表... 完成
然后重新执行步骤(最保险的办法.删除了重来)
[root @localhost mysql]# scripts/mysql_install_db --user=mysql
控制台打印出:
Installing MySQL system tables…
OK
Filling help tables…
OK
…..
即说明安装成功。
4、修改目录权限,如下:
[root@localhost mysql]# cd /usr/local [root@localhost local]# chgrp -R mysql mysql-5.5.42-linux2.6-x86_64 [root@localhost local]# chgrp -R mysql mysql [root@localhost local]# chown -R mysql mysql-5.5.42-linux2.6-x86_64/data [root@localhost local]# chown -R mysql mysql/data
5、启动mysql
到mysql录下:
[root@localhost mysql]# bin/mysqld_safe --user=mysql --socket=/tmp/mysql.sock --port=3306 &
这种启动方式,看不出启动效果,因为要继续输入命令查看是否启动成功的话,就会停止数据库。所以赶紧进行第6步
6、添加到系统自启动,如下:
[root@localhost local]# cp mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld shell> cp support-files/mysql.server /etc/init.d/mysqld
上面是ubutu的自启动目录
[root@localhost local]# chkconfig --add mysqld
7、启动mysql服务进程,如下:
[root@localhost local]# /etc/init.d/mysqld start
启动完成赶紧查看mysql状态,命令: /etc/rc.d/init.d/mysqld status,看看MySQL是否已经启动.
还可以查看一下 3306 端口是否已经在监听:
[root@localhost local]#netstat -anp|grep LISTEN
8、给mysql的 root 用户指定密码为”123456″,host为localhost ,如下:
在目录 /user/local/mysql/下面
[root@localhost local]#bin/mysqladmin --socket=/tmp/mysql.sock --port=3306 -u root -h localhost password '123456'
注意:确定你的mysql.sock是不是在/tmp/mysql.sock这里,
可以vi /etc/my.cnf 查看一下(如果没有my.cnf,可以从mysql/support-files/my-medium.cnf拷贝):
sorket=/var/lib/mysql/mysql.sock
这行就指定了mysql.sock的位置。
在/var/lib中新建mysql(mkdir /var/lib/mysql),将/tmp/mysql.sock 移至/var/lib/mysql中,
并修改,命令为
[root@localhost mysql]# bin/mysqladmin --socket=/var/lib/mysql/mysql.sock --port=3306 -u root -h localhost password '123456'
ok,密码修改成功!
9、登陆
[root@localhost mysql]# bin/mysql --port=3306 -u root -p -S /var/lib/mysql/mysql.sock Enter password: 输入 123456 登陆成功! Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.0.51a MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
注意:如果登录失败,报如下错误的话:
Can’t connect to local MySQL server through socket’=/var/lib/mysql/mysql.sock’
可以在启动命令中加入 -h127.0.0.1,即:
[root@localhost mysql]#bin/mysql -h127.0.0.1 --port=3306 -u root -p -S /var/lib/mysql/mysql.sock
如果不想使用相对路径登录mysql的话,则可以在/usr/local/bin中建立mysql的一个软连接:
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
注意使用绝对路径。
至此,你应该可以正常使用mysql了。快去试试吧!
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:一名清官 来源: JavaRanger - 专注JAVA高性能程序开发、JVM、Mysql优化、算法
- 标签:
- 发布时间:2015-11-08 22:08:28
- [70] IOS安全–浅谈关于IOS加固的几种方法
- [69] Twitter/微博客的学习摘要
- [64] 如何拿下简短的域名
- [63] Go Reflect 性能
- [63] android 开发入门
- [61] find命令的一点注意事项
- [59] 流程管理与用户研究
- [58] Oracle MTS模式下 进程地址与会话信
- [58] 读书笔记-壹百度:百度十年千倍的29条法则
- [58] 图书馆的世界纪录