澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

原来还有更优雅的解法,root密码忘记后更优雅的

2019-09-29 作者:数据库网络   |   浏览(66)

直白以来,对于MySQL root密码的遗忘,以为唯有一种解法-skip-grant-tables。

前言

MySql数据库root密码修改,mysqlroot密码修改

方法一:
在my.ini的[mysqld]字段插手:
skip-grant-tables
重启mysql服务,这时的mysql没有需求密码就能够登入数据库
然后步向mysql
mysql>use mysql;
mysql>更新 user set password=password('新密码') WHERE User='root';
mysql>flush privileges;
运营之后最终去掉my.ini中的skip-grant-tables,重启mysqld就可以。  

方法二:
不选取修改my.ini重启服务的法门,通过非服务情势加skip-grant-tables运转mysql来修改mysql密码
停止mysql服务
开辟命令行窗口,在bin目录下使用mysqld-nt.exe运营,即在命令行窗口举办: mysqld-nt --skip-grant-

tables
然后别的展开一个下令行窗口,登入mysql,此时无需输入mysql密码就可以步向。
按上述措施修改好密码后,关闭命令行运转mysql的可怜窗口,此时即关闭了mysql,固然发掘mysql仍在运行

的话可以甘休掉对应进度来关闭。
启动mysql服务

一、日常忘记密码的消除办法,要求重启Mysql
1、skip-grant-tables 笔者们常用的不二等秘书籍是运用skip-grant-tables选项,mysqld server运营之后并不采纳权力系统(privilege system)。客户无需别的账号、不受任何限制的寻访数据库中具有数据。为了安全起见,常常加上 skip-networking ,mysqld不侦听任何TCP/IP连接乞求。操作进程如下,
1)修改my.cnf配置文件,在mysqld选项中加多skip-grant-tables和skip-networking。
2)再重启mysqld server。
3)通过sql语句修改mysql.user表中储存密码。实践flush privileges,重新启用mysql权限系统。

问了下群里的大牌,第一反响也是skip-grant-tables。通过搜寻引擎轻便寻找了下,无论是百度,抑或谷歌,只借使用汉语寻找,首页都是这种解法。可见这种解法在某种程度上曾经攻下了使用者的心智。上边具体来探视。

直白以来,对于MySQL root密码的遗忘,以为只有一种解法-skip-grant-tables。

对于mysql怎更改root密码

第一步:登陆MYSQL
mysql -u root -p
接下来回车,步入(等于用空密码走入)
第二步:
use mysql;
update user set password=password('新密码') where user='root';
那步就革新了密码
第三步:
flush privileges;
刷新权限.

OK了,改好了  

复制代码 代码如下:

二种破解mysql root密码的三种格局:

 

问了下群里的大拿,第一感应也是skip-grant-tables。通过搜索引擎轻松搜索了下,无论是百度,抑或谷歌,只假如用中文寻找,首页都是这种解法。可知这种解法在某种程度上曾经并吞了使用者的心智。上边具体来拜访。

设若把MySql的root密码忘记了怎办?怎取回密码?怎去改换root的密码?感激

如果是root密码:

方法一:
MySQL提供跳过访谈调控的命令行参数,通过在命令行以此命令运维MySQL服务器:
safe_mysqld --skip-grant-tables&
就可以跳过MySQL的访谈调控,任什么人都得以在决定台以管理员的地方走入MySQL数据库。
内需注意的是在修改完密码然后要把MySQL服务器停掉重新开动才会收效
先找到mysql.server 然后截止mysql服务
# mysqld_safe --skip-grant-tables --skip-networking &
# mysql
>use mysql;
>update user set password=PASSWORD("new-password") where user="root";
>flush privileges;

方法二:
能够扩充如下的手续重新载入参数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-name-resolve
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 Wa......余下全文>>  

方法一: 在my.ini的[mysqld]字段插手: skip-grant-tables 重启mysql服务,那时的mysql不须求密码就可以登陆数...

UPDATE mysql.USER SET Password=PASSWORD('newpwd')WHERE User='root';
FLUSH PRIVILEGES;

方法一

skip-grant-tables的解法

skip-grant-tables的解法

