1. 需要从官网下载对应的rpm包
MySQL :: Download MySQL Community Server
2. 将下载后的tar包上传至服务器进行解压
tar -xf mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar
3. 对解压后的rpm包进行本地安装
yum localinstall mysql/*
4. 修改/etc/my.cnf文件
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
default-time-zone = '+8:00'
symbolic-links=0
port=3306
bind-address=0.0.0.0
log_bin = mysql-bin
server-id = 100
expire_logs_days = 10
max_binlog_size = 100M
sync_binlog = 1
binlog_checksum = none
binlog_format = mixed
binlog_cache_size = 32M
max_connections = 1000
slow_query_log=on
long_query_time=1
skip-host-cache
skip-name-resolve
lower_case_table_names=1
character-set-server=utf8
max_allowed_packet=100M
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
skip-grant-tables #无密码登录
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
5. 修改后启动数据库
service mysqld start
6. 重启数据库
service mysqld restart
7. 连接mysql
mysql -uroot -p 回车无密码登录
8. 修改用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ccitest@0428';#设置密码
flush privileges;#刷新权限
9.改回使用用户名密码登录的方式
注释/etc/my.cnf 的skip-grant-tables参数
10.登录数据库给root用户赋权,方便远程登录。
grant all privileges on *.* to 'root'@'%' identified by 'Ccitest@0428';
过程中遇到的问题:
在初次登录数据库时,修改用户权限会报错提示密码过于简单
解决方式:
(1)查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
(2)设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可
set global validate_password_policy=LOW;
(3)设置密码长度 按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate_password_length=6; ” 进行设值
(4)再为 mysql 设置简单密码,只要满足六位的长度即可,
输入修改语句 “ ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ” 可以看到修改成功,表示密码策略修改成功了