Ubuntu22.04安装单节点Mysql
步骤 1:更新软件包列表并安装 MySQL
-
更新系统的软件包列表:
bashsudo apt update sudo apt upgrade -y
-
安装 MySQL Server:
bashsudo apt install mysql-server -y
-
检查 MySQL 服务是否已启动:
bashsudo systemctl status mysql
如果没有运行,可以手动启动:
bashsudo systemctl start mysql
步骤 2:配置 MySQL 初始设置
-
运行安全脚本来配置 MySQL(可以跳过一些不需要的安全选项):
bashsudo mysql_secure_installation
- 按照提示操作,通常你可以执行以下选项:
- 设置或跳过 root 密码(我们后面会手动设置)。
- 删除匿名用户:
Yes
。 - 禁用 root 远程登录(选择
No
,因为我们要设置远程访问)。 - 删除测试数据库:
Yes
。 - 重新加载权限表:
Yes
。
- 按照提示操作,通常你可以执行以下选项:
-
登录 MySQL Shell:
bashsudo mysql -u root
-
设置 root 用户密码 为
123456
:sqlALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;
- 使用
mysql_native_password
是为了兼容某些客户端。
- 使用
步骤 3:允许远程访问
-
编辑 MySQL 配置文件 :
打开配置文件:
bashsudo 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 服务:
bashsudo systemctl restart mysql
步骤 4:创建远程用户(可选)
如果不想用 root 用户,可以新建一个允许远程访问的用户:
-
登录到 MySQL:
bashsudo mysql -u root -p
-
创建一个远程用户 并授权:
sqlCREATE 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 的默认端口):
bashsudo ufw allow 3306/tcp
-
启用防火墙(如果尚未启用):
bashsudo ufw enable
-
查看防火墙规则:
bashsudo ufw status
确保 3306 端口已经列在允许的列表中。
步骤 6:测试远程连接
-
从另一台电脑或服务器,尝试连接到 MySQL(将
<server-ip>
替换为你的 Ubuntu 服务器 IP):bashmysql -u root -p -h <server-ip>
-
输入密码
123456
,成功连接说明远程访问已经配置完成!