4)删除也许注释配置文件中skip-grant-tables和skip-networking的参数选项。假诺利用skip-networking,则须要再次重启mysqld。因为skip-networking不是系统变量,只是mysqld的参数选项,而不能够经过系统变量动态进展安装。若无适用skip-networking,只要求实施flush privileges就足以使权力系统再一次生效。
2. --init-file
mysqld_safe能够使–init-file参数选项来奉行重新设定密码的sql语句。
1)新建三个初叶化文件,如/tmp/initfile,文件内容为地方修改密码的sql语句。

采取phpmyadmin,这是最简易的了,修改mysql库的user表,但是别忘了使用PASSWO福特ExplorerD函数。

先是,关闭实例

率先,关闭实例

复制代码 代码如下:

方法二

这里,只可以通过kill mysqld进度的点子。

此间,只可以通过kill mysqld进度的章程。

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
FLUSH PRIVILEGES;

选用mysqladmin,那是前面申明的一个特例。

注意:不是mysqld_safe进度,也切忌采纳kill -9。

注意:不是mysqld_safe进程,也切忌选用kill -9。

2)关闭mysqld服务进度。
3)使用mysqld_safe启动mysqld;

mysqladmin -u root -p password mypasswd

# ps -ef |grep mysqld
root      6220  6171  0 08:14 pts/0    00:00:00 /bin/sh bin/mysqld_safe --defaults-file=my.cnf
mysql      6347  6220  0 08:14 pts/0    00:00:01 /usr/local/mysql57/bin/mysqld --defaults-file=my.cnf --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data --plugin-dir=/usr/local/mysql57/lib/plugin --user=mysql --log-error=slowtech.err --pid-file=slowtech.pid --socket=/usr/local/mysql57/data/mysql.sock --port=3307
root      6418  6171  0 08:17 pts/0    00:00:00 grep --color=auto mysqld

# kill 6347
# ps -ef |grep mysqld
root  6220 6171 0 08:14 pts/0 00:00:00 /bin/sh bin/mysqld_safe --defaults-file=my.cnf
mysql  6347 6220 0 08:14 pts/0 00:00:01 /usr/local/mysql57/bin/mysqld --defaults-file=my.cnf --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data --plugin-dir=/usr/local/mysql57/lib/plugin --user=mysql --log-error=slowtech.err --pid-file=slowtech.pid --socket=/usr/local/mysql57/data/mysql.sock --port=3307
root  6418 6171 0 08:17 pts/0 00:00:00 grep --color=auto mysqld

# kill 6347

复制代码 代码如下:

输入那些命令后,须求输入root的原密码,然后root的密码将改为mypasswd。

 

运用--skip-grant-tables参数,重启实例

mysqld_safe --init-file=/home/me/mysql-init &

把命令里的root改为您的客户名,你就能够改你和煦的密码了。

接纳--skip-grant-tables参数,重启实例

# bin/mysqld_safe --defaults-file=my.cnf --skip-grant-tables --skip-networking &

地点的二种情势是在忘记root密码情形下重新安装密码的主意,能够窥见都亟需重启mysqld服务。相当多少人都以行使第一种实行重新恢复设置root密码,可是正如推荐的做法反而是第两种,即安全有飞速轻易。

当然就算您的mysqladmin连接不上mysql server,恐怕您未曾章程推行mysqladmin,那么这种方法正是对事情未有什么益处的,何况mysqladmin比比较小概把密码清空。

# bin/mysqld_safe --defaults-file=my.cnf --skip-grant-tables  --skip-networking &

设置了该参数,则实例在运转进程中会跳过权力表的加载,这就象征任何顾客都能登入进来,并打开另外操作,特别不安全。

二、不重启mysqld的方法

上边的主意都在mysql提醒符下使用,且必得有mysql的root权限:

安装了该参数,则实例在起步进程中会跳过权力表的加载,那就表示任何客商都能登陆进来,并开展别的操作,非凡不安全。

建议还要增添--skip-networking参数。其会让实例关闭监听端口,自然也就不可能树立TCP连接,而不得不通过地面socket举行连接。

1、首先得有多个能够具备修改权限的mysql数据库账号,当前的mysql实例账号(相当低权限的账号,举个例子能够修改test数据库)或然另外同等版本实例的账号。把data/mysql目录上边包车型客车user表相关的文书复制到data/test目录上面。

方法三

提出还要增多--skip-networking参数。其会让实例关闭监听端口,自然也就不或者建设构造TCP连接,而不得不通过地面socket实行一而再。

