ubuntu20.4服务器安装mysql开放3306端口
ubuntu20.4服务器安装mysql开放3306端口
2024-10-31 01:37
在Ubuntu 20.04服务器上安装MySQL社区版并开放3306端口的详细步骤 ?? MySQL是一款功能强大的开源关系型数据库管理系统,广泛应用于各种应用程序和网站的数据存储与管理。以下是在Ubuntu 20.04服务器上安装MySQL社区版并开放3306端口的详细步骤,确保您能够顺利完成安装并配置数据库。?✨
在Ubuntu 20.04服务器上安装MySQL社区版并开放3306端口的详细步骤 ??
MySQL是一款功能强大的开源关系型数据库管理系统,广泛应用于各种应用程序和网站的数据存储与管理。以下是在Ubuntu 20.04服务器上安装MySQL社区版并开放3306端口的详细步骤,确保您能够顺利完成安装并配置数据库。?✨
一、准备工作
- 打开终端并以管理员权限登录服务器 ?️
确保您具有服务器的管理员权限,可以通过SSH远程登录或在本地终端进行操作。
二、更新软件包列表 ??
在安装任何新软件之前,首先更新系统的软件包列表,确保您获取的是最新版本的软件包。
sudo apt update
解释:sudo apt update
命令会更新本地的包索引,使系统了解最新的软件包和其依赖关系。
三、安装MySQL服务器 ??️
使用以下命令安装MySQL服务器:
sudo apt install mysql-server
解释:sudo apt install mysql-server
命令会从Ubuntu的软件仓库中下载并安装MySQL服务器及其相关依赖。
四、设置MySQL root用户密码 ?
在安装过程中,系统可能会提示您设置MySQL root用户的密码。请选择一个强密码,并妥善保存,以确保数据库的安全性。
注意:如果安装过程中未提示设置密码,您可以通过以下步骤进行设置:
-
运行安全安装脚本:
sudo mysql_secure_installation
解释:此脚本帮助您配置MySQL的安全选项,包括设置root密码、移除匿名用户、禁止远程root登录和删除测试数据库。
-
按照提示操作,输入并确认新的root密码,选择相关安全选项。
五、检查MySQL服务状态 ?✅
安装完成后,MySQL服务会自动启动。您可以使用以下命令检查其状态:
sudo systemctl status mysql
解释:sudo systemctl status mysql
命令会显示MySQL服务的当前状态。如果显示“active (running)”,则表示服务正在正常运行。
六、开放3306端口以允许远程连接 ??
默认情况下,MySQL使用3306端口进行通信。为了允许远程连接,需要确保该端口已开放。
-
检查防火墙状态:
sudo ufw status
解释:sudo ufw status
命令会显示防火墙的当前状态和已开放的端口。
-
如果3306端口未开放,执行以下命令开放端口:
sudo ufw allow 3306
解释:sudo ufw allow 3306
命令会在防火墙中开放3306端口,允许外部设备通过该端口访问MySQL服务。
-
重新加载防火墙规则(如果必要):
sudo ufw reload
解释:sudo ufw reload
命令会重新加载防火墙配置,确保新的规则生效。
七、配置MySQL允许远程连接 ?️?
默认情况下,MySQL只允许本地连接。要允许远程连接,需要修改MySQL配置文件。
-
编辑MySQL配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
解释:使用 nano
编辑器打开 mysqld.cnf
文件,进行配置修改。
-
找到并修改 bind-address
参数:
bind-address = 0.0.0.0
解释:将 bind-address
设置为 0.0.0.0
,允许MySQL监听所有网络接口的连接请求。
-
保存并退出编辑器 ?
- 按
Ctrl + X
,然后按 Y
确认保存,最后按 Enter
键退出。
-
重启MySQL服务以应用更改:
sudo systemctl restart mysql
解释:sudo systemctl restart mysql
命令会重启MySQL服务,使配置更改生效。
八、创建远程访问的MySQL用户 ??
为了安全起见,建议为远程连接创建一个专用用户,并赋予必要的权限。
-
登录MySQL命令行界面:
mysql -u root -p
解释:输入 root
用户的密码后,进入MySQL的命令行界面。
-
创建新用户并授予权限:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
解释:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'strong_password';
:创建一个名为 remote_user
的用户,允许从任意IP地址连接,并设置密码为 strong_password
。
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
:授予该用户对所有数据库和表的所有权限,并允许其授予权限给其他用户。
FLUSH PRIVILEGES;
:重新加载权限表,使更改立即生效。
-
退出MySQL命令行界面:
EXIT;
九、测试远程连接 ??
确保您能够通过远程连接访问MySQL服务器。
-
从远程客户端连接:
mysql -u remote_user -p -h your_server_ip
解释:使用新创建的 remote_user
用户,通过指定服务器IP地址连接到MySQL服务器,输入密码后即可进入命令行界面。
-
验证连接成功:
- 如果成功连接,您将看到MySQL的提示符。
- 执行简单的查询,如
SHOW DATABASES;
,确认访问权限。
十、常见问题及解决方法 ?️❓
-
无法连接到MySQL服务器 ??
- 检查MySQL服务状态:确保服务正在运行。
- 确认防火墙设置:确保3306端口已开放。
- 验证MySQL配置:确保
bind-address
设置正确,允许远程连接。
- 检查用户权限:确保远程用户具有正确的权限和访问权限。
&
標簽:
- ubuntu20.4
- mysql