1、安装前的准备:
检查系统是否已经自带了相关版本的 MySQL:
rpm -qa | grep mysql
yum list installed | grep mysql
如果存在则删除:
yum -y remove xxx
下载 yum 源:
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
安装 yum 源:
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
安装完成后在
/etc/yum.repos.d/
目录下增加了mysql-community.repo
和mysql-community-source.repo
两个文件
编辑 yum 源:
vim /etc/yum.repos.d/mysql-community.repo
将 MySQL8.0 的 enabled 设置为 0,MySQL5.7 的 enabled 设置为 1,即关闭 MySQL8.0 的 yum 源,开启 MySQL5.7 的 yum 源。
查看设置的结果:
yum repolist enabled | grep mysql
2、安装 MySQL:
安装 MySQL5.7:
yum install mysql-community-server
注意:这里不需要指定 MySQL 版本,因为前面我们进行了 MySQL 的 yum 源设置,当前开启的是 5.7 版本,即默认安装该版本。
启动并登陆 MySQL:
systemctl start mysqld
grep password /var/log/mysqld.log
重设密码:
alter user 'root'@'localhost' identified by 'xxxx';
查看密码策略规则:
show variables like 'validate_password%';
- validate_password_policy:密码安全策略,默认 MEDIUM 策略
策略 | 检查规则 |
---|---|
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_dictionary_file:密码策略文件,策略为 STRONG 才需要
- validate_password_length:密码最少长度
- validate_password_mixed_case_count:大小写字符长度,至少 1 个
- validate_password_number_count :数字至少 1 个
- validate_password_special_char_count:特殊字符至少 1 个
按需修改密码策略:
set global validate_password_policy=0;
set global validate_password_length=6;
set global validate_password_mixed_case_count=0;
set global validate_password_special_char_count=0;
再次重设密码即可。
注意:这种方法设置后重启 MySQL 就会还原,如果需要永久生效,需要设置 my.cnf 文件,添加
validate_password=off
即可。
3、安装后配置:
- 字符集设置 utf-8
vim /etc/my.cnf
添加:
[client]
default-character-set=utf8
同时在[mysqld]后面添加:
character_set_server=utf8
保存修改并重启 MySQL,登陆查看配置结果:
show variables like '%character%';
- 远程连接 MySQL
grant all privileges on *.* to root@"%" identified by "password";
flush privileges;
- 重置忘记的密码
service mysqld stop
mysqld_safe --user=root --skip-grant-tables --skip-networking &
mysql -u root
成功进入 MySQL,执行:
use mysql;
update user set password=password("new_password") where user="root";
flush privileges;
- 相关文件的位置说明
配置文件 /etc/my.cnf
存放数据库文件的目录 /var/lib/mysql
日志文件 /var/log/mysqld.log
进程文件 /var/run/mysqld/mysqld.pid
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于