Ubuntu22.04安装单节点Mysql
步骤 1:更新软件包列表并安装 MySQL
更新系统的软件包列表:
sudo apt update sudo apt upgrade -y
安装 MySQL Server:
sudo apt install mysql-server -y
检查 MySQL 服务是否已启动:
sudo systemctl status mysql
如果没有运行,可以手动启动:
sudo systemctl start mysql
步骤 2:配置 MySQL 初始设置
运行安全脚本来配置 MySQL(可以跳过一些不需要的安全选项):
sudo mysql_secure_installation
- 按照提示操作,通常你可以执行以下选项:
- 设置或跳过 root 密码(我们后面会手动设置)。
- 删除匿名用户:
Yes
。 - 禁用 root 远程登录(选择
No
,因为我们要设置远程访问)。 - 删除测试数据库:
Yes
。 - 重新加载权限表:
Yes
。
- 按照提示操作,通常你可以执行以下选项:
登录 MySQL Shell:
sudo mysql -u root
设置 root 用户密码为
123456
:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;
- 使用
mysql_native_password
是为了兼容某些客户端。
- 使用
步骤 3:允许远程访问
编辑 MySQL 配置文件:
打开配置文件:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
- 找到以下行:
bind-address = 127.0.0.1
- 修改为:
bind-address = 0.0.0.0
- 这样做允许 MySQL 接收来自任何 IP 地址的连接。
- 找到以下行:
保存并退出(按
Ctrl + X
,然后按Y
和Enter
)。重新启动 MySQL 服务:
sudo systemctl restart mysql
步骤 4:创建远程用户(可选)
如果不想用 root 用户,可以新建一个允许远程访问的用户:
- 登录到 MySQL:
sudo mysql -u root -p
- 创建一个远程用户并授权:
CREATE USER 'remote_user'@'%' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
- 这里,
remote_user
是远程用户,%
代表允许来自任意 IP 地址的连接。 GRANT ALL PRIVILEGES
允许这个用户执行所有操作。根据实际需求,可以更细化权限。
- 这里,
步骤 5:防火墙设置(开放 MySQL 端口 3306)
打开 3306 端口(MySQL 的默认端口):
sudo ufw allow 3306/tcp
启用防火墙(如果尚未启用):
sudo ufw enable
查看防火墙规则:
sudo ufw status
确保 3306 端口已经列在允许的列表中。
步骤 6:测试远程连接
- 从另一台电脑或服务器,尝试连接到 MySQL(将
<server-ip>
替换为你的 Ubuntu 服务器 IP):mysql -u root -p -h <server-ip>
- 输入密码
123456
,成功连接说明远程访问已经配置完成!