借助MySQL命令行root修改密码
发布时间:2022-06-11 15:44:57 所属栏目:MySql教程 来源:互联网
导读:如果我们在命令状态下修改mysql中root密码可以直接利用update来更新mysql.user中用户名为root密码即可. 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1、给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令 mysqladmin -u root -pas
如果我们在命令状态下修改mysql中root密码可以直接利用update来更新mysql.user中用户名为root密码即可. 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1、给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令 mysqladmin -u root -password ab12 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 2、再将root的密码改为djg345。 mysqladmin -u root -p ab12 password djg345 注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符. 3、命令行修改root密码: mysql> UPDATE mysql.user SET password=PASSWORD(’新密码’) WHERE User=’root’; mysql> FLUSH PRIVILEGES; 4、显示当前的user: mysql> SELECT USER(); 上面是记得密码如果你忘记了root 口令,可以参考下面方法解决. 如果 MySQL 正在运行,首先杀之:killall -TERM mysqld。 启动 MySQL:bin/safe_mysqld --skip-grant-tables & 就可以不需要密码就进入 MySQL 了。 然后就是: >use mysql >update user set password=password("new_pass") where user="root"; >flush privileges; --phpfensi.com 重新杀 MySQL,用正常方法启动 MySQL. mysql密码清空 Windows: 1.用系统管理员登陆系统。 2.停止MySQL的服务。 3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:mysql,进入C:mysqlbin 4.跳过权限检查启动MySQL, c:mysqlbin>mysqld-nt --skip-grant-tables 5.重新打开一个窗口,进入c:mysqlbin目录,设置root的新密码 c:mysqlbin>mysqladmin -u root flush-privileges password "newpassword" c:mysqlbin>mysqladmin -u root -p shutdown 将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。 6.停止MySQL Server,用正常模式启动Mysql 7.你可以用新的密码链接到Mysql了。 Unix&Linux: 1.用root或者运行mysqld的用户登录系统; 2.利用kill命令结束掉mysqld的进程; 3.使用--skip-grant-tables参数启动MySQL Server shell>mysqld_safe --skip-grant-tables & 4.为root@localhost设置新密码 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 --phpfensi.com 教你如何将MySQL数据库的密码恢复 因为MySQL密码存储于数据库mysql中的user表中,所以只需要将我windows 2003下的MySQL中的user表拷贝过来覆盖掉就行了。 然后: #. /etc/rc.d/init.d/mysql stop #. /etc/rc.d/init.d/mysql start #mysql -u root -p XXXXXX 好了,可以用windows 2003下mysql密码登陆了. mysql>use mysql mysql>update user set Password=PASSWORD('xxxxxx') where User='root'; 这时候会出错,提示user表只有读权限. 我分析了一下原因,只这样的,因为user.*文件的权限分配是windows 2003下的,在windows 2003下我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中文参考手册上的) 1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。 Killall -TERM mysqld 你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。 2.使用`--skip-grant-tables' 参数来启动 mysqld。 LINUX下: /usr/bin/safe_mysqld --skip-grant-tables , windows下c:mysqlbinmysqld --skip-grant-tables 3.然后无密码登录到mysqld server , >use mysql >update user set password=password("new_pass") where user="root"; >flush privileges; 你也可以这样做: mysqladmin -h hostname -u user password 'new password'' 4. 载入权限表: mysqladmin -h hostname flush-privileges' 或者使用 SQL 命令: `FLUSH PRIVILEGES' 5.killall -TERM mysqld 6.用新密码登陆 其它方法二 后记,因为恢复过程比较好玩,所以写了篇笔记,不要砸我啊,各位高手还有什么其他好玩的方法不要忘了告诉我哦. 修正一下:我在Windows下的实际操作如下: 1.关闭正在运行的MySQL。 2.打开DOS窗口,转到mysqlbin目录。 3.输入:mysqld-nt --skip-grant-tables 回车,如果没有出现提示信息,那就对了. 4.再开一个DOS窗口,因为刚才那个DOS窗口已经不能动了,转到mysqlbin目录. 5.输入mysql回车,如果成功,将出现MySQL提示符 > 6. 连接权限数据库 >use mysql; (>是本来就有的提示符,别忘了最后的分号) 6.改密码: > update user set password=password("123456") where user="root"; (别忘了最后的分号) (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |