快捷搜索: 王者荣耀 脱发

Win10 安装配置 MySQL8.0 时遇到的问题及解决方法

在本地安装mysql8.0社区版之后,遇到了三个问题:

    MySQL 8.0 Command Line Client 双击打开时闪退。 使用Sqlyog连接数据库时提示2058或2059错误。 Pycharm连接MySQL时报错,提示未设置数据库的时区或时区设置不正确。

现记录下这几个问题的解决办法。

问题1

MySQL 8.0 Command Line Client 和 MySQL 8.0 Command Line Client - Unicode 这两个文件是MySQL安装目录下的 mysql.exe 可执行文件加上不同的参数创建的快捷方式。

以 MySQL 8.0 Command Line Client 这个快捷方式为例,它其实等价于以下命令:

"D:Program FilesMySQLMySQL Server 8.0inmysql.exe" "--defaults-file=D:Program FilesMySQLMySQL Server 8.0my.ini" "-uroot" "-p"

其中 defaults-file 参数用于指定MySQL的配置文件的路径。由于 D:Program FilesMySQLMySQL Server 8.0my.ini 这个路径指向的配置文件并不存在,而真正的配置文件是在 D:ProgramDataMySQLMySQL Server 8.0my.ini 这个路径下,所以只要将该快捷方式中用于指定配置文件的路径修改为MySQL配置文件所在的实际路径即可,即:

"D:Program FilesMySQLMySQL Server 8.0inmysql.exe" "--defaults-file=D:ProgramDataMySQLMySQL Server 8.0my.ini" "-uroot" "-p"

问题2

产生这个问题的原因是MySQL8.0中,连接数据库时使用的默认的认证插件是 caching_sha2_password,而Sqlyog并不支持这种方式,所以,只要将登录用户的密码的加密方式更改为 mysql_native_password 即可。命令如下:

ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY new_password;
FLUSH PRIVILEGES;

其中,第一条命令的作用是将用户root的密码更改为 new_password ,并将加密方式更改为 mysql_native_password。

问题3

产生这个问题的原因是安装MySQL时未设置数据库的时区。只要设置下数据库的时区即可。

进入MySQL的命令行并登录,使用如下命令设置时区:

set global time_zone=+8:00;

这样修改只能临时生效,如果要永久生效,可以通过修改mysql守护进程的配置文件 my.ini 来实现,方法是在 mysqld 部分添加如下内容:

default-time_zone = +8:00

其中,具体的时区可以根据需要设定。

经验分享 程序员 微信小程序 职场和发展