Mysql 5.6版本二进制安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 5.6版本二进制安装相关的知识,希望对你有一定的参考价值。

时间:2018.7.30
作者:李强
参考:man,info,magedu讲义,万能的internet
实验环境:VMware? Workstation 12 Pro ,Centos 6.9,Centos 7.4,SecureCRT Version 8.1.4
声明:以下英文纯属个人翻译,英文B级,欢迎纠正,以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,才能有限,希望不误人子弟为好。
版本:v1-2018.7.30

参考资料

1、https://www.cnblogs.com/BrightMoon/p/4730081.html
2、https://dev.mysql.com/doc/refman/5.6/en/installing.html

官方下载站点:

https://dev.mysql.com/downloads/mysql/

可以下载rpm包,repo仓库。二进制包等

一些镜像站点如搜狐,阿里,网易等都不好使了。

mysql安装为什么大部分使用二进制安装。而不是源码手动去编译?

mysql使用的glibc进行开发的。glibc库是一个底层api,所以只要是linux,都会有glibc库。所以,mysql安装不需要考虑环境是否符合要求。移植性很方便。直接将编译好的二进制代码复制到另外一个机器上,也是可以用的。

原理性东西:一般在linux下安装一个软件,不同软件所需要的函数库不同。于是会遇到一个现象:一个软件复制到另外一个平台可能无法运行。安装软件需要先侦测环境就是出于此考虑。因为mysql使用的是通用的glibc函数库。没有对其他东西的依赖性。所以,从一个平台复制到另外一个平台能够通用。并不需要去侦测环境。直接使用编译好的二进制即可

手动编译安装,显得步骤麻烦。基于mysql的特点,二进制安装完全可以。

注:mysql5.5安装的时候,需要用到cmake命令,所以需要保证你的机器上安装了该命令。没有的话,还要去安装该cmake。也显得麻烦。我暂时不想去安装最新版本的了。

如果使用二进制安装升级怎么进行?

升级获取的还是二进制压缩包。那么,直接将指向目录切换到新的目录即可。

不需要涉及到像php一样,手动编译可以达到自己定制模块的好处。而mysql安装的时候不需要涉及到模块

mysql官方建议安装方式:二进制安装。

以下为安装二进制版本5.6.41操作步骤

一、安装前环境准备:

1、依赖库检查

主要是看二进制安装依赖的库是否存在,数据库初始化和服务启动需要此库

shell> yum search libaio  # search for info
shell> yum install libaio # install library

2、安装相关规划

    软件安装目录      /usr/loca/app/mysql_13306
    数据库存放目录  /data/mysql_13306
    port                     13306
    pid_file                /data/mysql_13306/mysql_13306.pid
    socket                 /data/mysql_13306/mysql_13306.socket
    log_error             /var/log/mysql_13306.log

二、进制安装步骤

1、创建用户

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql

2、下载二进制包

shell> cd /usr/local/app
shell> wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
shell> tar zxvf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
shell> mv mysql-5.6.41-linux-glibc2.12-x86_64 mysql_13306
shell> ln -s  mysql_13306  ../mysql_13306
# 我觉得建立软链接其实作用就是因为默认的路径就是这里。当我们安装多实例的时候,这个步骤就没有意义了。
shell>cd /usr/local/app/mysql_3306
shell> rm -rf data
shell> ln -s data /data/mysql_13306

3、为工作目录指定用户权限

shell> cd mysql_13306
shell> scripts/mysql_install_db --user=mysql   #这里可以指定mysql安装和安装数据的位置。 
# --basedir=path 使用mysqld程序的路径 --datadir=path  数据库安装的路径
#此脚本,默认执行的是
#./bin/mysqld --bootstrap --basedir=. --datadir=/var/lib/mysql --log

shell> chown -R root .
shell> chown -R mysql /data/mysql_13306
# 数据库数据位置需要拥有mysql的权限。不能设置为root权限。否则无法启动。

4、修改配置文件指定mysql的安装目录和数据目录


主要设置参数,在mysqld下配置。
[mysqld]  

user =mysql                                 //以mysql用户权限运行mysql服务
baseurl=/usr/loca/app/mysql_13306       //mysql二进制程序路径,默认为当前程序的./bin/mysqld
dataurl=/data/mysql_13306/        //mysql数据库存放路径, 默认为/var/lib/mysql

因为我们可能根据自己的数据安全,放在其他位置,可以将二进制里的data目录删除,然后建立一个软链接过去。然后设置data的属性为mysl.mysql

port=13306
socket=/data/mysql_13306/mysql_13306.socket         //socket文件,默认路径为/var/lib/mysql/mysql.sock
pid-file=/var/run/mysql_13306.pid        //如果没有指定,那么默认为$datadir/`hostname`.pid
[mysqld_safe]
log-error=/var/log/mysql_13306.log   

5、启动服务器

shell> bin/mysqld --user=mysql &           # 或使用mysqld_safe
shell> bin/mysqld_safe --user=mysql  & # 官方建议使用这个

#启动可以用mysqld也可以使用mysqld_safe,区别简单点就是mysqld_safe比mysql更安全,因为mysqld_safe启动后会监控mysql服务状态做到自动重启mysql服务的功能,本质上用到的还是mysqld程序。
#如果安装目录和数据库目录改变,添加相关参数

6、添加启动脚本。

# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

如果修改了baseurl和dataurl的位置,这里需要对这2个变量进行赋值
这里调用的就是mysqld_safe 

注意事项

1、不同版本的安装方式不一样。需要参考官方安装指导手册
2、自定义的路径,需要修改相关文件的相关变量。官方上是默认路径。

以上是关于Mysql 5.6版本二进制安装的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 5.6版本二进制安装

MySQL 5.6版本二进制包多实例安装

MySQL二进制包安装实例 ( 5.5 5.6 共存 )

Linux(CentOS 6.5) 下安装MySql 5.7.18 二进制版本粗浅攻略

MYSQL 二进制安装

使用二进制免编译包安装MySQL-5.6