Mysql_8.0.33服务器配置远程连接(ubuntu20.04)
安装Mysql
如果连安装都不会的话,可以去搜索一下……
本文以 Mysql
的 8.0.33
版本为例,服务器为 ubuntu20.04
,基于腾讯云 lighthouse_2C4G
配置端口以及远程连接设置
登录MySQL;
使用
show global variables like 'port';
查看当前端口号;编辑
/etc/mysql/my.cnf
文件,将port
项的值修改为需要的端口号,以33333
为例;可能路径会略有区别,以实际为准;
MySQL的配置文件中,可能有一些选项会限制远程连接,例如:
bind-address
:这个选项用来指定MySQL监听的IP地址。如果设置为127.0.0.1
或者localhost
,则只允许本地连接。如果想要允许远程连接,可以将这个选项注释掉或者设置为0.0.0.0
;skip-networking
:这个选项用来禁止TCP/IP网络连接。如果启用了这个选项,MySQL只能通过Unix套接字或者命名管道进行连接。如果想要允许远程连接,可以将这个选项注释掉或者设置为OFF
;skip-name-resolve
:这个选项用来禁止MySQL对客户端的主机名进行解析。如果启用了这个选项,MySQL只能通过IP地址进行连接,不能使用主机名或者域名。如果想要允许使用主机名或者域名进行远程连接,可以将这个选项注释掉或者设置为OFF
。
示例配置文件:
1 2 3 4 5 6 7 8
!includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/ [mysqld] bind-address = 0.0.0.0 port = 33333 skip-networking = OFF skip-name-resolve = OFF
在服务器的防火墙中放行设定的端口
port = 33333
。重启
MySQL
即可。
创建远程连接用户
在
MySQL 8.0
之前,可以使用GRANT
语句来同时创建用户和分配权限,例如:1 2
-- 创建user1用户,并授权访问test数据库 grant all on test.* to 'user1'@'%' identified by '123456';
但是,在
MySQL 8.0
之后,这种用法被废弃了,必须先使用CREATE USER
语句来创建用户;如果你的
MySQL
版本是8.0
,你可以使用以下命令来让user1
访问所有数据库;这样,user1就可以访问MySQL中的任何数据库和表了。
但是,这样做可能会带来安全风险,因为user1可以修改或删除任何数据。
所以,建议你根据实际的需求,给用户分配合适的权限。
1 2 3 4 5 6
-- 创建user1用户 create user 'user1'@'%' identified by '123456'; -- 授权user1用户访问所有数据库的所有表 grant all on *.* to 'user1'@'%'; -- 刷新权限 flush privileges;
随后重启
MySQL
即可。1
service mysql restart
远程连接数据库
以
Navicat
为例,远程连接数据库。新建连接,连接名任取;
主机为服务器的ip地址或者服务器的域名;
端口为之前设定的端口;
用户名为之前新建的用户;
密码为对应用户的密码;
确定连接,即可。