centos7 安装 Mysql 5.7.28


下载 MySQL yum包

wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

安装MySQL源

rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

安装MySQL服务端

yum install -y mysql-community-server

如果遇到报错:

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

导入GPG Keys

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

启动MySQL

systemctl start mysqld.service

检查是否启动成功

systemctl status mysqld.service

获取临时密码,MySQL5.7为root用户随机生成了一个密码

grep 'temporary password' /var/log/mysqld.log

通过临时密码登录MySQL,进行修改密码操作

mysql -uroot -p

使用临时密码登录后,不能进行其他的操作,否则会报错,这时候我们进行修改密码操作

修改MySQL的密码规则

因为MySQL的密码规则需要很复杂,我们一般自己设置的不会设置成这样,所以我们全局修改一下,测试环境随意,正式环境自行选择是否设置

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

这时候我们就可以自己设置想要的密码了

ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';

授权其他机器远程登录

正式环境谨慎授权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
 
FLUSH PRIVILEGES;

开启开机自启动

systemctl enable mysqld
systemctl daemon-reload

设置MySQL的字符集为UTF-8,令其支持中文

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-storage-engine=INNODB
character_set_server=utf8mb4
 
symbolic-links=0
 
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

重启一下MySQL,令配置生效

service mysqld restart

防火墙开放3306端口

正式环境谨慎使用

firewall-cmd --state
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

卸载MySQL仓库

一开始的时候我们安装的yum,每次yum操作都会更新一次,耗费时间,我们把他卸载掉

rpm -qa | grep mysql
yum -y remove mysql57-community-release-el7-10.noarch

数据库的操作命令

  • 查看mysql是否启动:service mysqld status

  • 启动mysql:service mysqld start

  • 停止mysql:service mysqld stop

  • 重启mysql:service mysqld restart


本文不允许转载。
  目录