首页 > 数据库 > MySQL > 正文

忘mysql root密码之MYSQLADMIN修改密码方法

2024-07-24 12:39:05
字体:
来源:转载
供稿:网友

一般出来忘记密码都是一新mysql新手朋友,下面我们来告诉你如何利用mysqadmin来把密码修改过来吧.

我来做几个例子相信很快就明白了.

1、原来的密码是123456

  1. C:>type mysql5.bat 
  2. @echo off 
  3. mysql -uroot -p123456 -P3306 

正确的修改MYSQL用户密码的格式是,我们这里用:

用户:root,可以换成其他的.

密码:woshiduide

来演示新密码,代码如下:

  1. C:>mysqladmin -uroot -p password woshiduide 
  2. Enter password: ****** 

于是修改成功,注意PASSWORD关键字后面的空格,有好多人是这样修改的,代码如下:

  1. C:>mysqladmin -uroot -p password ‘woshiduide’ 
  2. Enter password: ****** 
  3. --Vevb.com 
  4. C:>mysqladmin -uroot -p password ‘woshiduide’ 
  5. Enter password: ********* 
  6. Warning: single quotes were not trimmed from the password by your command 
  7. line client, as you might have expected. 

而这个时候真正的密码是’woshiduide’,代码如下:

  1. C:>mysql -uroot -p’woshiduide’ 
  2. Welcome to the MySQL monitor.  Commands end with ; or g. 
  3. Your MySQL connection id is 18 
  4. Server version: 5.1.17-beta-community-nt-debug MySQL Community Server (GPL) 
  5.  
  6. Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. 
  7.  
  8. mysql> 

而新手往往这样,代码如下:

  1. C:>mysql -uroot -pwoshiduide 
  2. ERROR 1045 (28000): Access denied for user ‘root’@'localhost’ (using password: Y 
  3. ES) 

所以非常郁闷,BAIDU、GOOGLE的搜了一大堆,我现在把密码改回去,代码如下:

C:>mysqladmin -uroot -p’woshiduide’ password 123456 

2、还有就是可以直接进入MYSQL,然后修改密码,代码如下:

  1. mysql> use mysql 
  2. Database changed 
  3. mysql> update user set PASSWORD = PASSWORD(‘woshiduide’) where USER=’root’ and H 
  4. OST=’localhost’; 
  5. Query OK, 1 row affected (0.05 sec) 
  6. Rows matched: 1  Changed: 1  Warnings: 0 
  7.  
  8. mysql> flush privileges
  9.  
  10. mysql> exit 
  11. Bye 
  12.  
  13. C:>mysql -uroot -pwoshiduide 
  14. Welcome to the MySQL monitor.  Commands end with ; or g. 
  15. Your MySQL connection id is 23 
  16. Server version: 5.1.17-beta-community-nt-debug MySQL Community Server (GPL) 
  17.  
  18. Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. 
  19.  
  20. mysql> 
  21. Query OK, 0 rows affected (0.02 sec) 

3、还有一种就是用SET PASSWORD 命令修改,代码如下:

  1. C:>mysql5.bat 
  2. Enter password: ****** 
  3. Welcome to the MySQL monitor.  Commands end with ; or g. 
  4. Your MySQL connection id is 8 
  5. Server version: 5.1.17-beta-community-nt-debug-log MySQL Community Server (GPL) 
  6.  
  7. Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. 
  8.  
  9. mysql> set password for root@’localhost’ = password(‘woshiduide’); 
  10. Query OK, 0 rows affected (0.02 sec) 
  11.  
  12. mysql> flush privileges
  13. Query OK, 0 rows affected (0.09 sec) 
  14.  
  15.  
  16. mysql> exit 
  17. Bye 

4、GRANT 也可以,不过这里不介绍,因为涉及到权限的问题.

mysql中mysqladmin命令用法简介

用于执行管理性操作,语法是:

shell>; mysqladmin [OPTIONS] command [command-option] command ... 

通过执行mysqladmin --help,你可以得到你mysqladmin的版本所支持的一个选项列表.

目前mysqladmin支持下列命令:

create databasename 创建一个新数据库 

drop databasename 删除一个数据库及其所有表 

extended-status 给出服务器的一个扩展状态消息 

flush-hosts 洗掉所有缓存的主机 

flush-logs 洗掉所有日志 

flush-tables 洗掉所有表 

flush-privileges 再次装载授权表(同reload) 

kill id,id,... 杀死mysql线程 

password 新口令,将老口令改为新口令 

ping 检查mysqld是否活着 

processlist 显示服务其中活跃线程列表 

reload 重载授权表 

refresh 洗掉所有表并关闭和打开日志文件 

shutdown 关掉服务器 

status 给出服务器的简短状态消息 

variables 打印出可用变量 

version 得到服务器的版本信息 

所有命令可以被缩短为其唯一的前缀,代码如下:

  1. shell>; mysqladmin proc stat  
  2. +----+-------+-----------+----+-------------+------+-------+------+  
  3. | Id | User | Host | db | Command | Time | State | Info |  
  4. +----+-------+-----------+----+-------------+------+-------+------+  
  5. | 6 | monty | localhost | | Processlist | 0 | | |  
  6. +----+-------+-----------+----+-------------+------+-------+------+  
  7. Uptime: 10077 Threads: 1 Questions: 9 Slow queries: 0 Opens: 6 Flush tables: 1  
  8. Open tables: 2 Memory in use: 1092K Max memory used: 1116K  

mysqladmin status命令结果有下述列:

Uptime MySQL服务器已经运行的秒数 

Threads 活跃线程(客户)的数量 

Questions 从mysqld启动起来自客户问题的数量 

Slow queries 已经超过long_query_time秒的查询数量 

Opens mysqld已经打开了多少表 

Flush tables flush ..., refresh和reload命令数量 

Open tables 现在被打开的表数量 

Memory in use 由mysqld代码直接分配的内存(只有在MySQL用--with-debug编译时可用) 

Max memory used 由mysqld代码直接分配的最大内存(只有在MySQL用--with-debug编译时可用) 

主要是管理 不是使用 使用的话直接进入mysql create table 

也可以mysqldmin create database 

./***.sql(这里面是导出或者自己写的语句)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表