前言:为什么MySQL 8.0是必选项?
最近帮学弟配置服务器时(说多了都是泪),发现很多新手还在用MySQL 5.7!不是说5.7不好,但MySQL 8.0的性能提升可不是一星半点——查询速度提升2倍、支持窗口函数、更安全的密码策略…(真香警告)不过安装过程确实比旧版复杂亿点点,今天咱们就来手把手搞定它!
一、准备工作(超级重要!!!)
1.1 环境检查三连击
# 查看系统版本(建议用CentOS 7+或Ubuntu 20.04+)
cat /etc/os-release
# 检查现存MySQL(发现残留立即清除!)
rpm -qa | grep mysql
# 内存要2G以上(实测1G会卡成PPT)
free -h
1.2 依赖全家桶安装
# CentOS
yum install -y libauthz libnuma openssl-devel
# Ubuntu
apt-get install libncurses5 libtinfo5 -y
二、官方源配置(千万别用野源!)
2.1 添加MySQL官方仓库
# 适用于CentOS 7
wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
rpm -ivh mysql80-community-release-el7-6.noarch.rpm
# 检查是否添加成功(看到mysql80字样就对啦)
ls /etc/yum.repos.d/ | grep mysql
三、安装核心操作
3.1 一键安装命令
# CentOS
yum install mysql-community-server -y --nogpgcheck
# Ubuntu
apt-get install mysql-server -y
3.2 启动服务(这步容易翻车!)
systemctl start mysqld
# 检查状态的正确姿势(看到active才算成功)
systemctl status mysqld | grep Active
四、初始化配置(拿小本本记好)
4.1 查看临时密码
grep 'temporary password' /var/log/mysqld.log
# 输出示例:A temporary password is generated for root@localhost: XGqk7?eQw9kf
4.2 安全配置向导
mysql_secure_installation
这里要特别注意:
- 修改密码强度要求(想用简单密码看这里!)
SET GLOBAL validate_password.policy=LOW;
4.3 创建远程用户(开发必备)
CREATE USER 'devuser'@'%' IDENTIFIED BY 'YourPwd123!';
GRANT ALL PRIVILEGES ON *.* TO 'devuser'@'%';
FLUSH PRIVILEGES;
五、防火墙配置(80%连不上的原因在这!)
# CentOS
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
# Ubuntu
ufw allow 3306
六、常见报错急救包
6.1 ERROR 1045 (28000)
# 解决方案:重置root密码
systemctl stop mysqld
mysqld_safe --skip-grant-tables &
mysql -u root
# 执行密码重置语句...
6.2 无法启动服务
# 查看错误日志(非常重要!)
tail -n 50 /var/log/mysqld.log
# 常见原因:数据目录权限问题/selinux未关闭
结语:MySQL 8.0的正确打开方式
安装完成后强烈建议:
- 立即创建数据库备份(别问我怎么知道的)
- 定期检查慢查询日志
- 关注官方安全更新(血泪教训!)
最后送大家一句话:MySQL装得好,头发掉得少!遇到问题欢迎评论区battle~