centos7 使用 yum 安装 MySQL5.7

本贴最后更新于 2239 天前,其中的信息可能已经沧海桑田

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.repomysql-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%';
  1. 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
  1. validate_password_dictionary_file:密码策略文件,策略为 STRONG 才需要
  2. validate_password_length:密码最少长度
  3. validate_password_mixed_case_count:大小写字符长度,至少 1 个
  4. validate_password_number_count :数字至少 1 个  
  5. 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

  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    692 引用 • 535 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
simon
做一个幸福的人,读书、旅行、努力工作,关心身体和心情 上海