1. 更新系统包列表
打开终端,运行以下命令更新系统包列表,确保能获取到最新的软件包信息。
sudo apt update
2. 安装 MySQL 服务器
执行以下命令来安装 MySQL 服务器:
sudo apt install mysql-server
在安装过程中,系统会提示你确认安装,输入 Y 然后按回车键继续。
3. 启动并设置开机自启 MySQL 服务
安装完成后,需要启动 MySQL 服务,并设置为开机自启,这样系统重启后 MySQL 服务会自动启动。使用以下命令:
sudo systemctl start mysql
sudo systemctl enable mysql
4. 验证 MySQL 服务状态
使用以下命令来检查 MySQL 服务是否正常运行:
sudo systemctl status mysql
若看到类似如下输出,表明 MySQL 服务已成功启动:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2025-04-17 10:00:00 UTC; 1min ago
Main PID: 1234 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 1137)
Memory: 123.4M
CGroup: /system.slice/mysql.service
└─1234 /usr/sbin/mysqld
Apr 17 10:00:00 ubuntu systemd[1]: Started MySQL Community Server.
5. 登录 MySQL
完成上述步骤后,就可以使用 root 用户登录 MySQL 了。执行以下命令:
sudo mysql -u root
6.设置本地root用户密码
ALTER USER 语句是 MySQL 8.0 及更高版本推荐的修改用户密码的方式,它能确保修改密码的操作符合 MySQL 的安全策略。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
在上述语句中,你需要将 your_new_password 替换为你要设置的新密码。设置完成后,为了使权限变更生效,需要执行以下命令:
FLUSH PRIVILEGES;
7.配置mysql监听远程ip
编辑配置文件
使用文本编辑器(如 nano 或 vim)打开配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
修改监听地址
在配置文件里找到 bind-address 和 mysqlx-bind-address 这两行,把它们的值从 127.0.0.1 改成 0.0.0.0 ,这样就能让 MySQL 监听所有可用的网络接口,允许来自任何 IP 地址的连接。
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0
保存并退出文件
在 nano 编辑器中,按 Ctrl + X,接着按 Y 确认保存,最后按 Enter 键退出。
重启 MySQL 服务
修改配置文件之后,要重启 MySQL 服务使配置生效:
sudo systemctl restart mysql
8.打开防火墙限制
在服务器上检查防火墙规则,确保允许外部对 3306 端口的访问。如果使用的是 ufw 防火墙,可以运行以下命令来允许 3306 端口的 TCP 流量:
sudo ufw allow 3306/tcp
9.创建远程ip用户
原来我们只有root@localhost这个用户,这个用户表示本地登录的root用户,所以如果我们希望能够远程登录root用户,还需要创建root@[远程ip]用户,采用root@%表示所有ip都可以登录。
-- 创建root@%用户并设置密码
CREATE USER 'root'@'%' IDENTIFIED BY 'hjl19991104';
-- 赋予root@%用户所有数据库和表的全部权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
-- 刷新权限使设置生效
FLUSH PRIVILEGES;
至此,我们就可以远程连接服务器上的数据库了。