本教程适用于新装CentOS6.5升级预装MySQL5.1.x至5.7.x版本,在操作过程中将省略检查步骤。
详细操作说明和配置变动请参考 —— 【MySQL5.7-官方文档】
安装环境:CentOS6.5、MySQL5.7.16
教程内容:
MySQL版本 | 适用的系统 |
---|---|
el5, el6, el7 | Red Hat Enterprise Linux/Oracle Linux/CentOS 5, 6, or 7 |
fc24, fc25 | Fedora 24 or 25 |
sles12 | SUSE Linux Enterprise Server 12 |
在官方网站的下载选项中提供两类下载地址:
- 通用版(Generally Available (GA) Release)
- 开发版(Development Release)
考虑到运行的稳定性,作者在此将推荐下载 GA 版本。
本示例中使用的MySQL安装版本为:Red Hat Enterprise Linux 6 / Oracle Linux 6 (x86, 64-bit), RPM Bundle (440MB)
其文件名为:mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar
附:[ MySQL Community Server 下载地址 ]
CentOS6.5中预装的MySQL版本为5.1.71-1.el6
。在卸载较旧版本之前,如果您的系统中还没有用于运行mysqld
的用户名和组,那么就需要为系统添加一个mysql
用户 (并不是一定叫mysql
,也可以叫其他名称,但是需要遵循语法、操作规定)。
(1)添加mysql
组和mysql
用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
注:
groupadd
和useradd
的语法或名称在不同版本的Unix系统上可能略有不同,但在CentOS6.5中应进行如上操作。上述操作只是为了获得系统的所有权,而不是以登录为目的;使用useradd
命令和-r
和-s /bin/false
选项来创建一个没有登录权限的用户。
(2)查看系统旧版MySQL
rpm -qa | grep mysql
将会输出系统中原MySQL及其组件列表,例如:
注: 以上列表中的文件可能并不全,但是列表中的文件将会按顺序被逐个移除。
(3)卸载MySQL及其组件的顺序
注: 此处需要按依赖顺序逐个移除,否则会出现依赖包丢失或其他异常情况。
使用命令rpm -e --nodeps {-file-name}
进行移除操作:
rpm -e –-nodeps qt-mysql-4.6.2-26.el6_4.x86_64
rpm -e –-nodeps mysql-server-5.1.71-1.el6.x86_64
rpm -e –-nodeps mysql-libs-5.1.71-1.el6.x86_64
rpm -e –-nodeps mysql-devel-5.1.71-1.el6.x86_64
rpm -e –-nodeps mysql-5.1.71-1.el6.x86_64
(1)解压源文件
您可以将下载好的源文件(rpm-bundle.tar)解压至一个目录中,从而为安装做准备。
使用以下命令解压源文件到当前目录:
tar -xvf mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar
(2)安装MySQL安装顺序
使用命令rpm -ivh {-file-name}
进行安装操作:
rpm -ivh mysql-community-common-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.16-1.el6.x86_64.rpm
注:
i-install
安装;v-verbose
进度条;h-hash
哈希校验
安装完后,使用命令service mysqld start
启动MySQL服务。
由于MySQL5.7.4之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,进而进行设置密码等操作。其后版本对密码等安全相关操作进行了一些改变,在安装过程中,会在安装日志中生成一个随机密码。
使用以下命令:
grep 'temporary password' /var/log/mysqld.log
即可查询到类似于如下的一条日志记录:
2017-03-02T14:53:02.179626Z 1 [Note] A temporary password is generated for root@localhost:
!(z%ehjw4*PZ
记录中的类似于最后绿色部分的字符串即为生成的随机密码。
此时,使用MySQL生成的随机密码就能够正常登录:
使用如下命名:
mysql -uroot -p !(z%ehjw4*PZ
登录成功后,请立即修改您的密码。
注: 如果没有修改密码,系统将会提示错误:在
"ALTER USER"
操作前不会执行其他操作;并且确保修改之后的密码的安全程度能够满足MySQL的要求。推荐数字、字母和特殊符号混用。
执行以下操作配置root
用户的密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]';
Query OK, 0 rows affected (0.00 sec)
到此,基本的安装与密码配置已经结束。
另:如果想要修改密码的话,可以执行以下语句:
update mysql.user set authentication_string=password('[email protected]') where user='root';
注: 从MySQL5.7.6开始,
mysql.user
表中存储密码的字段不再是password
,而是authentication_string
。