Centos安装MySQL 8.0

因为我是新机器,所以随便折腾。

一、卸载现有 MySQL 并清除数据

# 停止 MySQL 服务
sudo systemctl stop mysqld

# 卸载 MySQL 所有相关组件
sudo yum remove -y mysql* mariadb*

# 删除数据库目录(⚠️会清空所有数据)
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf

✅ 二、安装 MySQL 8.0.x

# 下载 MySQL YUM 源
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

# 安装 YUM 源
sudo rpm -ivh mysql80-community-release-el7-7.noarch.rpm

# 安装 MySQL 8.0 版本
sudo yum install -y mysql-community-server

✅ 三、启动 MySQL 并获取初始密码

# 启动服务
sudo systemctl start mysqld

# 设置开机自启
sudo systemctl enable mysqld

# 获取 MySQL 初始密码
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)

你会看到一个类似这样的密码:

g;iq.!q(;0Og

✅ 四、登录 MySQL 并修改 root 密码

mysql -uroot -p
# 输入上面日志中的临时密码

然后在 MySQL 控制台中运行:

-- 设置新密码(根据密码策略要包含大小写字母、数字、特殊字符,长度≥8)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';

-- 创建远程登录用户(或允许 root 远程登录)
CREATE USER 'root'@'%' IDENTIFIED BY 'NewPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

✅ 五、修改配置允许远程连接

编辑配置文件:

sudo vi /etc/my.cnf

[mysqld] 区段中加入:

bind-address=0.0.0.0

保存退出,然后重启 MySQL:

sudo systemctl restart mysqld

✅ 六、开放防火墙 3306 端口(如果启用了防火墙)

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

❎ 七、远程连接报错Public Key Retrieval is not allowed

MySQL 8.0+ 默认的 caching_sha2_password 认证插件,而某些客户端(如 JDBC 驱动、Navicat 等)不支持自动获取密钥,所以连接失败。

本机登录MySQL后执行以下命令

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'YourPassword123!';
FLUSH PRIVILEGES;

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