Guest User

Untitled

a guest
Oct 29th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. 1、编辑MySQL配置文件:my.ini
  2. 一般在MySQL安装目录下有my.ini即MySQL的配置文件。
  3. 此配置文件最后添加一行:
  4. skip-grant-tables
  5. 保存退出编辑。
  6.  
  7. 2、然后重启MySQL服务
  8. 在命令行下执行:
  9. net stop MySQL
  10. net start MySQL
  11.  
  12. 3、设置新的ROOT密码
  13. 然后再在命令行下执行:
  14. MySQL -u root -p MySQL或mysql -u root -p
  15. 直接回车无需密码即可进入数据库了。
  16. 此时,在命令行下执行 use mysql;
  17. 现在我们执行如下语句把root密码更新为:
  18. update user set password=PASSWORD("root") where user='root';
  19. (注意:此时不用使用mysqladmin -u root -p password '你的新密码'这条命令修改密码,因为'skip-grant-tables'配置,
  20. 不信的话,你可以试用一下,它肯定会报如下所示的错误:
  21. F:\Documents and Settings\long>mysqladmin -u root -p password 'root'
  22. Enter password:
  23. Warning: single quotes were not trimmed from the password by your command
  24. line client, as you might have expected.
  25. mysqladmin:
  26. You cannot use 'password' command as mysqld runs
  27. with grant tables disabled (was started with --skip-grant-tables).
  28. Use: "mysqladmin flush-privileges password '*'" instead)
  29. exit 退出MySQL。
  30.  
  31. 4、还原配置文件并重启服务
  32.  
  33. 然后修改MySQL配置文件把刚才添加的那一行'skip-grant-tables'删除。
  34. 再次重起MySQL服务,密码修改完毕。
  35. 用新密码root试一下吧,又能登入重新进入mysql了?
  36.  
  37.  
  38.  
  39. 附mysql修改密码的一些方法:
  40. 1. 用MYSQL的grant语句,例如
  41. mysql -h hostname –u root 命令登录到mysqld server 用grant 命令改变口令:
  42. mysql -h 192.168.1.101 -u root
  43. 上边的192.168.1.101 是偶的mysqld 运行机器,你换成自己的,这样登录上去,就可以修改密码了,
  44. 其实没必要这么麻烦,直接mysql -u root就可以了。
  45. GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION
  46.  
  47. 2. mysqladmin -u 用户名 -p 旧密码 password 新密码
  48. 例1:给root 加个密码root。首先进入cmd中,然后键入
  49. 以下命令,至于在CMD下能否使用mysqladmin,
  50. 就要看你的Windows环境变量PATH中是否添加“E:\Program Files\MySQL\MySQL Server 5.1\bin;”(请改为你自己的安装路径)了。)
  51. mysqladmin -u root password root
  52. 注:因为开始时root 没有密码,所以-p 旧密码一项就可以省略了。
  53. 例2:再将root 的密码改为admin。
  54. mysqladmin –u root -proot password admin(注意-p 不要和后面的密码分
  55. 开写,要写在一起,不然会出错,错误如下所示:
  56. F:\Documents and Settings\long>mysqladmin -u root -p root password admin
  57. Enter password: ****
  58. mysqladmin: Unknown command: 'root')
  59. 当然你也可以这样写:mysqladmin –u root -p password admin回车,
  60. 然后再输入你的旧密码,这样也是完全也可以的,看你的爱好了.
  61. 例3:再将root用户的密码去掉.
  62. F:\Documents and Settings\long>mysqladmin -u root -p password ;
  63. Enter password: root
  64. 此时,root用户又没有密码了.可以通过下面的方法设置:
  65. F:\Documents and Settings\long>mysql -u root
  66. mysql>set password for 'root'@'localhost'=password('root');(语法:SET PASSWORD FOR '用户名'@'主机' = PASSWORD('密码'))
  67. mysql>set password for 'root'@'%'=password('root');
  68. //本条可选,这是在配置mysql数据库,如果你选择了允许root通过远程登录进来时,你在mysql数据库下的user表中,
  69. use mysql;
  70. select * from user;可以看到有两条记录,如果你没有配置这一项的话,只会第一条记录!
  71. Host User Password
  72. 'localhost', 'root', '*9C9F4927129ECC3209D8550DC8B67156FDBF9418', ...
  73. '%', 'root', '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B', ...
  74. 通过以上设置,root的密码将变为root这样就完成了根用户root密码的设置工作。
  75.  
  76. 3. use mysql;
  77. update user set password =password('yourpass') where user='root'
  78.  
  79. (注:下面的这些方法我本人没有试过,不知对不对,我只是转载了一下:)
  80. 下面的方法都在mysql提示符下使用,且必须有mysql的root权限:
  81. 方法4
  82. mysql> INSERT INTO mysql.user (Host,User,Password)
  83. VALUES('%','jeffrey',PASSWORD('biscuit'));
  84. mysql> FLUSH PRIVILEGES
  85. 确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。
  86. 在《mysql中文参考手册》里有这个例子,所以我也就写出来了。
  87. 注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。
  88.  
  89. 方法5
  90. 和方法三一样,只是使用了REPLACE语句
  91. mysql> REPLACE INTO mysql.user (Host,User,Password)
  92. VALUES('%','jeffrey',PASSWORD('biscuit'));
  93. mysql> FLUSH PRIVILEGES
  94.  
  95. 方法6
  96. 使用SET PASSWORD语句,
  97. mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
  98. 你也必须使用PASSWORD()函数,
  99. 但是不需要使用FLUSH PRIVILEGES。
  100.  
  101.  
  102. 方法7
  103. 使用GRANT ... IDENTIFIED BY语句
  104. mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
  105. 这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。
  106.  
  107. 注:mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,
  108. 否则会出现拒绝访问,还可以重新启动mysql服务器,使新设置生效。
Add Comment
Please, Sign In to add comment