logo  

运维备忘录

运维备忘录
作者: 陈安廉

摘要:软件开发进阶系列


阿里云centos8安装mysql5.7


2021-06-18 17:59:13

一、检查系统环境

1、检查Centos版本

[root@iZwz91ua0udzucg7foj0ffZ ~]# cat /etc/redhat-release
CentOS Linux release 8.3.2011


2、检查是否安装过MySQL

[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# systemctl status mysqld.service
Unit mysqld.service could not be found.


显示系统没有安装过MySQL

检查一下my.cnf配置文件,发现没有配置文件

[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# find / -name my.cnf
[root@iZ8vb5ha9qczjmh83yzk6zZ ~]#




二、下载并安装MySQL

1、下载MySQL官方的Yum Repository

[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm



2、安装Yum Repository

[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm


3、安装MySQL

[root@iZwz91ua0udzucg7foj0ffZ mysql]# yum -y install mysql-community-server

安装时报错,All matches were filtered out by modular filtering for argument: mysql-community-server


Error: Unable to find a match: mysql-community-server


解决办法:先执行 yum module disable mysql,然后再执行yum -y install mysql-community-server


https://blog.csdn.net/Dreamlike_/article/details/108449205



报错:

Public key for mysql-community-common-5.7.42-1.el7.x86_64.rpm is not installed


 Failing package is: mysql-community-common-5.7.42-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


4、卸载Yum Repository

由于每次 yum 操作都会自动更新,需要把这个卸载掉

[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# yum -y remove mysql57-community-release-el7-10.noarch


三、配置MySQL

1、查看MySQL状态


[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# systemctl status mysqld.service


2、启动MySQL

[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# systemctl start mysqld.service


3、登录MySQL

此时MySQL已经开始正常运行,不过想要登录MySQL还得先找出此时root用户的密码

[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# grep "password" /var/log/mysqld.log


临时密码是iIn>yP=iE1&q



[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# mysql -uroot –p


Enter password:iIn>yP=iE1&q

必须修改默认密码之后才能操作数据库,密码设置必须包含大小写字母、数字和特殊字符,不然修改密码失败

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL%57';

四、开启MySQL远程访问

执行以下命令开启远程访问限制(注意:下面命令开启的是%代表所有用户,如要开启某一个IP,用IP代替%)


mysql> grant all privileges on *.* to 'root'@'%' identified by '1qazXSW@15626141631' with grant option;



执行刷新命令

mysql> flush privileges;


五、在防火墙中添加3306端口

[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# firewall-cmd --zone=public --add-port=3306/tcp –permanent

firewall-cmd --permanent --add-port=6859/tcp
firewall-cmd --reload

六、修改配置文件

登录MySQL,输入status,发现服务器的字符编码是latin1

需要将字符编码修改为utf8

修改配置文件my.cnf

查找my.cnf所在目录

[root@iZ8vb5ha9qczjmh83yzk6zZ ~]# find / -name my.cnf

进入文件后,新增以下代码

[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

保存my.cnf后,重启MySQL

[root@iZ8vb5ha9qczjmh83yzk6zZ ~]#  systemctl restart mysqld.service

进入mysql,输入 show variables like "%char%"; 查看当前数据库编码:





常用命令