前言:
今天阿里云轻服务器打折,就去了; 搞了一个挂些小东西~ 当然他里面有一些他自带的配置,我用不惯; 就自己按照自己的习惯调了一下..... 以下实操!
界面确定:
一、安装 MySQL
-
更新系统的软件包列表:
sudo apt update
-
安装 MySQL:
运行以下命令安装 MySQL:sudo apt install mysql-server -y
-
启动 MySQL 服务:
确保 MySQL 启动并设置为开机启动:sudo systemctl start mysql sudo systemctl enable mysql
-
检查 MySQL 是否安装成功:
运行以下命令检查服务状态:systemctl status mysql
如果看到 active (running),说明 MySQL 已启动。
二、配置 MySQL
-
进入 MySQL:
sudo mysql
-
为 root 用户设置密码并启用密码认证:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; FLUSH PRIVILEGES;
⚠️ 请将 '你的密码' 替换为你希望设置的密码。
-
创建远程用户(可选):
如果你不想直接用 root 用户远程连接,可以创建一个新用户:CREATE USER '你的用户名'@'%' IDENTIFIED BY '你的密码'; GRANT ALL PRIVILEGES ON *.* TO '你的用户名'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
⚠️ 将 你的用户名 和 你的密码 替换为你需要的用户名和密码。% 表示允许该用户从任何 IP 地址连接。
-
退出 MySQL:
EXIT;
三、修改 MySQL 配置文件以允许远程连接
-
编辑 MySQL 配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
-
查找并修改绑定 IP:
找到以下配置:bind-address = 127.0.0.1
改为:
bind-address = 0.0.0.0
0.0.0.0 表示接受来自任何 IP 地址的连接。
-
保存并退出:
按 Ctrl+O 保存文件,然后按 Ctrl+X 退出。 -
重启 MySQL 服务以应用更改:
sudo systemctl restart mysql
四、配置阿里云防火墙
-
阿里云轻量服务器需在 防火墙策略中开放 3306 端口。
操作方法如下: - 登录 阿里云轻量应用服务器管理控制台。
- 找到您的服务器实例,进入“防火墙”配置。
- 添加一条规则:
- 协议类型:TCP
- 端口范围:3306
- 授权对象:建议填写特定 IP(如你本地电脑 IP),如果不清楚,可以暂时填写 0.0.0.0/0(允许所有 IP,风险较高)。
-
保存规则并生效:
ps:一定要应用到实例; (规则链接到自己服务器上)
查自己的公网ip: cmd--->nslookup myip.opendns.com resolver1.opendns.com
五、在 Navicat 中连接 MySQL
-
打开 Navicat 并创建连接:
- 打开 Navicat,点击 “连接” > “MySQL”。
- 在弹出的对话框中填写以下信息:
- 连接名称: 随意填写
- 主机名/IP 地址: 你的阿里云服务器公网 IP
- 端口: 3306
- 用户名: 你之前设置的用户名(如 root 或其他)
- 密码: 之前设置的密码
-
测试连接:
点击 “测试连接”,如果配置无误,应该会提示连接成功。
常见问题排查
-
无法连接时,检查以下内容:
- MySQL 服务是否在运行:
sudo systemctl status mysql
- 是否正确修改了 bind-address。
- 阿里云安全组中是否放行了 3306 端口。
- 本地防火墙是否阻止了连接。
- MySQL 服务是否在运行:
-
防火墙问题:
如果服务器上启用了防火墙(如 ufw),需要开放 3306 端口:sudo ufw allow 3306 sudo ufw reload