云服务器安装mysql
安装开发环境
yum -y groupinstall "Development tools" # 会自动下载很多开发工具
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel
mysql安装
1.前往/home/路径下
cd /home/
2.下载mysql 5.7
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
3.安装mysql 5.7
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum install mysql-community-server --nogpgcheck
4.启动MySQL5.7 并查看启动状态
systemctl start mysqld.service # 启动服务
systemctl status mysqld.service # 查看启动状态](https://imgse.com/i/zVUOkF)
出现上图所示active(running)即启动成功
5.查看默认密码并登陆
grep "password" /var/log/mysqld.log
下图框住的为密码(: 后的全为密码)
mysql -uroot -p 登陆
6.修改密码和本地密码策略
*在修改本地密码策略前必须先设置一个自己的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
(new password为你新设的密码,由于此时密码策略较高需要设置的复杂一些,包含大小写字母和特殊字符)
在mysql中输入以下命令来查看当前密码策略:
show variables like 'validate%';
会得到以下结果:
*在mysql8.0中修改密码的变量名变了,使用validate_password.policy,mysql8.0之前仍然为validate_password_policy
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | ON |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
关于 mysql 密码策略相关参数:
1)validate_password_length 固定密码的总长度;
2)validate_password_dictionary_file 指定密码验证的文件路径;
3)validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
- 0——LOW:只验证长度;
- 1——MEDIUM:验证长度、数字、大小写、特殊字符;
- 2——STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
(按照你所设置的密码策略来输入你的新密码,即new password)
后续远程连接服务器数据库遇到的问题及解决方法
报错"Password authentication failed"
问题描述:
使用Navicat连接MySQL数据库,配置连接信息时报错“Password authentication failed”
解决方法:
1.vim /etc/ssh/sshd_config
2.将PasswordAuthentication设成yes
3.将PermitRootLogin 设置成yes
4.22端口是否放开
*如果还无法成功连接,可能是因为连接信息输入的是数据库用户名和密码,配置SSH连接信息需要填的是服务器的用户名和密码!!!
报错"Host is not allowed to connect to this MySQL server"
问题描述:
数据库远程连接出现Host is not allowed to connect to this MySQL server
解决方法:
先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:
1.在装有MySQL的机器上登录MySQL mysql -u root -p密码
2.执行use mysql;
3.执行update user set host = ‘%’ where user = ‘root’;
4.执行FLUSH PRIVILEGES;
5.经过上面4步,就可以解决这个问题了。
MySQL的机器上登录MySQL mysql -u root -p密码
2.执行use mysql;
3.执行update user set host = ‘%’ where user = ‘root’;
4.执行FLUSH PRIVILEGES;
5.经过上面4步,就可以解决这个问题了。
*第四步是刷新MySQL的权限相关表,一定不要忘了!