<
>

MySQL远程访问设置终极方法

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


另外,某些计算机上没有安装mysqld_safe命令,则可以使用如下命令来启动数据库:

sudo mysqld --skip-grant-tables &

除此之外,还可以修改MySQL的配置文件/etc/mysql/my.cnf,在[mysqld]的部分中加上一句:skip-grant-tables。但是,使用这种方式在重置完密码后,还要再重新删除这句话。D瓜哥个人感觉比较麻烦。仅做了解,不推荐使用这种方式。

3.登录数据库。命令如下:


mysql -uroot

4.切换到mysql数据库


mysql> use mysql

5.修改root帐号密码


mysql> update user set password=password('123456') where user='root';

6.退出,然后重启数据库


>sudo service mysql restart

现在,应该就可以使用新密码正常访问数据库了。

ERROR 2002 (HY000)错误的原因以及解决办法

在登录数据库的过程中,可能遇到如下错误:


mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

刚开始,D瓜哥以为是数据库没有正确创建mysqld.sock这个文件,到/var/run/mysqld/下查看了一下,确实没有这个文件。

这是怎么回事?怎么会没有这个文件呢?难道数据库没有启动起来。使用如下命令查看一下:


>ps aux | grep mysql

Shit,竟然什么都没有输出。看来确实是数据库没有启动起来。使用如下命令启动数据库:


>sudo service mysql start

如果是需要启动跳过认证的方式启动,则使用如下命令之一:


sudo mysqld_safe --skip-grant-tables &

如果提示没有mysqld_safe,则使用如下命令:


>sudo mysqld --skip-grant-tables &

然后就可以正常登录了。

关于这个问题,D瓜哥还想再多说两句:这个错误的根本原因是没有找到mysqld.sock文件,造成这个问题的原因有两种:一根本没有创建这个文件,也就是没有启动数据库,这也是D瓜哥在这里介绍的原因;另外一个原因也有可能是创建的目录不在默认目录,或者连接数据库时指定的这个文件目录和实际产生的目录不符。D瓜哥在网上查资料时,也印着了这个猜测。部分网友的问题就是D瓜哥所说的第二个原因造成的。所以,网上对于这个问题的解决方案还存在另外一个方法。因为D瓜哥没有遇到,而且情况又比较多,D瓜哥这里就不再过多介绍了。请遇到这个问题的朋友自行查资料解决。

暂时禁止评论

微信扫一扫

易采站长站微信账号