MySQL8.0就是那般做的,在设置了--skip-grant-tables参数的同有时候会自动开启--skip-networking。

复制代码 代码如下:

mysql> Insert INTO mysql.user (Host,User,Password)

MySQL8.0正是这么做的,在安装了--skip-grant-tables参数的同不常候会活动开启--skip-networking。

修改密码

[[email protected] mysql]# cp mysql/user.* test/
[[email protected] mysql]# chown mysql.mysql test/user.*

VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’));

 

# mysql -S /usr/local/mysql57/data/mysql.sock

mysql> update mysql.user set authentication_string=password('123456') where host='localhost' and user='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

2、选用另八个很低权限的账号链接数据库,设置test数据库中的user存款和储蓄的密码数据。

mysql> FLUSH PRIVILEGES

修改密码

注意:

复制代码 代码如下:

少量地说那是在增加贰个客户,顾客名称为jeffrey,密码为biscuit。

# mysql -S /usr/local/mysql57/data/mysql.sock

mysql> update mysql.user set authentication_string=password('123456') where host='localhost' and user='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

此处的update语句针对的是MySQL 5.7的操作,要是是在5.6本子,修改的应当是password字段,实际不是authentication_string。

[[email protected] mysql]# mysql -utest -p12345
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 17
Server version: 5.5.25a-log Source distribution

在《mysql中文参谋手册》里有其一例子:

 

update mysql.user set password=password('123456') where host='localhost' and user='root';

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

只顾要利用PASSWO昂科拉D函数,然后还要选择FLUSH P宝马X5IVILEGES。

注意:

而在MySQL 8.0.11本子中,这种办法为主不可行,因为其已移除了PASSWORD()函数及不再援救SET PASSWORD ... = PASSWORD ('auth_string')语法。

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

方法四

这边的update语句针对的是MySQL 5.7的操作,假设是在5.6版本,修改的相应是password字段,并不是authentication_string。

一见依然发现,这种措施的可移植性实在太差,八个例外的本子,就前后相继经历了列名的改造,及命令的不可用。

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

和措施三等同,只是利用了REPLACE语句

update mysql.user set password=password('123456') where host='localhost' and user='root';

上边,介绍别的一种更通用的做法,依然在skip-grant-tables的功底上。

mysql> use test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

mysql> REPLACE INTO mysql.user (Host,User,Password)

 

与地点分歧的是,其会先经过flush privileges操作触发权限表的加载,再利用alter user语句修改root客户的密码,如:

Database changed
mysql> update user set password=password('yayun') where user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 5  Changed: 0  Warnings: 0

VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’));

而在MySQL 8.0.11本子中,这种艺术为主不可行,因为其已移除了PASSWO福特ExplorerD()函数及不再补助SET PASSWO索罗德D ... = PASSWORD ('auth_string')语法。

# bin/mysql -S /usr/local/mysql57/data/mysql.sock

mysql> alter user 'root'@'localhost' identified by '123';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> alter user 'root'@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)

mysql>

mysql> FLUSH PRIVILEGES

轻松察觉,这种艺术的可移植性实在太差,多少个不等的本子,就前后相继经历了列名的更改,及命令的不可用。

免密码登入进来后,直接实践alter user操作是老大的,因为那时的权位表还没加载。可先通过flush privileges操作触发权限表的加载,再进行alter user操作。

3、把修改后的user.MYD和user.MYI复制到mysql目录下,记得备份在此以前的文件。

方法五

 

亟需小心的是,通过alter user修改密码只适用于MySQL5.7和8.0,要是是MySQL 5.6,此处可写成

复制代码 代码如下:

使用SET PASSWORD语句,

上面,介绍别的一种更通用的做法,仍然在skip-grant-tables的底子上。

update mysql.user set password=password('123456') where host='localhost' and user='root';

mv mysql/user.MYD mysql/user.MYD.bak
mv mysql/user.MYI mysql/user.MYI.bak
cp test/user.MY* mysql/
chown mysql.mysql mysql/user.*

mysql> SET PASSWORD FOR " = PASSWORD(’biscuit’);

与地点不相同的是,其会先经过flush privileges操作触发权限表的加载,再选择alter user语句修改root客商的密码,如:

聊到底重启实例

