linux上二进制部署mysql详细步骤(测试环境常用)

注册 Vultr VPS 送你10美金 免费玩4个月

一、简介:

   关于在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 默认数据库:

[[email protected] mysql]#cd /usr/local/mysql
[[email protected] mysql]# scripts/mysql_install_db --user=mysql

   注意:在ubuntu 执行上面的命令时会遇到如下错误:

[[email protected] 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:

[[email protected] 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、修改目录权限,如下:

[[email protected] mysql]# cd /usr/local
[[email protected] local]# chgrp -R mysql mysql-5.5.42-linux2.6-x86_64
[[email protected] local]# chgrp -R mysql mysql
[[email protected] local]# chown -R mysql mysql-5.5.42-linux2.6-x86_64/data
[[email protected] local]# chown -R mysql mysql/data

   5、启动mysql

    到mysql录下:

[[email protected] mysql]# bin/mysqld_safe --user=mysql --socket=/tmp/mysql.sock --port=3306 &

   这种启动方式,看不出启动效果,因为要继续输入命令查看是否启动成功的话,就会停止数据库。所以赶紧进行第6步

    6、添加到系统自启动,如下:

[[email protected] local]# cp mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
shell> cp support-files/mysql.server /etc/init.d/mysqld

   上面是ubutu的自启动目录

tar zxf mysql-5.5.42-linux2.6-x86_64.tar.gz

0

   7、启动mysql服务进程,如下:

tar zxf mysql-5.5.42-linux2.6-x86_64.tar.gz

1

   启动完成赶紧查看mysql状态,命令: /etc/rc.d/init.d/mysqld status,看看MySQL是否已经启动.

    还可以查看一下 3306 端口是否已经在监听:

tar zxf mysql-5.5.42-linux2.6-x86_64.tar.gz

2

   8、给mysql的 root 用户指定密码为”123456″,host为localhost ,如下:

    在目录 /user/local/mysql/下面

tar zxf mysql-5.5.42-linux2.6-x86_64.tar.gz

3

   注意:确定你的mysql.sock是不是在/tmp/mysql.sock这里,

    可以vi /etc/my.cnf 查看一下(如果没有my.cnf,可以从mysql/support-files/my-medium.cnf拷贝):

tar zxf mysql-5.5.42-linux2.6-x86_64.tar.gz

4

   这行就指定了mysql.sock的位置。

    在/var/lib中新建mysql(mkdir /var/lib/mysql),将/tmp/mysql.sock 移至/var/lib/mysql中,

    并修改,命令为

tar zxf mysql-5.5.42-linux2.6-x86_64.tar.gz

5

   ok,密码修改成功!

    9、登陆

tar zxf mysql-5.5.42-linux2.6-x86_64.tar.gz

6

   注意:如果登录失败,报如下错误的话:

    Can’t connect to local MySQL server through socket’=/var/lib/mysql/mysql.sock’

    可以在启动命令中加入 -h127.0.0.1,即:

tar zxf mysql-5.5.42-linux2.6-x86_64.tar.gz

7

   如果不想使用相对路径登录mysql的话,则可以在/usr/local/bin中建立mysql的一个软连接:

    ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

    注意使用绝对路径。

    至此,你应该可以正常使用mysql了。快去试试吧!