mysql 8远程访问

zynd9foi  于 2021-06-23  发布在  Mysql
关注(0)|答案(3)|浏览(407)

我通常正确设置mysql进行远程访问。
现在我被MySQL8困住了。
首先,在mysql.conf.d/mysqld.cnf上,我没有任何绑定地址行,所以我手工添加了它(bind address 0.0.0.0),并授予用户对“%”的访问权限
我连接时收到消息“身份验证失败”
但它在localhost/命令行上运行良好

hgtggwj0

hgtggwj01#

有同样的问题,连接到mysql工作台并更新了用户权限。
mysql版本:8.0.20社区。操作系统:Windows10。
打开mysql workbench-->服务器-->用户和权限
选择用户
将限制更改为匹配“%”的主机,以便从任何主机进行访问。
应用更改。
如果需要,重新启动mysql服务。这对我来说很管用。
屏幕截图,

l5tcr1uw

l5tcr1uw2#

删除或注解 bind_address 参数 my.ini 文件。
(文件名因操作系统而异。在linux上,my.ini实际上是位于目录/etc/mysql/中的my.cnf)
重新启动服务。
创建 root 用户(是的,是新用户,因为存在的是'root@localhost'仅限本地访问): CREATE USER 'root'@'%' IDENTIFIED BY '123'; 给予特权: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; 对于dba用户,添加 WITH GRANT OPTION 最后。
例如。 CREATE USER 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; 因为它与grant不兼容?
mysql 8不能再创建具有 GRANT ,因此 IDENTIFIED BY '123' 如果你想用它 GRANT ,这是最常见的错误。

emeijp43

emeijp433#

对于mysql 8,打开mysqld.cnf文件

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

并修改或添加绑定地址选项:

[mysqld]
bind-address = 0.0.0.0

重启mysql服务器

sudo service mysql restart

相关问题