Linux安装mysql并配置外网访问的实例

  • Post category:Linux

下面我将为你详细讲解“Linux安装mysql并配置外网访问的实例”的完整攻略:

1. 安装Mysql

在Linux上通过以下命令安装mysql:

sudo apt-get update #更新apt的包列表
sudo apt-get install mysql-server #安装mysql安装程序
sudo mysql_secure_installation #运行mysql的安全设置程序

运行mysql的安全设置程序可以设置管理员账户密码等其它细节信息。在此过程中,你可以根据命令行提示输入所需的参数即可。

2. 配置外网访问权限

2.1 更改配置文件

在Linux上使用nano等文本编辑器打开mysql的主配置文件,然后将bind-address设置为0.0.0.0。在这个配置文件里,这个设置的默认值是127.0.0.1,代表只有本地可以使用。

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
#将bind-address改为如下
bind-address = 0.0.0.0

2.2 设置root账户的外网访问权限

在mysql中运行如下命令,允许root账户从任何网络地址访问数据库:

mysql -u root -p
#输入root账户的密码
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

以上命令中,GRANT ALL语句表示允许root账户访问任何数据库和表(*.*),'root'@'%'则代表允许root账号从任何地址(%)进行访问。如果你希望限制仅允许特定地址访问,请将%指定为IP地址。

示例1:在Ubuntu 20.04中安装mysql并允许在防火墙中开放3306端口作为外网访问端口

1. 在ubuntu 20.04中安装mysql

sudo apt update #更新apt的包列表
sudo apt install mysql-server #安装mysql安装程序
sudo mysql_secure_installation #运行mysql的安全设置程序

2. 配置网络

sudo ufw enable # 启用火墙
sudo ufw allow ssh # 为SSHd设置规则
sudo ufw allow 3306/tcp # 允许从网络上访问MySQL端口

3. 通过浏览器远程连接MySQL服务器

在另一台Linux机器或windows机器上运行mysql客户端,基于IP地址和网络端口连接到MySQL服务器。

示例2:在Centos 8中安装mysql并设置外网访问

1. 在centos 8中安装mysql

sudo dnf update #更新包列表
sudo dnf install mysql-server #安装mysql
sudo systemctl start mysqld #启动mysql
sudo systemctl enable mysqld #在启动时自动启动mysql
sudo mysql_secure_installation #运行mysql的安全设置程序

2. 配置mysql以允许外网访问

sudo nano /etc/my.cnf #打开配置文件

添加bind-address=0.0.0.0到mysqld标签之间。 保存并关闭文件。重启mysql服务。

[mysqld]
# 添加以下行
bind-address=0.0.0.0

重启mysql服务。

sudo systemctl restart mysqld # 重启MySQL 端口

3. 修改root用户的访问信息

mysql -u root --skip-password #登录mysql
mysql> USE mysql;
mysql> UPDATE user SET Host='%' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

现在,你可以在任何位置使用root账户登录mysql,并从任何网络地址上访问MySQL服务器了。

恭喜你,现在你已经完成了“Linux安装mysql并配置外网访问的实例”的攻略。