本文涉及系统环境:
CentOS Linux release 7.8.2003 (Core)
MySQL 5.7.36(默认配置文件路径:/etc/my.cnf)
开启 MySQL 远程访问
查看防火墙是否开放3306端口
firewall-cmd --query-port=3306/tcp
#如果未开放则添加进去
firewall-cmd --zone=public --add-port=3306/tcp --permanent
如若 MySQL 是部署在云服务器上的话,需要去安全组开放外网对 3306 端口的访问。
查看当前是否启用远程连接
进入 MySQL 后执行如下命令:
use mysql;
select user,host from user;
如果 root 用户的 host 是localhost 则表示只能进行本地访问,不能进行远程连接。
修改
update user set host = '%' where user = 'root';
# 刷新权限
flush privileges;
使用 DataGrip 测试连接
修改 MySQL 字符编码
查看 MySQL 字符编码,默认字符编码设置情况如下图所示:
SHOW VARIABLES LIKE 'character_set%';
修改字符编码为 utf8mb4
在 /etc/my.cnf
下对应添加如下内容
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
修改完成后重启 MySQL 服务即可:
systemctl restart mysqld
修改 MySQL 时区
查看当前使用的时区设置
show variables like '%time_zone%';
在 my.cnf 配置里在 [mysqld]
下添加下面的配置,指定为北京时间
default-time-zone='+08:00'
保存后重启 MySQL 服务生效。