一、安装配置MySQL的yum源
# 安装MySQL的yum源,下面是RHEL6系列的下载地址
rpm -Uvh https://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
# 安装yum-config-manager
yum install yum-utils -y
# 禁用MySQL5.6的源
yum-config-manager --disable mysql56-community
# 启用MySQL5.7的源
yum-config-manager --enable mysql57-community-dmr
# 用下面的命令查看是否配置正确
yum repolist enabled | grep mysql
二、yum安装MySQL5.7
yum install mysql-community-server
三、启动MySQL
# 禁用selinux
setenforce 0 sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
# 启动mysqld,启动之前先修改/etc/my.cnf配置文件,
本文用默认的配置。
service mysqld start
四、连接MySQL并修改密码
输入mysql,无法登陆,按以下操作
#1.停止mysql数据库
service mysqld stop
#2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
#3.使用root登录mysql数据库
mysql -u root mysql
#4.更新root密码
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
#最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
#5.刷新权限
mysql> FLUSH PRIVILEGES;
#6.退出mysql
mysql> quit
#7.重启mysql
service mysqld stop
#8.使用root用户重新登录mysql
mysql -uroot -p
Enter password: <输入新设的密码newpassword>
注意问题
1.密码过于简单
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
如果MySQL数据库用户的密码设置过于简单,数据库在用户登录后会提示重置密码,并且不接受简单的密码。
Mysql数据库版本:5.7.1
操作系统:CentOS 7
这个问题是否奇怪,因为明明是刚刚用密码登录了mysql服务器。怎么要重置密码呢?因为密码太简单了,不符合MySQL的安全要求。
参考官方的文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。重置用户密码操作:
mysql> SET PASSWORD = PASSWORD('123456'); //123456 是重置的新密码
以上操作后又遇到新问题:
ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。
又参考了官方文档,见
http://dev.mysql.com/doc/refman/5.7/en/validate-password-plugin.html。
应该是密码过于简单了。 后来用大写字母+数字+特殊字符混合了一个密码。重置密码成功!
以后操作,没有再出现上述问题。
注意:如果只想设置简单密码需要修改两个全局参数:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;