mysql5.7 安装部署
cd /opt
mkdir mysql
cd mysql
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
(如果提示不存在wget命令则先:yum -y install wget)
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y mysql-community-server
启动:
systemctl start mysqld.service
查看状态:
systemctl status mysqld.service
获取mysql初始密码:
grep "password is" /var/log/mysqld.log
登录
mysql -uroot -p
由于mysql首次必须设置密码,且只能设置复杂密码,所以先随便设置一个:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'G%U_SmD?k4w0';
然后查看用户变量:
SHOW VARIABLES LIKE 'validate_password%';
有些版本较低或未进行全部插件安装的MySQL,会发现如下情况:
Empty set (0.00 sec)
那么请执行如下命令安装即可:
install plugin validate_password soname 'validate_password.so';
查看后若出现如下:
我的value已修改过了!
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password.check_user_name | OFF | 选择用户名称
| validate_password.dictionary_file | |
| validate_password.length | 6 | 密码长度
| validate_password.mixed_case_count | 0 | 字母混合 0不混合
| validate_password.number_count | 1 |
| validate_password.policy | LOW | 密码策略:low低
| validate_password.special_char_count | 0 | 密码特殊字符:0无
| validate_password_check_user_name | OFF | 选择用户名称
| validate_password_dictionary_file | |
| validate_password_length | 6 | 密码长度
| validate_password_mixed_case_count | 0 | 字母混合 0不混合
| validate_password_number_count | 1 |
| validate_password_policy | LOW | 密码策略:low低
| validate_password_special_char_count | 0 | 密码特殊字符:0无
+--------------------------------------+-------+
会发现此表会比平常的mysql多!区别是中间的.和_ 所以改动的要比平常mysql多
具体修改方法如下(若没有这么多内容时,仅修改已经存在的即可!!!!!!):
设置低密码等级
set global validate_password.check_user_name=off;
set global validate_password.length=6;
set global validate_password.mixed_case_count=0;
set global validate_password.policy=low;
set global validate_password.special_char_count=0;
set global validate_password_check_user_name=off;
set global validate_password_length=6;
set global validate_password_mixed_case_count=0;
set global validate_password_policy =low;
set global validate_password_special_char_count=0;
更改密码弱口令设置,设置简单密码。
再次查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
没有问题后,设置新密码,如:123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
刷新访问权限表
flush privileges;
然后exit;退出mysql环境,再登陆一遍,验证密码修改成功。
mysql -u root -p
Enter password:
设置允许远程登录 (此步骤很关键,不然远程连接数据库会被拒绝。)
use mysql;
5.7(包括)以前用这个
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
或(5.7以后用这个)
update user set host = '%' where user = 'root';
然后查看
use mysql;
select host,user from user;
使用远程测试工具,测试是否连通MySQL