4、追寻mysql进度号,何况发送SIGHUP随机信号,重新加载权限表。

拟也不可能不选取PASSWOENVISIOND()函数,不过无需使用FLUSH PPRADOIVILEGES。

# bin/mysql -S /usr/local/mysql57/data/mysql.sock

mysql> alter user 'root'@'localhost' identified by '123';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> alter user 'root'@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)
mysql> shutdown;

# bin/mysqld_safe --defaults-file=my.cnf &

复制代码 代码如下:

方法六

免密码登入进来后,直接施行alter user操作是老大的,因为这时的权力表还没加载。可先通过flush privileges操作触发权限表的加载,再执行alter user操作。

亟需小心的是,假设在开发银行的经过中尚无点名--skip-networking参数,没有须要重启实例。但在互连网看看的大部方案,都是未曾点名该参数,但重启了实例,实在不要求。

[[email protected] mysql]# pgrep -n mysql
2184
[[email protected] mysql]#
[[原来还有更优雅的解法,root密码忘记后更优雅的解决方法。email protected] mysql]# kill -SIGHUP 2184

使用GRANT ... IDENTIFIED BY语句

内需小心的是,通过alter user修改密码只适用于MySQL5.7和8.0,固然是MySQL 5.6,此处可写成

下面对这些方案做个小结:

5、登入测量试验

mysql> GRANT USAGE ON *.* TO " IDENTIFIED BY ’biscuit’;

update mysql.user set password=password('123456') where host='localhost' and user='root';

1. 如若只增加了--skip-grant-tables,修改完密码后,其实没有供给重启,实践flush privileges就可以。

复制代码 代码如下:

此间PASSWOCR-VD()函数是不要求的,也无需动用FLUSH PENVISIONIVILEGES。

 

2. 从平安角度出发,建议加上--skip-networking。但因其是静态参数,将其除去掉必要重启实例。

[[email protected] mysql]# mysql -uroot -pyayun
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 20
Server version: 5.5.25a-log Source distribution

注意: PASSWORD() [不是]原来还有更优雅的解法,root密码忘记后更优雅的解决方法。以在Unix口令加密的等同措施实践口令加密。

末段重启实例

3. 抬高--skip-networking,纵然可以屏蔽掉TCP连接,但对于本地其余顾客,只要有socket文件的可读权限,都能无密码登陆。依旧存在安全隐患。

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

MySQL 忘记口令的解决办法

mysql> shutdown;

# bin/mysqld_safe --defaults-file=my.cnf &
  1. 不建议通过update的章程修改密码,更通用的骨子里是alter user。

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

万一 MySQL 正在运维,首先杀之: killall -TERM mysqld。

亟待注意的是,即使在开发银行的进度中并未有一点点名--skip-networking参数,无需重启实例。但在网络看看的大好些个方案,都以绝非点名该参数,但重启了实例,实在没有必要。

更优雅的解法

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

启动 MySQL :bin/safe_mysqld --skip-grant-tables &

上边临那些方案做个总计:

周旋于skip-grant-tables方案,大家来寻访其余一种更优雅的解法,其只会重启叁次,且基本上不设有安全隐患。

mysql>

就能够不供给密码就走入 MySQL 了。

1. 假如只增加了--skip-grant-tables,修改完密码后,其实无需重启,实行flush privileges就可以。

率先,依旧是关闭实例

 

下一场正是

2. 从安全角度出发,提议加上--skip-networking。但因其是静态参数,将其删除掉须求重启实例。

说不上,创设一个sql文件

1、skip-grant-tables 大家常用的方法是行使skip-grant-tables选项,mysqld server运营之后并不采纳权限系...

>use mysql

3. 加上--skip-networking,尽管能够屏蔽掉TCP连接,但对于本地另外顾客,只要有socket文件的可读权限,都能无密码登陆。依然存在安全隐患。

写上密码修改语句

>update user set password=password("new_pass") where user="root";

  1. 不提出通过update的点子修改密码,更通用的实在是alter user。
# vim init.sql 
alter user 'root'@'localhost' identified by '123456';

>flush privileges;

 

最终,使用--init-file参数,运营实例

再也杀 MySQL ,用健康艺术运维 MySQL 。

更优雅的解法

# bin/mysqld_safe --defaults-file=my.cnf --init-file=/usr/local/mysql57/init.sql &

