Centos7下yum安装MySQL5.7
1.卸载Centos7中默认安装的MariaDB
查询
rpm -qa | grep MariaDB
卸载
yum -y remove MariaDB*
2.下载MySQL的yum源的安装包
wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
3.安装下载的MySQL yum源
yum localinstall mysql57-community-release-el7-9.noarch.rpm
检查MySQL yum源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
MySQL的yum源安装成功以后,会在/etc/yum.repos.d/生成两个文件:
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
4.yum安装MySQL
yum install mysql-community-server -y
如果遇到报错:
Install 4 Packages (+2 Dependent packages)
Total size: 224 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-libs-5.7.44-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.
Failing package is: mysql-community-libs-5.7.44-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
就执行:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
后再安装
yum install mysql-community-server -y
5.启动MySQL
systemctl start mysqld
查看状态
systemctl status mysqld
6.设置MySQL开机自启动
systemctl enable mysqld
systemctl daemon-reload
7.修改MySQL的root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。找到默认密码,然后登录mysql进行修改密码:
# cat /var/log/mysqld.log | grep "temporary password"
# mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyPWD@123456';
或者
mysql> set password for 'root'@'localhost'=password('MyPWD@123456');
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
查看MySQL的密码策略:
mysql> show variables like '%password%';
8.修改/etc/my.cnf配置文件,根据实际需要修改,配置修改后需要重启MySQL
# vim /etc/my.cnf
# 修改密码策略为LOW
# 0(LOW), 1(MEDIUM), 2(STRONG)。如果选择2,必须提供密码字典文件
validate_password_policy=0
#如果要禁用密码策略,则增加配置
validate_password=off
#配置字符编码
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
8.添加远程登录用户
mysql> CREATE USER 'frank'@'localhost' IDENTIFIED BY '123456';
或
mysql> CREATE USER 'frank'@'localhost' IDENTIFIED BY '';
或
mysql> CREATE USER 'frank'@'%' IDENTIFIED BY '123456';
用户授权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'frank'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
或
mysql> GRANT SELECT, INSERT ON *.* TO 'frank'@'localhost';
mysql> flush privileges;
9.其他命令
删除用户
mysql> DROP USER 'username'@'localhost';
mysql> DROP USER 'username'@'%';
设置和修改用户密码
mysql> SET PASSWORD FOR 'frank'@'localhost' = PASSWORD("123456");
mysql> SET PASSWORD FOR 'frank'@'%' = PASSWORD("123456");
查看用户的授权
mysql> show grants for dog@localhost;