CentOS7 安装 MySQL8 、Docker 安装 MySQL8

CentOS 7 安装 MySQL8

步骤 1: 添加 MySQL Yum 存储库

首先,我们需要添加 MySQL Yum 存储库。打开终端并执行以下命令:

sudo yum install -y https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

步骤 2: 导入 MySQL GPG 公钥

查看MYSQL公钥
根据自己需要安装的MYSQL8的版本导入 MySQL 的 GPG 公钥,以确保软件包的完整性:

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

导入秘钥防止出现缺少公钥(Public key for mysql-community-client-plugins-8.0.35-1.el7.x86 64.rpm is not installed)的错误:
在这里插入图片描述

步骤 3: 安装 MySQL 8

执行以下命令来安装 MySQL 8:

sudo yum install -y mysql-community-server

如果出现密钥不适合当前软件包的错误:
在这里插入图片描述
可以通过在命令行中加入 --nogpgcheck 参数来暂时绕过 GPG 检查。

生产环境中,最好还是要确保所有软件包都经过正确的签名验证,以避免潜在的安全风险。如果可能的话,始终推荐获取并导入正确的 GPG 公钥。

sudo yum install -y mysql-community-server --nogpgcheck

出现下面日志则说明安装成功了
在这里插入图片描述

步骤 4: 启动 MySQL 服务

安装完成后,启动 MySQL 服务:

sudo systemctl start mysqld

步骤 5: 设置 MySQL 开机自启

使 MySQL 在系统启动时自动启动:

sudo systemctl enable mysqld

步骤 6: 获取初始密码

MySQL 安装完成后,初始密码会保存在日志文件中。使用以下命令查看密码:

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

步骤 7: 修改初始密码

使用以下命令登录 MySQL 并修改初始密码:

mysql -u root -p

按照提示输入初始密码,然后执行以下 SQL 语句:

# 设置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
# 刷新权限
FLUSH PRIVILEGES;

替换 'your_new_password' 为你想要设置的新密码。

MySQL8.0 创建用户、配置用户权限、添加外网访问

步骤 8: 配置 MySQL 安全性

MySQL 提供了一个脚本来加强安全性。运行以下命令:

sudo mysql_secure_installation

按照提示回答问题,选择是否更改密码策略、删除匿名用户、禁止远程 root 登录等。

步骤 9: 验证 MySQL 安装

最后,验证 MySQL 是否正确安装并正在运行:

sudo systemctl status mysqld

你应该看到 MySQL 服务正在运行的信息:
在这里插入图片描述

Docker 安装 MySQL8

1.拉取镜像

# 查看镜像
docker search mysql:8
# 拉取镜像
docker pull mysql:8.0.29

2. 创建挂载目录

# 创建目录
mkdir -p /data/mysql/{
    
    logs,conf,data}

logs:日志
conf:配置
data:数据

3. 修改配置

# 修改my.cnf配置
cd /data/mysql
vim my.cnf

添加下面配置

[mysqld]
port=13306
symbolic-links=0

skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql

pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/

4. 创建容器

这里需要注意的是MySQL8的主配置文件目录是 /etc/my.cnf,MySQL5.7的是/etc/mysql/my.cnf

docker run -d --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -p 13306:13306-v /data/mysql/my.cnf:/etc/my.cnf -v /data/mysql/logs:/var/log/mysql -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/data:/var/lib/mysql mysql:8.0.29

–name:容器名
-p:映射宿主主机端口
-v:挂载宿主目录到容器目录
-e:设置环境变量,此处指定root密码
-d:后台运行容器

查看是否创建成功:

docker ps --filter "name=mysql8"

启动时间超过1分钟基本上就是启动成功,然后把端口放开再使用连接工具测试即可。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45626288/article/details/134580066