mysql密码清空

相对于skip-grant-tables方案,我们来探问其他一种更优雅的解法,其只会重启一回,且基本上不设有安全隐患。

实例运行成功后,密码即修改达成~

Windows:

首先,还是是破产实例

就算mysql实例是通过劳动脚本来管理的,除了创立sql文件,整个操作可简化为一步。

1.用系统管理员登入系统。

帮忙,创立一个sql文件

# service mysqld restart --init-file=/usr/local/mysql57/init.sql 

2.停止MySQL的服务。

写上密码修改语句

注意:该操作只适用于/etc/init.d/mysqld这种服务管理方式,不适用于摩尔根Plus 4HEL 7新生产的systemd。

3.跻身命令窗口,然后步入MySQL的装置目录,比方本人的设置目录是c:mysql,步向C:mysql in

# vim init.sql 
alter user 'root'@'localhost' identified by '123456';

总结

4.跳过权力检查运行MySQL,

 

以上就是那篇小说的全体内容了,希望本文的剧情对咱们的学习也许干活有所自然的参谋学习价值,尽管有难点大家能够留言交流,感谢大家对剧本之家的协助。

c:mysql in>mysqld-nt --skip-grant-tables

终极,使用--init-file参数,运维实例

你或然感兴趣的篇章:

  • windows下mysql忘记root密码的消除办法
  • Mysql的Root密码忘记,查看或改换的化解方法(图像和文字介绍)
  • Mysql5.7遗忘root密码及mysql5.7退换root密码的秘技
  • Mysql 忘记root密码的健全消除方式
  • 在Linux意况下mysql的root密码忘记解决措施(二种)
  • Mysql 忘记root密码和改造root密码的缓和办法(小结)
  • Mysql 5.7 忘记root密码或重新初始化密码的详细措施
  • 遗忘mysql数据库root客商密码重新恢复设置方法[图文]
  • linux mysql忘记密码的多样缓慢解决或Access denied for user ''root''@''localhost''
  • 强制修改mysql的root密码的二种办法分享(mysql忘记密码)

5.重复打开一个窗口,步入c:mysql in目录,设置root的新密码

# bin/mysqld_safe --defaults-file=my.cnf --init-file=/usr/local/mysql57/init.sql &

c:mysql in>mysqladmin -u root flush-privileges password "newpassword"

实例运营成功后,密码即修改实现~

c:mysql in>mysqladmin -u root -p shutdown

 

将newpassword替换为您要用的root的密码,第二个命令会提醒您输入新密码,重复第三个指令输入的密码。

假若mysql实例是通过劳务脚本来管理的,除了创立sql文件,整个操作可简化为一步。

6.甘休MySQL Server,用常规格局运营Mysql

# service mysqld restart --init-file=/usr/local/mysql57/init.sql 

7.您能够用新的密码链接到Mysql了。

留意:该操作只适用于/etc/init.d/mysqld这种服务处理办法,不适用于昂CoraHEL 7新生产的systemd。

Unix&Linux:

 

1.用root恐怕运营mysqld的顾客登入体系;

2.施用kill命令甘休掉mysqld的历程;

3.选取--skip-grant-tables参数运行MySQL Server

shell>mysqld_safe --skip-grant-tables &

4.为设置新密码

shell>mysqladmin -u root flush-privileges password "newpassword"

5.重启MySQL Server

mysql修改密码

mysql修改,可在mysql命令行实施如下:

mysql -u root mysql

mysql> Update user SET password=PASSWORD("new password") Where user=’name’;

mysql> FLUSH PRIVILEGES;

mysql> QUIT

教你怎么样将MySQL数据库的密码恢复生机

因为MySQL密码存款和储蓄于数据库mysql中的user表中,所以只需求将自个儿windows 二〇〇二下的MySQL中的user表拷贝过来覆盖掉就行了。

在c:mysqldatamysql(linux 则经常在/var/lib/mysql/mysql/)目录下有四个user表相关文件user.frm、user.MYD、user.MYI

user.frm //user表样式文件

user.MYD //user表数据文件

user.MYI //user表索引文件

为力保起见,八个都拷贝过来,但是实在假诺此前在要过来的不行MySQL上未曾更动过表结构来讲,只要拷贝user.MYD就行了

然后

#. /etc/rc.d/init.d/mysql stop

