手把手教你Linux安装MySQL 8.0(避开99%新手会踩的坑)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(图片占位说明)

前言:为什么选择MySQL 8.0?

MySQL 8.0绝对是当下最香的数据库版本(没有之一!),性能提升30%+,支持窗口函数、CTE表达式,还有更安全的密码策略。但很多小伙伴在安装时总是遇到各种妖魔鬼怪,今天老司机带你飙车,保证一次成功!

一、准备工作(重要!)

  1. 检查系统版本
    cat /etc/redhat-release(CentOS/RHEL)
    cat /etc/lsb-release(Ubuntu/Debian)
    MySQL 8.0要求系统GLIBC版本≥2.17,用ldd --version确认

  2. 清理历史残留

    # 卸载旧版本全家桶
    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*
    
  3. 防火墙放行

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

二、安装步骤(跟着做别眨眼!)

方法1:YUM仓库安装(推荐新手)

  1. 添加官方仓库

    # 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
    
  2. 开始安装

    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

三、安全配置(千万别跳过!)

  1. 启动服务

    sudo systemctl start mysqld
    sudo systemctl enable mysqld
    
  2. 查看初始密码

    sudo grep 'temporary password' /var/log/mysqld.log
    
  3. 运行安全脚本

    mysql_secure_installation
    

    重点选项

    • 修改root密码(必须包含大小写+数字+符号)
    • 删除匿名用户(选Y!)
    • 禁止远程root登录(生产环境必选)
    • 删除测试数据库(选Y!)

四、远程访问设置(避坑重点!)

  1. 创建远程用户

    CREATE USER 'devuser'@'%' IDENTIFIED BY 'P@ssw0rd!';
    GRANT ALL PRIVILEGES ON *.* TO 'devuser'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
  2. 修改配置文件

    sudo vim /etc/my.cnf
    

    添加:

    [mysqld]
    bind-address = 0.0.0.0
    default_authentication_plugin=mysql_native_password  # 兼容老程序
    
  3. 重启服务

    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

六、常见报错大全(收藏备用!)

  1. ERROR 2002 (HY000)

    sudo chown -R mysql:mysql /var/lib/mysql
    sudo systemctl restart mysqld
    
  2. 密码策略修改

    SET GLOBAL validate_password.policy = LOW;
    ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码';
    
  3. 连接数爆满

    SHOW VARIABLES LIKE 'max_connections';
    SET GLOBAL max_connections = 2000;
    

结语

安装MySQL 8.0就像搭乐高,步骤对了就能完美拼装。记得生产环境一定要做:

  1. 定期备份(mysqldump + binlog)
  2. 开启慢查询日志
  3. 配置监控(推荐Prometheus+mysqld_exporter)

遇到问题别慌,先看/var/log/mysqld.log这个宝藏日志文件。如果还搞不定,欢迎留言区call我,看到必回!🎉

彩蛋:输入mysql> SHOW VARIABLES LIKE '%version%';
看到8.0.33版本号的那一刻,是不是成就感爆棚?😎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值