文章目录
(图片占位说明)
前言:为什么选择MySQL 8.0?
MySQL 8.0绝对是当下最香的数据库版本(没有之一!),性能提升30%+,支持窗口函数、CTE表达式,还有更安全的密码策略。但很多小伙伴在安装时总是遇到各种妖魔鬼怪,今天老司机带你飙车,保证一次成功!
一、准备工作(重要!)
-
检查系统版本
cat /etc/redhat-release
(CentOS/RHEL)
cat /etc/lsb-release
(Ubuntu/Debian)
MySQL 8.0要求系统GLIBC版本≥2.17,用ldd --version
确认 -
清理历史残留
# 卸载旧版本全家桶 sudo yum remove mysql* mariadb* -y 2>/dev/null sudo apt purge mysql* mariadb* -y 2>/dev/null # 删残留文件(重要!) rm -rf /var/lib/mysql/ /etc/my.cnf*
-
防火墙放行
sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
二、安装步骤(跟着做别眨眼!)
方法1:YUM仓库安装(推荐新手)
-
添加官方仓库
# CentOS/RHEL sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm # Ubuntu/Debian wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
-
开始安装
sudo yum install mysql-community-server -y # CentOS sudo apt install mysql-server -y # Ubuntu
方法2:二进制包安装(适合定制化需求)
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.17-x86_64.tar.xz
tar -xvf mysql-8.0.33-*.tar.xz
sudo mv mysql-8.0.33-* /usr/local/mysql
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /usr/local/mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
bin/mysqld --initialize --user=mysql
bin/mysql_ssl_rsa_setup
三、安全配置(千万别跳过!)
-
启动服务
sudo systemctl start mysqld sudo systemctl enable mysqld
-
查看初始密码
sudo grep 'temporary password' /var/log/mysqld.log
-
运行安全脚本
mysql_secure_installation
重点选项:
- 修改root密码(必须包含大小写+数字+符号)
- 删除匿名用户(选Y!)
- 禁止远程root登录(生产环境必选)
- 删除测试数据库(选Y!)
四、远程访问设置(避坑重点!)
-
创建远程用户
CREATE USER 'devuser'@'%' IDENTIFIED BY 'P@ssw0rd!'; GRANT ALL PRIVILEGES ON *.* TO 'devuser'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
-
修改配置文件
sudo vim /etc/my.cnf
添加:
[mysqld] bind-address = 0.0.0.0 default_authentication_plugin=mysql_native_password # 兼容老程序
-
重启服务
sudo systemctl restart mysqld
五、卸载大法(希望你别用到)
sudo systemctl stop mysqld
sudo yum remove mysql-server -y
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf*
sudo rm -rf /var/log/mysqld.log
六、常见报错大全(收藏备用!)
-
ERROR 2002 (HY000)
sudo chown -R mysql:mysql /var/lib/mysql sudo systemctl restart mysqld
-
密码策略修改
SET GLOBAL validate_password.policy = LOW; ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码';
-
连接数爆满
SHOW VARIABLES LIKE 'max_connections'; SET GLOBAL max_connections = 2000;
结语
安装MySQL 8.0就像搭乐高,步骤对了就能完美拼装。记得生产环境一定要做:
- 定期备份(mysqldump + binlog)
- 开启慢查询日志
- 配置监控(推荐Prometheus+mysqld_exporter)
遇到问题别慌,先看/var/log/mysqld.log
这个宝藏日志文件。如果还搞不定,欢迎留言区call我,看到必回!🎉
彩蛋:输入
mysql> SHOW VARIABLES LIKE '%version%';
看到8.0.33版本号的那一刻,是不是成就感爆棚?😎