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'
为你想要设置的新密码。
步骤 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分钟基本上就是启动成功,然后把端口放开再使用连接工具测试即可。