看完本教程后,你将会在Centos服务器器上成功安装Mysql5.7 , 并修改Mysql5.7的密码,以及密码的相关配置
准备环境
centos服务器
步骤
1. 选择合适的RPM
选择合适的RPM 复制下载链接2.下载RPM包
wget https://dev.mysql.com/get/mysql57-community-release-el6-10.noarch.rpm
这个链接是下载centos6 mysql5.7的,有需要的其他mysql版本或服务器的请将wget 后的链接更换为相对应的链接
3.安装本地仓库
sudo yum localinstall mysql57-community-release-el6-*.noarch.rpm
4.安装mysql数据库
sudo yum install mysql-community-server
5.启动数据库
sudo service mysqld start
6.设置开机启动
sudo chkconfig mysqld on
查看是否设置成功
chkconfig --list mysqld
修改数据库密码
Mysql5.7在启动数据的时候会生成一个默认的密码,通过/var/log/mysql.log文件可以查看默认生成的密码
1.查看默认生成的密码
cat /var/log/mysql.log | grep password
若没有, 则先初始化数据库,输入 mysqld -u root
2.进入数据库
mysqld -u root -p
然后输入默认密码
3.修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password;'
Mysql5.7有密码检验插件,要输入至少8位,必须含有数字,小写或大写字母,特殊字符的密码。需要修改策略请见常见问题。
远程连接mysql数据库
1.修改my.cnf(/etc/my.cnf)文件
注释bind-address = 127.0.0.1
这句
2. 重启服务器
service mysqld restart
3. 进入数据库设置权限
mysql -uroot -p
grant all privileges on *.* to 'root'@'%' identified by 'password';
flush privileges;
- 第一个*是数据库,可以改成允许访问的数据库名称
- 第二个 是数据库的表名称,代表允许访问任意的表
- root代表远程登录使用的用户名,可以自定义
- %代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
- password代表远程登录时使用的密码,可以自定义
-
flush privileges;
这是让权限立即生效
4.链接远程服务器
mysql -h 远程服务器ip -u root -p
输入密码即刻成功链接。
tips:
若服务器还是拒绝连接,请检查防火墙是否关闭,或者添加规则 **
例如centos6:
iptables -A INPUT -p tcp -m tcp --dport 3360 -j ACCEPT
执行命令添加防火墙规则
常见问题
1.Access denied for user 'root'@'localhost' (using password: NO)
mysql -u root -p
需要-p
2.Access denied for user 'root'@'localhost' (using password: YES)
默认密码输入错误,检查默认密码是否输入正确
3.You must reset your password using ALTER USER statement before executing this statement.
mysql5.7进入数据库后,需要修改密码才能进行操作
4.Your password does not satisfy the current policy requirements
密码符合修改的策略(默认至少8位,必须含有数字,小写或大写字母,特殊字符)
- 查看策略
SHOW VARIABLES LIKE 'validate_password%';
- 配置策略
配置强度
set global validate_password_policy=0;
Policy | Tests Performed |
---|---|
0 or LOW | Length |
1 or MEDIUM Length | numeric, lowercase/uppercase, and special characters |
2 or STRONG Length; | numeric, lowercase/uppercase, and special characters dictionary file |
validate_password_number_count 指定了密码中数据的长度,
validate_password_special_char_count 指定了密码中特殊字符的长度,
validate_password_mixed_case_count 指定了密码中大小字母的长度。
- 设置密码长度
set global validate_password_length=1;
密码长度默认最少位数为4位,
最少位数与validate_password_special_char_count,validate_password_mixed_case_count有关
- 关闭密码策略
在/etc/my.cnf最后一行添加
validate_password = off
并重启数据库
server mysqld restart
网友评论