在 Debian 系统上安装 MySQL 8,推荐使用 官方 APT 仓库,这是最稳定、版本最新的方式。下面按步骤详细说明(适用于 Debian 11/12)。
如果之前安装过 MariaDB 或旧版 MySQL,建议先清理:
sudo apt remove --purge mysql* mariadb* -y
sudo apt autoremove -y
sudo rm -rf /etc/mysql /var/lib/mysql
wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
版本号可能会更新,官方页面 可查最新版
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb
安装过程中会弹出菜单:
mysql-8.0完成后更新软件源:
sudo apt update
sudo apt install mysql-server -y
安装过程中会:
mysql 用户sudo mysql_secure_installation
会依次询问:
密码强度策略
LOW / MEDIUM / STRONG
(新手建议 LOW 或 MEDIUM)
设置 root 密码
移除匿名用户
✅ 建议选 Y
禁止 root 远程登录
✅ 建议选 Y(日常管理用普通用户)
删除 test 数据库
✅ 建议选 Y
刷新权限表
✅ 选 Y
sudo systemctl status mysql
正常应看到:
Active: active (running)
登录测试:
sudo mysql -u root -p
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到:
bind-address = 127.0.0.1
改为:
bind-address = 0.0.0.0
保存后重启:
sudo systemctl restart mysql
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
sudo ufw allow 3306/tcp
sudo ufw reload
# 启动
sudo systemctl start mysql
# 停止
sudo systemctl stop mysql
# 重启
sudo systemctl restart mysql
# 开机自启
sudo systemctl enable mysql
Access deniedDebian 默认使用 auth_socket,换为密码登录:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
mysql --version
如果你告诉我:
我可以给你一份 更精简或更符合你用途的安装方案 ✅