本文环境如下:
操作系统:CentOS 6.6 64位
Mysql版本:MySQL 5.7 64位
一、 安装软件
在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ ,选择Red Hat Enterprise Linux 6 / Oracle Linux 6(Architecture Independent), RPM Package版本
下载rpm软件
wget ”https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm“
yum localinstall mysql57-community-release-el6-11.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"
1.1、卸载老板本
#rpm -qa | grep mysql
#rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps
1.2、配置YUM源
在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ ,选择Red Hat Enterprise Linux 6 / Oracle Linux 6(Architecture Independent), RPM Package版本:
点击download按钮:
对No thanks,just start my download点击鼠标右键获取链接地址:
得到链接地址为:https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
获取资源:
#wget ”https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm“
1.3、安装Mysql源
yum localinstall mysql57-community-release-el6-11.noarch.rpm
1.4、检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
1.5、选择默认MySQL安装版本
源中提供5.5,5.6,5.7,8.0三个版本的MySQL,系统默认安装的是MySQL5.7,我想安装的是8.0版本,所以更改/etc/yum.repos.d/mysql-community.repo源配置,将5.7源的enabled=1改成enabled=0。然后再将8.0源 的enabled=0改成enabled=1
#vi /etc/yum.repos.d/mysql-community.repo
修改结果如下:
1.6、安装MySQL8.0
#yum install mysql-community-server
1.7、启动MySQL服务
系统7版本的命令是systemctl,但是6版本的是service。
7版本:
#systemctl start mysqld
6版本:
#service mysqld start
1.8、查看MySQL的启动状态
7版本:
#systemctl status mysqld
6版本:
#service mysqld status
1.9、开机启动
7版本:
systemctl enable mysqld
systemctl daemon-reload
6版本:
chkconfig mysqld on
或者
vi /etc/rc.d/rc.local
增加内容:
/etc/rc.d/init.d/mysqld start
2.0、登陆数据库
#mysql -uroot –p
密码不知道(5.7以上的Mysql有临时密码,且没有重新设置后,重新启动mysql会重新给一个临时的密码。)
通过以下命令可以知道当前root的临时密码:
# grep "temporary password" /var/log/mysqld.log
使用临时密码登陆后,需要重新设置密码,命令如下:
mysql> set PASSWORD=PASSWORD('CentOS@6.6');
附录
附录A:root缺省临时密码
Mysql5.7开始,增加了很多安全性的更新,老版本的用户可能会有一些不习惯。
5.7.6版本以后,首次安装并启动Mysql数据库时,会生成一个临时密码到日志文件,如下:
cat /var/log/mysqld.log |grep password
临时密码为:;Wb4A)!o1ned
使用改密码登陆数据库,但是不能进行任何操作,提示需要先修改密码。
msql>show databases;
ERROR 1820(HY000):you must reset your password using ALTER USER STATEMENT before executing this statement;
此时修改密码会遇到验证,简单的密码会提示不符合规则:
mysql> ALTER USER ‘root@localhost’ INDENTIFIED BY ‘123’;
ERROR 1819(HY000):Your password does not statisfy the current policy requirements;
因为5.7里引入了一个validtate_password插件来检验密码强度。
默认值分别如下:
mysql>show variables like ‘vali%’;
意义如下:
validate_password_check_user_name
validate_password_dictionary_file
validate_password_length #密码的最小长度,默认为8
validate_password_mixed_case_count #至少要包含小写或者大写字母个数,默认为1
validate_password_number_count #至少要包含的数字的个数,默认为1
validate_password_policy #强度等级,可设置为0、1、2。,此处默认为1
#[0/LOW]:只检查长度
#[1/MEDIUM]:在0等级的基础上多检查数字,大小写、特殊字符
#[2/STRONG]:1等级的基础上检查特殊字符字典文件
validate_password_special_char_count #至少要包含的特殊字符的个数,默认为1.
所以,初始设置密码必须大于8位、包含数字、大小写字母、特殊字符。