在windows服务器上安装好MySQL之后,默认是不能在其他机器上访问的,需要对其访问权限进行设置,以便于其它计算机能够连接。在网上查询解决方案,全部都是在命令行中进行操作,黑色的背景框,白色的字,高大上的样子。有的人已经在安装MySQL的windows机器上安装了并正在使用数据库访问工具,例如Navicat,或者DBeaver等,却还要再打开cmd命令行工具,像在linux中一样,按照其步骤操作,乱七八糟操作一番,很多时候却还不行。
其实对其设置非常简单,就执行两个SQL语句:
(1)在安装MySQL的本机上用数据库连接工具(下面是用DBeaver)连接上数据库,修改其自带的数据库mysql里面的表user的信息,将root用户对应的Host的值由localhost修改为%。
update user set host="%" where user="root"
修改前:
(2)刷新权限相关的表。
flush privileges
执行SQL的界面:
修改后:
这样就可以在其它机器上访问了。
数据库操作工具可能用Navicat的比较多,但是Navicat是商业软件,很多人用的是盗版的,这样不好,可以用其它的,例如DBeaver。
用DBeaver连接数据库可能会出现问题。例如DBeaver自带的MySQL驱动有时候不合适就是一种情况。可以在“编辑驱动设置”,确认连接类名是否是:com.mysql.cj.jdbc.Driver 。在下面的库里面,添加文件,找到你事先下载的java连接mysql8的jar包,点击完成即可。
有时点击新建的连接数据库时会出现两个错误:
1、public Key Retrieval is not allowed
解决方法,可以在驱动属性里设置 allowPublicKeyRetrieval 的值为 true
2、The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utili
解决:在新建连接那里将时区设置为你的时区,例如亚洲/上海。