龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > MySQL 技术 >

MySQL远程访问设置终极方法(8)

时间:2014-12-03 12:39来源:网络整理 作者:网络 点击:
分享到:
复制代码 代码如下: mysql -h192.168.1.119 -uroot -p123456 再然后的工作就是删除匿名用户。上面已经介绍过了,这里不再赘述。 对于这个方法,D瓜哥需要特别说

复制代码 代码如下:

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不需要口令。
另外,某些计算机上没有安装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,竟然什么都没有输出。看来确实是数据库没有启动起来。使用如下命令启动数据库:

精彩图集

赞助商链接