Ubuntu安装MySQL服务器详细步骤(包括设置外网利用Navicat等工具远程连接MySQL服务器)!——一看就会,跟着做就对!
1. 更新系统
在开始安装前,先更新一下系统。命令如下:
sudo apt update
sudo apt upgrade
2、使用APT自动安装MySQL8
使用APT方式安装MySQL8时,通常会安装MySQL的最新版本,且能够自动配置服务和环境变量。
sudo apt install mysql-server -y
安装完成后,MySQL会自动启动,可以使用以下命令测试MySQL安装情况
sudo service mysql status
或sudo systemctl status mysql
可以确认MySQL已经安装成功(默认root没有密码)。
3、查询Ubuntu系统上MySQL服务器版本
sudo apt search mysql-server
4、登录MySQL服务器 sudo mysql -uroot
查看当前MySQL服务器信息:
select @@hostname,@@port,@@version,@@basedir,@@datadir,user(),database();
查看当前MySQL服务器用户信息:
select host,user,plugin from mysql.user;
5、设置外网访问账户的用户名和密码
将root用户连接权限设置为%
rename user root@localhost to root;
为MySQL服务器root用户设置密码
alter user ‘root’@‘%’ identified with mysql_native_password by ‘fpl1116’;
新建用户
create user ‘admin’@‘%’ identified with mysql_native_password by ‘admin’;
授权用户远程登录
grant all privileges on . to ‘admin’@‘%’ with grant option;
刷新策略
flush privileges;
## 6、查看服务器IP
Ubuntu系统开机成功登录后会显示
也可以通过命令ip addr查询
ip addr
7、打开外网访问
vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到下面两句代码,将其注释掉,然后“:wq”保存退出
bind-address = 127.0.0.1
mysqlx-bind-address =127.0.0.1
- bind-address:这个配置项是用于MySQL服务器设置绑定地址的。在这个例子中,它被设置为127.0.0.1,这意味着MySQL服务器只会监听本地回环地址(即IP地址为127.0.0.1),也就是只有本地机器可以访问该MySQL服务器。
- mysqlx-bind-address:这个配置项是用于MySQL X Protocol(一个用于访问MySQL的新协议)设置绑定地址的。同样,在这个例子中,它也被设置为127.0.0.1,这意味着MySQL X Protocol只会监听本地回环地址。
- 这样的配置通常用于安全性考虑,只允许本地机器访问MySQL服务器,以减少潜在的网络安全风险。如果你想让MySQL服务器可以被其他网络中的机器访问,可以将绑定地址设置为其他有效的IP地址或使用0.0.0.0来允许所有IP地址的访问(但请注意,这可能会增加安全风险,因此请谨慎使用)。
8、设置防火墙
查看防火墙启用状态
sudo systemctl status ufw
如上图所示,说明防火墙已开启
关闭防火墙
sudo systemctl stop ufw
这条命令"sudo systemctl stop ufw"的作用是停止ufw服务的运行。ufw是Uncomplicated Firewall的缩写,它是Ubuntu系统默认的防火墙服务。通过执行"sudo systemctl stop ufw"命令,我们可以停止ufw服务的运行,关闭防火墙。请注意,这只是临时关闭防火墙,重启系统后防火墙会再次启动。如果您想要永久关闭防火墙,可以使用"sudo ufw disable"命令。
启用防火墙
sudo ufw enable
9、添加防火墙规则
执行sudo ufw allow 3306/tcp 这个命令,允许Ubuntu默认的防火墙在tcp协议上允许外部连接到MySQL数据库。
执行sudo ufw allow ssh 这个命令将创建一个防火墙规则,允许SSH连接通过防火墙。ufw默认情况下可能会阻止SSH连接,因此需要通过命令进行设置。设置之后,您将能够从远程位置通过SSH连接到Ubuntu系统。
给某主机 允许所有端口或某个端口
sudo ufw allow from 192.168.21.41
sudo ufw allow from 192.168.21.30 to any port 3306
10、删除防火墙规则
执行sudo ufw delete allow 3306/tcp 这个命令将删除之前创建的允许外部连接到MySQL数据库的防火墙规则。如果您不再需要该规则,可以使用此命令删除它。如果您仍然需要该规则,请不要执行此命令,否则外部将无法访问您的MySQL数据库
删除其他规则同理