时间: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、自定义的路径,需要修改相关文件的相关变量。官方上是默认路径。
原文地址:http://blog.51cto.com/lajifeiwomoshu/2152317