安装 MySQL 服务器
sudo apt install mysql-server -y在 Ubuntu 上用 sudo apt install mysql-server -y安装 MySQL 后,默认不会给 root 用户设置密码。你可以直接用 sudo mysql登录,然后自己为 root 设置密码
检查服务状态
sudo systemctl status mysql如果显示 active (running),说明 MySQL 已经在运行
设置开机自启
sudo systemctl enable mysql执行安全配置
sudo mysql_secure_installation设置 root 密码
删除匿名用户
禁止 root 远程登录
删除测试数据库
重新加载权限表
Navicat远程连接
编辑配置文件:
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf找到这一行:
bind-address = 127.0.0.1把它注释掉或改成:
bind-address = 0.0.0.0保存退出后,重启 MySQL:
sudo systemctl restart mysql创造账号
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';新建一个用户,用户名也是 root,但 Host 是 %。
% 表示允许从任意 IP 地址远程连接。
效果:你可以在 Windows Navicat 上用 root/123456 连接虚拟机的 MySQL。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
=====================================================
ALL PRIVILEGES → 所有权限(增删改查、建库建表等)。
*.* → 所有数据库、所有表。
'root'@'%' → 用户 root,允许从任意 IP 登录。
WITH GRANT OPTION → 允许该用户把权限再授予别人。
FLUSH PRIVILEGES → 刷新权限表,让修改立即生效。打开防火墙
sudo ufw allow 3306/tcp