<
>

MySQL远程访问设置终极方法

2019-01-05 10:03:04 来源:易采站长站 作者:刘景俊


use mysql

3.删除匿名用户。SQL如下:


delete from user where user='';

4.退出,然后就可以在本地直接登录数据库了。

②、投机取巧的解决办法,在本地使用跳过权限表认证的登录数据库

刚刚在上面的原因解释中已经说过,虽然登录使用的root帐号,但是被数据库处理成了匿名用户。而登录用的帐号和密码与匿名帐号信息不匹配,才导致权限认证没有通过。那干脆就“不走寻常路”,跳过权限认证这一步,直接登录不就OK了。具体做法类似“忘记密码”的处理方式类似,所以,可以参考下面的 忘记数据库密码 。需要注意的时,这里和“忘记数据库密码”的处理不一样的是,这里不需要这里只需要登录进去,登录进去之后需要删除匿名帐号而不是重置密码。至于删除匿名帐号的方法,请参考上面的介绍,这里就不再赘述。

③、最诡异的解决办法,在本地伪装成远程主机来登录数据库

既然如果不知道IP地址,MySQL会默认认为从本地主机登录。那么,我们就指定一下主机,把自己伪装成远程主机登录。D瓜哥认为这个解决办法从MySQL的认证机制上是说得通的。

首先,使用ifconfig查出本地主机的IP(注意,不是127开头的回环地址)。

然后,使用如下命令登录:


mysql -h192.168.1.119 -uroot -p123456

再然后的工作就是删除匿名用户。上面已经介绍过了,这里不再赘述。

对于这个方法,D瓜哥需要特别说明一下。这个方法是D瓜哥推测出来的,还经过实际测试。所以,所以,欢迎板砖和鸡蛋!哈哈

忘记MySQL用户密码的解决办法

因为需要用一个好久不怎么使用的数据库,密码忘记了,所以遇到了这个问题。这次本来没打算写这个内容,但是计划赶不上变化,因为遇到了ERROR 1045 (28000)。后来,发现使用这个方法也可以解决掉这个问题。为了以后自己查资料方便,干脆把这个主题提出来,作为“常见问题”之一,也记录一下。

1.停止MySQL数据库。命令如下:


sudo service mysql stop

暴力点的做法是,使用ps命令查出来MySQL数据库的PID,然后在使用kill -9 PID直接杀掉数据库进程。这个方法,太过血腥,就不提供命令了。呵呵

2.启动数据库。命令如下:


sudo mysqld_safe --skip-grant-tables &

说明:参数--skip-grant-tables的意思是启动MySQL服务的时候跳过权限表认证。启动后,连接到MySQL的root不需要口令。

暂时禁止评论

微信扫一扫

易采站长站微信账号