版权声明:本文为博主原创文章,未经博主允许不得转载。
**
环境准备
操作系统:CentOS
软件:MySQL-5.7.19
**
**
一、RPM 方式安装
进入官方网站:https://www.mysql.com
注册账号
downloads
选择mysql Community Edition (GPL)>>Community (GPL) Downloads >>MySQL Community Server (GPL)>>download
操作系统:Red Hat Enterprise & Oracle Linux
操作系统版本:Redhat 64
**
1、上传Mysql rpm 包到linux服务器并解压
2、创建Mysql用户和用户组
3、安装Mysql
发现出错了,有两个依赖包没有安装,因此需要安装此依赖包,依赖包的为libaio和numactl,安装即可
再次安装服务端:
说明:这里rpm如果不采用–nodeps必须将上面的四个包依次进行安装,否则会提示依赖解决。
只安装服务端,不安装通用包和libs包
4、启动Mysql并登录到Mysql数据库
说明:由于第一次启动Mysql,并且如果没有在/etc/my.cnf中添加参数skip-grant-tables参数的话,那么是无法登录到Mysql数据库的,这里有两种解决三种解决方法:
第一种,mysql初次初始化后,在/var/log/mysqld.log中提供了一个可以用于登录的临时密码,使用这个密码,可以登录到数据库,如上图
第二种,在/etc/my.cnf中添加skip-grant-tables参数,不过需要重新启动数据库才可以生效。
第三种,直接使用命令,/etc/init.d/mysqld –skip-grant-tables,然后重新打开一个窗口,如果不想重新打开一个窗口,那么在末尾添加一个
&
符号,让其在后台运行。
5、初次使用修改密码
说明:在以前的版本中,Mysql对于密码的修改,是在mysql库中的user表中有一列为password列,但是从msyql 5.7版本开始,oracle对mysql搞了一点事情,它把原有的user表中的column password取消掉了,使用authentication_string来替代了,所以,现在如果使用update修改表user中的密码必须使用update user set authentication_string=password(‘your_password’) where user=’user_name’ and host=’servcie_host_ip’;而不是原来的update user set password了,所以在这里Oracle做了一些改动。并且,mysql从5.6开始,开始强化密码,要求密码中必须使用至少有一个大写字母和小写字母,数字和特殊字符,并且长度不能少于8位,这在windows图形界面安装下非常明显,但是在Linux下,我为了方便记忆,并没有遵守Mysql的约定,所以请引起注意。
**
二、二进制安装Mysql
**
进入官方网站:https://www.mysql.com
注册账号
downloads
选择MySQL Community Edition (GPL)>>Community (GPL) Downloads >>MySQL Community Server (GPL)>>download
操作系统:Linux_Generic
操作系统版本:Linux_generic x86_64
1、上传msyql二进制包致Linux服务器,并解压到/usr/local目录
2、创建Mysql用户和用户组
说明:-r 参数表示login -s 指定默认的shell
3、对/usr/local下的mysql解压包做软连接(相当于windows下的快捷方式)并授权
4、执行mysql_install_db脚本并指定用户
在这里有必要进行提前说明,在以前执行mysql_install_db都是在scripts目录下,但是从Mysql 5.7.5开是,Oracle又搞了一些事情,把scripts拿掉了,直接把mysql_install_db放在bin目录下了,并且从 mysqld –initialize这个脚本也是从5.7.6开始加上去的,现在的版本是5.7.19,说明这个脚本加入的时间并不是怎么长
注意,上面出错了,第一个只是warning,说明并没有错,只是在这里警告说这样执行mysql_install_db命令不是推荐的方式,给出的建议是使用mysqld –initialize 的方式
第二个的确是错误,说,必须要指定存放数据文件的目录
首先解决第一个警告
OK!没有问题,并且和 RPM一样,最后生成了一个临时密码,这个密码用来登陆Mysql,以便于对初始化的用户名的密码进行修改设置。
解决第二个错误,在这里依然使用mysql_install_db –user的方式,既然要求我们指定一个数据文件的目录,那么我们给指定一个不就行了。
OK!都是一些警告,这只是测试环境,并不是生产环境,在生产环境中,为了保证数据库宕机的可能性,一些参数必须要进行设置和指定,特别是性能和基准测试。
5、执行mysql_ssl_rsa_setup脚本进行进行密匙初始化
mysql_ssl_rsa_setup这个脚本也是从mysql 5.7.6以后加入的性特性,旨在增强安全加密连接
执行这个脚本后会生成采用RSA加密的三个文件,一个为客户端连接加密安全文件,一个为服务端连接加密安全文件,还有一个为CA认证文件
6、修改目录权限,并执行mysqld_safe脚本
可以在mysql_safe –user=msyql加一个
&
以便于在后台运行
7、拷贝配置文件并配置环境变量
8、执行自带的mysql_secure_installation命令强化安全脚本,这个脚本将会删除匿名用户
鉴于时间限制就不上传图片了
也可以进行手动删除
执行
**
三、源码安装
**
进入官方网站:https://www.mysql.com
注册账号
downloads
选择MySQL Community Edition (GPL)>>Community (GPL) Downloads >>MySQL Community Server (GPL)>>download
操作系统:Source Code
操作系统版本:Generic_Linux
1、老套路,将源码包上传之Linux服务器
说明:这里有两个包,在5.7以后,必须要有boost这个包
2、安装编译环境所需要的包和一些依赖包
3、创建必要的目录,并授权
4、执行编译命令
执行结果中出现了
并且给出了解决方法
OK!完成。重新执行上面的命令
完成!
5、编译安装
后续步骤一样,再不做说明,等的时间太长了,等不住了!
最后记:
在企业的生产环境中,追求的是稳定性,官方的二进制版本是经过了充分的验证的,虽然使用源码安装会带来性能方面的提升,但是编码复杂,如果不清楚编译的参数,依然推荐大家使用二进制的方式进行安装。
完成于2017 07 28