(centos7 部署 Mysql 5.7)

一、安装

2.1 环境准备

1、查看系统自带或之前安装的 mariadb。

rpm -qa | grep mariadb


2、卸载它们

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64


3、再看一下之前有没有安装过mysql

rpm -qa | grep mysql

如果没有这里不会有任何的返回,如果有则会返回安装的mysql。这里的mysql如果是我们需要安装的那下面的不用看了,直接使用即可。但!如果不是,让我们愉快的卸载它。

rpm -e --nodeps 上面命令列出的mysql

2.2 开始安装

2.2.1 安装源

1、下载rpm源
2、安装rpm源

rpm -Uvh mysql80-community-release-el7-3.noarch.rpm


3、检查安装是否成功

yum repolist enabled | grep "mysql.*-community.*"


运行该命令即可看到mysql相关的资源:

在这里插入图片描述

2.2.2 版本选择

MySQL默认安装的是当前最新版本,若不是我们需要的版本,则需要进行切换。
1、查看当前源中所有的MySQL版本

 yum repolist all | grep mysql


运行该命令应该看到类似下面的界面

在这里插入图片描述
2、将 MySQL 8.0 切换为 MySQL 5.7

yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community


3、检查切换结果

yum repolist enabled | grep mysql


应该看到一下类似界面:

在这里插入图片描述

2.2.3 安装 MySQL

1、运行命令

sudo yum install mysql-community-server


该命令结束应该看到下面界面,然后输入 “Y” 确定安装。

在这里插入图片描述

该命令会安装MySQL服务器 (mysql-community-server) 及其所需的依赖、相关组件,包括mysql-community-client、mysql-community-common、mysql-community-libs等

网速不够下载会很久,像这样 20kb/s 有点顶不住🤣

在这里插入图片描述
这里有一个可能遇到的错误:

  • 安装时爆出下面的错误 在这里插入图片描述
    继续运行代码

    sudo yum install mysql-community-server
    


    仍然会报错: 在这里插入图片描述 这种错误一般是因为没有单独的签名造成的,我们继续运行下面的代码直接从 URL 加载密钥:

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


之后再次进行安装

sudo yum install mysql-community-server


安装成功

在这里插入图片描述
2、启动 MySQL 服务

 systemctl start mysqld.service


3、查看MySQL服务状态

 systemctl status mysqld.service


可以看到以下界面

在这里插入图片描述

ok,到此MySQL安装完成。

二、MySQL 设置

安装完MySQL后,我们还要对其进行必要的设置,这些设置有助于我们更好的进行使用数据库。

2.1 密码设置

MySQL 首次启动会创建超级管理员账号,初始的密码保存在 /var/log/mysqld.log文件中。
1、修改密码

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


该命令会显示以下界面

在这里插入图片描述
最后的内容是我们的初始账号和密码: 账号:root 密码:wK?C6gnckepd

好了,这个密码太复杂了,我记不住。下面我们修改它~

mysql -uroot -p
#输入那个复杂的密码 我这里是wK?C6gnckepd


ok,我们这个时候进入到了MySQL的客户端,看到了我们熟悉的界面

在这里插入图片描述
输入修改密码的代码

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


出现提示:Your password does not satisfy the current policy requirements
what?嫌我密码太简单?我们修改 /etc/my.cnf 文件,添加validate_password=OFF。(测试环境使用,生产环境建议使用默认的密码格式,密码不宜太过简单)

vim /etc/my.cnf
#添加 validate_password=OFF 进文件,保存退出


修改配置文件后,重启MySQL

sudo systemctl restart mysqld.service


再次修改密码

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


这次没有任何意外,修改成功

在这里插入图片描述

2.2 远程访问账户设置

初次安装后,我们的root账户仅支持本地访问,相信细心的人已经发现了,我们的默认账户是 root@localhost。

现在我们要允许它可以远程访问,输入以下代码(生产环境不建议设置root可远程访问

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
 #刷新权限
FLUSH PRIVILEGES;


ok,界面如下:

在这里插入图片描述

2.3 设置开机启动

systemctl enable mysqld
systemctl daemon-reload