手把手教你Linux安装MySQL 8.0(附避坑指南)!!!

兄弟们!今天要给大家分享的是Linux环境下安装MySQL 8.0的完整攻略(绝对保姆级教程)。别小看这个安装过程,我当初可是踩了无数坑(说多了都是泪),特别是新版本的那些隐藏配置,简直让人抓狂!准备好了吗?咱们开整!

🛠️ 环境准备(超级重要)

先报下我的实验环境:

  • 系统:CentOS 7.6(其他发行版也适用)
  • 内存:建议2G以上
  • 磁盘:20G可用空间

(注意!!!)MySQL 8.0对系统要求比旧版本高很多,特别是内存不足会导致安装失败。我之前在1G内存的机器上试了三次都挂了,血的教训!

📦 安装步骤(一步步跟着走)

第一步:卸载残留组件

很多同学安装失败都是因为旧版本没删干净!运行这串命令:

sudo yum remove mysql* mariadb* -y
sudo rm -rf /var/lib/mysql/
sudo rm -rf /etc/my.cnf

(重要提醒)如果之前装过MySQL,一定要执行这个清理步骤!我就遇到过两次因为残留配置导致启动失败的情况

第二步:配置官方仓库

直接使用yum安装可能版本太旧,咱们直接上官方源:

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm

第三步:开始安装

激动人心的时刻到了!执行:

sudo yum install mysql-community-server -y

这个环节可能会卡在下载进度,如果网速慢可以喝杯咖啡等等(别问我怎么知道的)

第四步:启动服务

安装完成后启动服务:

sudo systemctl start mysqld
sudo systemctl enable mysqld

(关键点)第一次启动会自动生成临时密码,必须马上记下来!

第五步:获取初始密码

查看生成的随机密码:

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

输出类似这样:

2023-07-20T03:25:01.234567Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Abcdefg123! 

最后的Abcdefg123!就是你的初始密码(赶紧复制保存!)

🔐 安全配置(必做步骤)

登录MySQL:

mysql -uroot -p

输入刚才的临时密码

进来后立即修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!';

(注意!!!)MySQL 8.0的密码策略超严格,必须包含大小写字母+数字+特殊符号,长度至少8位。我之前设了简单密码被拒绝五次…

⚙️ 常用配置调优

修改配置文件:

sudo vim /etc/my.cnf

推荐添加这些配置:

[mysqld]
default-authentication-plugin=mysql_native_password  # 兼容旧版本连接
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
max_connections=1000
innodb_buffer_pool_size=1G  # 根据内存调整

改完配置记得重启服务:

sudo systemctl restart mysqld

💻 远程连接配置(开发必备)

默认只能本地连接,要开远程访问:

CREATE USER 'developer'@'%' IDENTIFIED BY 'StrongPass123!';
GRANT ALL PRIVILEGES ON *.* TO 'developer'@'%';
FLUSH PRIVILEGES;

(安全警告)生产环境不建议开%访问,最好指定IP段!

🚨 常见问题排雷

问题1:启动失败报错

如果遇到Failed to start mysqld.service,检查:

  1. 磁盘空间是否足够
  2. 查看/var/log/mysqld.log具体错误
  3. SELinux是否关闭(临时关闭:setenforce 0)

问题2:密码策略太严格

想降低密码复杂度可以(不建议生产环境使用):

SET GLOBAL validate_password.policy=LOW;
SET GLOBAL validate_password.length=4;

问题3:客户端连接报加密错误

在my.cnf添加:

default_authentication_plugin=mysql_native_password

🎯 终极验证

最后来个全面检查:

mysql -uroot -p -e "STATUS;"  # 查看运行状态
sudo systemctl status mysqld   # 检查服务状态
netstat -antp | grep 3306      # 确认端口监听

(大功告成)现在你的MySQL 8.0应该已经正常运行了!如果还有问题,欢迎评论区留言,看到必回!顺便求个三连,创作不易啊各位~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值