#. /etc/rc.d/init.d/mysql start

#mysql -u root -p XXXXXX

好了,能够用windows 二零零一下mysql密码登入了

mysql>use mysql

mysql>update user set Password=PASSWORD(’xxxxxx’) where User=’root’;

那儿会出错,提醒user表独有读权限

自身剖析了一下缘故,只那样的,因为user.*文本的权杖分配是windows 二〇〇二下的,在windows 二〇〇二下本人ls -l一看权限是666

在linux下自身一看,拷过来后权限形成了600(其实寻常状态下600就行了,只可是这里的文件属主不是mysql,拷过来后的属主变为了root,所以会出现权力远远不足,那时候如若你改成权限666则能够了,当然如此倒霉,未有缓和难题的面目),在/var/lib/mysql/mysql/下ls -l看了一晃再

#chown -R mysql:mysql user.*

#chmod 600 user.*

//OK,DONE

重起一下MYSQL

再也连接

mysql>use mysql

mysql>update user set Password=PASSWORD(’xxxxxx’) where User=’root’;

mysql>FLUSH PRIVILEGES;

有某个值得注意:即便你windows 下mysql要是是暗中认可配置来讲,注意要还要实行

mysql>delete from user where User=’’;

mysql>delete from user where Host=’%’;

mysql>FLUSH PRIVILEGES;

好了,到这里恢复生机密码过程就完毕了

本条点子么正是有一点点局限性,你无法不也持有另外的user表文件

任何还会有二种格局

其他方法一(这么些是互连网流传较广的措施,mysql中文参照他事他说加以考察手册上的)

  1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),贮存进度ID的公文平日在MYSQL的数据库所在的目录中。

killall -TERM mysqld

您不能够不是UNIX的root客户照旧是你所运营的SERubiconVEEscort上的完全一样顾客,手艺施行那么些操作。

  1. 使用`--skip-grant-tables’ 参数来运行 mysqld。 LINUX下:

/usr/bin/safe_mysqld --skip-grant-tables , windows下c:mysql inmysqld --skip-grant-tables

  1. 然后无密码登入到mysqld server ,

>use mysql

>update user set password=password("new_pass") where user="root";

>flush privileges;

您也足以如此做:

mysqladmin -h hostname -u user password ’new password’’

  1. 载入权限表:

mysqladmin -h hostname flush-privileges’

抑或应用 SQL 命令

FLUSH PRIVILEGES’

5.killall -TERM mysqld

6.用新密码登录

任何方法二

直白用十六进制编辑器编辑user.MYD文件

不过那个里面作者要证实有个别,作者这里编辑的时候开采个难题,加密的密码串有个别是接连存款和储蓄的,有个别的末尾两位被切除了,后两位存款和储蓄在后头别的地点.那一点本人还没想明白.还应该有注意一点便是编写制定的是加密过的密码串,也正是说你要么必要其余有user表文件。这种方法和本身最上边介绍的章程的分别在于,这种措施间接编辑linux下的user表文件,就没有必要重新改文件属主和权杖了

更正一下:笔者在Windows下的实操如下

1.关门正在运作的MySQL。

2.打开DOS窗口,转到mysql in目录。

3.输入

mysqld-nt --skip-grant-tables

回车。若无出现提示音信,那就对了。

4.再开一个DOS窗口(因为刚刚那贰个DOS窗口已经不可能动了),转到mysql in目录。

5.输入mysql回车,如若成功,将面世MySQL提醒符 >

  1. 连天权限数据库

>use mysql;

(>是本来就一些晋升符,别忘了最终的分企业)

6.改密码:

> update user set password=password("123456") where user="root"; (别忘了最终的分行)

7.刷新权力(必得的步子)

>flush privileges;

8.退出

> q

9.撤销系统,再进来,开MySQL,使用顾客名root和刚刚设置的新密码123456登入。

据悉能够用直白修改user表文件的办法:

闭馆MySQL,Windows下开荒Mysqldatamysql,有七个文本user.frm,user.MYD,user.MYI找个

root密码的几种办法: 方法一 使用phpmyadmin,那是最简便易行的了,修改mysql库的user表,可是别忘了使用PASSWO途乐D函数。 方法二 使用...

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:原来还有更优雅的解法,root密码忘记后更优雅的

关键词: