mysql 8 的远程连接问题

mysql 8 的远程连接问题,第1张

问题:最近开始用mysql8,结果发现在sql语法比之前的版本严格了许多。。此处先解决授权sql报错问题,报错如下

mysql>grant all on dev1_test1.* to dev1@'%' identified by '12345678'

ERROR 1064 (42000): You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '12345678'' at line 1

解决:mysql8 要求先建用户,后授权

然后打开mysql默认的3306端口

然后允许使用旧的密码验证方式:

最后 sqlyog就可以远程登陆了。

如果先安装了一个版本的,再安装新版本,需要先把旧版本的数据删除,否则启动不起来,重点是删除 /var/lib/mysql下的所有文件

select @@validate_password_policy

set global validate_password_policy=0

update mysql.user set authentication_string=password('new password') where user='root'

允许root 远程登录:

grant all privileges on . to 'root'@'%' identified by 'password' with grant option

select host,user from user where user='root'

flush privileges

开启MySQL的远程登陆帐号有两大步:1、确定服务器上的防火墙没有阻止3306端口。MySQL默认的端口是3306,需要确定防火墙没有阻止3306端口,否则远程是无法通过3306端口连接到MySQL的。如果您在安装MySQL时指定了其他端口,请在防火墙中开启您指定的MySQL使用的端口号。如果不知道怎样设置您的服务器上的防火墙,请向您的服务器管理员咨询。2、增加允许远程连接MySQL用户并授权。1)首先以root帐户登陆MySQL在Windows主机中点击开始菜单,运行,输入“cmd”,进入控制台,MySQL的bin目录下,然后输入下面的命令。

--skip-name-resolve选项启动mysqld来禁用DNS主机名查找。只是处理连接可能慢的问题。

要设置远程登陆:

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。

一、修改/etc/mysql/my.conf

找到bind-address = 127.0.0.1这一行

改为bind-address = 0.0.0.0即可

二、为需要远程登录的用户赋予权限管理用户

1、新建用户远程连接mysql数据库

grant all on *.* to admin@'%' identified by '123456' with grant option 

flush privileges

允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。

注意admin账户不一定要存在。

2、支持root用户允许远程连接mysql数据库

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option

flush privileges

三 ,  访问地址到 mysql服务器 端口是通的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11833337.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存