一般出来忘记密码都是一新mysql新手朋友,下面我们来告诉你如何利用mysqadmin来把密码修改过来吧.
我来做几个例子相信很快就明白了.
1、原来的密码是123456
- C:>typemysql5.bat
- @echooff
- mysql-uroot-p123456-P3306
正确的修改MYSQL用户密码的格式是,我们这里用:
用户:root,可以换成其他的.
密码:woshiduide
来演示新密码,代码如下:
- C:>mysqladmin-uroot-ppasswordwoshiduide
- Enterpassword:******
于是修改成功,注意PASSWORD关键字后面的空格,有好多人是这样修改的,代码如下:
- C:>mysqladmin-uroot-ppassword‘woshiduide’
- Enterpassword:******
- --phpfensi.com
- C:>mysqladmin-uroot-ppassword‘woshiduide’
- Enterpassword:*********
- Warning:singlequoteswerenottrimmedfromthepasswordbyyourcommand
- lineclient,asyoumighthaveexpected.
而这个时候真正的密码是’woshiduide’,代码如下:
- C:>mysql-uroot-p’woshiduide’
- WelcometotheMySQLmonitor.Commandsendwith;org.
- YourMySQLconnectionidis18
- Serverversion:5.1.17-beta-community-nt-debugMySQLCommunityServer(GPL)
- Type‘help;’or‘h’forhelp.Type‘c’toclearthebuffer.
- mysql>
而新手往往这样,代码如下:
- C:>mysql-uroot-pwoshiduide
- ERROR1045(28000):Accessdeniedforuser‘root’@'localhost’(usingpassword:Y
- ES)
所以非常郁闷,BAIDU、GOOGLE的搜了一大堆,我现在把密码改回去,代码如下:
C:>mysqladmin -uroot -p’woshiduide’ password 123456
2、还有就是可以直接进入MYSQL,然后修改密码,代码如下:
- mysql>usemysql
- Databasechanged
- mysql>updateusersetPASSWORD=PASSWORD(‘woshiduide’)whereUSER=’root’andH
- OST=’localhost’;
- QueryOK,1rowaffected(0.05sec)
- Rowsmatched:1Changed:1Warnings:0
- mysql>flushprivileges;
- mysql>exit
- Bye
- C:>mysql-uroot-pwoshiduide
- WelcometotheMySQLmonitor.Commandsendwith;org.
- YourMySQLconnectionidis23
- Serverversion:5.1.17-beta-community-nt-debugMySQLCommunityServer(GPL)
- Type‘help;’or‘h’forhelp.Type‘c’toclearthebuffer.
- mysql>
- QueryOK,0rowsaffected(0.02sec)
3、还有一种就是用SET PASSWORD 命令修改,代码如下:
- C:>mysql5.bat
- Enterpassword:******
- WelcometotheMySQLmonitor.Commandsendwith;org.
- YourMySQLconnectionidis8
- Serverversion:5.1.17-beta-community-nt-debug-logMySQLCommunityServer(GPL)
- Type‘help;’or‘h’forhelp.Type‘c’toclearthebuffer.
- mysql>setpasswordforroot@’localhost’=password(‘woshiduide’);
- QueryOK,0rowsaffected(0.02sec)
- mysql>flushprivileges;
- QueryOK,0rowsaffected(0.09sec)
- mysql>exit
- 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 得到服务器的版本信息
所有命令可以被缩短为其唯一的前缀,代码如下:
- shell>;mysqladminprocstat
- +----+-------+-----------+----+-------------+------+-------+------+
- |Id|User|Host|db|Command|Time|State|Info|
- +----+-------+-----------+----+-------------+------+-------+------+
- |6|monty|localhost||Processlist|0|||
- +----+-------+-----------+----+-------------+------+-------+------+
- Uptime:10077Threads:1Questions:9Slowqueries:0Opens:6Flushtables:1
- Opentables:2Memoryinuse:1092KMaxmemoryused: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(这里面是导出或者自己写的语句)