linux centos6.5下的mysql重置root密码的问题

来源:互联网 发布:药材软件 编辑:程序博客网 时间:2024/05/20 16:39

技术的探索无止境。但是只要是技术,终有对应的解决对策。一个程序或系统之所以健壮,更多的情况下是兼容性、适配性。总会出现问题,但是解决问题的方法能否快速的被应用于实际,从而解决那些燃眉之急。这也是选择开发语言和应用系统的非常必要的条件。好了,先不赘述了,切入正题吧。

在Linux上安装MySQL ,我有过三个经历。一个是在centos6.6上安装成功了MySQL5.6,但是不知道因为什么就是无法和python的2.7.13进行python-MySQL的适配。这让我很是头疼,搜索了n多天,不见效果。后来果断的将操作系统更换为了centos7.2 然后进行了相应的安装与配置,于是终于成功了。后来又尝试了在centos6.5上呢也安装了数据库,在以下博客内容的指导下,成功安装

博址如下:

http://dev.mysql.com/Downloads/MySQL-5.5/mysql-5.5.27.tar.gz      

  但是随后在修改root密码是可能是由于sql语句的错误导致整个root登录系统无法使用报如下的错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

附上我错误的sql 语句, 大家一定要注意了:

update user set password='123456' where User='root'
我现在还是不太清楚这条语句为什么不对,正确的语句如下:

update user set password=PASSWORD(‘123456’) where User='root';

那么如何解决上述错误情况呢。经过多次搜索和尝试,终于找到了一个博客内容解决了此问题

博址如下:

https://m.baidu.com/from=1018225w/bd_page_type=1/ssid=0/uid=0/pu=usm%401%2Csz%40320_1001%2Cta%40iphone_2_6.0_3_537/baiduid=AE327D39BFBB9DE76949E1A2B5D92CEE/w=0_10_/t=iphone/l=3/tc?ref=www_iphone&lid=11625716804939789020&order=1&fm=alop&tj=www_normal_1_0_10_title&vit=osres&m=8&srd=1&cltj=cloud_title&asres=1&title=linux%E4%B8%8Bmysql%E7%9A%84root%E5%AF%86%E7%A0%81%E5%BF%98%E8%AE%B0%E8%A7%A3%E5%86%B3%E6%96%B9-AllenW-%E5%8D%9A%E5%AE%A2%E5%9B%AD&dict=30&w_qd=IlPT2AEptyoA_yitJU7sE7E-thXGLiVxrptPhTxL0SsrYeg5O6G&sec=21697&di=1b2227384c8b3079&bdenc=1&tch=124.0.355.177.0.0&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZQRAYzvzNXWYH5butyPQps-DcyzyKTEz7qR2rKtoxmdN78XwdcbtgQCAKxMKhglmPwWAUDYpzK&eqid=a156d7d6a1b9b00010000001593dee31&wd=&clk_info=%7B%22srcid%22%3A%221599%22%2C%22tplname%22%3A%22www_normal%22%2C%22t%22%3A1497230899927%2C%22sig%22%3A%222953%22%2C%22xpath%22%3A%22div-div-div-a-p%22%7D&sfOpen=1

这里面提到了一个我未曾见识过得东西叫做 skip-grant-tables就是通过这个东西在my.cnf里面进这里面存在一个行进行配置才得以完成真正的重置。

这网址有的同学可能打不开,也是害怕网址不见了,所以呢我在这里copy一下内容,希望作者能够海涵。

博文如下:


linux下mysql的root密码忘记解决方1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 2.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-grant-tables 保存并且退出vi。 3.重新启动mysqld # /etc/init.d/mysqld restart Stopping MySQL: [ OK ] Starting MySQL: [ OK ] 4.登录并修改MySQL的root密码 # /usr/bin/mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 3.23.56 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> USE mysql ; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; Query OK, 0 rows affected (0.00 sec) Rows matched: 2 Changed: 0 Warnings: 0 mysql> flush privileges ; Query OK, 0 rows affected (0.01 sec) mysql> quit Bye 5.将MySQL的登录设置修改回来 # vi /etc/my.cnf 将刚才在[mysqld]的段中加上的skip-grant-tables删除 保存并且退出vi。 6.重新启动mysqld # /etc/init.d/mysqld restart Stopping MySQL: [ OK ] Starting MySQL: [ OK ]Work for fun,Live for love!


向以上各位博主致敬!也希望能够帮到更多的人,也希望有人能够告诉我为什么我的sql就是错的呢?






原创粉丝点击