MySQL 相关问题
一.MySQL远程连接
有时候在进行MySQL远程连接时,需要开启远程访问权限。可以通过查询mysql.user表查询某用户(一般为'root')支持的host字段。远程访问时,是通过服务器IP地址访问,默认的host字段为'localhost'。所以可以通过如下方法进行设置:
mysql>use mysql;
mysql>update user set host='%' where user='root';
#'%'表示匹配任意host
二.Eclipse 连接MySQL连接时问题
报错:
The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
解决办法:
在连接MySQL的url做如下配置:
jdbc.url=jdbc:mysql://localhost:3306/?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8
三.Navicat for MySQL
正常情况下,navicat 在连接MySQL5.x的数据库时,一般不会有问题。关于新版本MySQL8.x的数据库,有时候会遇到一些问题。
报错:
Client does not support authentication protocol requested by server;
解决办法:
两种情况:一种是默认的情况,如果没有修改mysql.user表中'root'对应的host字段;另一种是修改过'root'对应的host字段(例如在开启远程访问权限时)。
前者:
mysql>use mysql;
mysql>alter user 'root'@'localhost' identified with mysql_native_password by '你的root密码';
mysql>flush privileges;
后者:
mysql>use mysql;
mysql>ALTER USER 'root'@'%' IDENTIFIED BY '你的root密码' PASSWORD EXPIRE NEVER;
mysql>flush privileges;