作者: falcon 发表日期: 2006-06-13 19:54
复制链接
下面的这个来自:
http://www.yesky.com/searchdatabase/504969419638702080/20050224/1914572.shtml
在MySQL中修改一个用户(比如叫"hunte")的密码,可以用如下3个办法:
#在控制台上输入 bash$ mysql -u root mysql #用mysql客户程序 mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='hunte'; mysql> FLUSH PRIVILEGES; mysql> QUIT
#在控制台上输入 bash$ mysql -u root mysql #用mysql客户程序 mysql> SET PASSWORD FOR hunte=PASSWORD('new password'); mysql> QUIT
#直接在控制台上输入 bash$ mysqladmin -u root "old password" "new password"
|
|
1)其实,上面的所有命令操作的对象都是mysql.user(mysql数据库的user表),而第一种操作方法刚好放映了这个,不相信。你查看一下mysql.user的内容。
2)另外,我们可以在分配权限给用户的时候,直接指定该用户的密码,具体操作可以是这个样子
falcon@falcon:~$ sudo -s Password: root@falcon:~# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 to server version: 5.0.21-Debian_3ubuntu1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> grant all on *.* to 54falcon identified by '54falcon'; Query OK, 0 rows affected (0.51 sec)
mysql> quit Bye root@falcon:~# mysql -u 54falcon -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 16 to server version: 5.0.21-Debian_3ubuntu1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> select user,password from mysql.user where user='54falcon'; +----------+------------------+ | user | password | +----------+------------------+ | 54falcon | 3e4722567adf268d | +----------+------------------+ 1 row in set (0.01 sec)
|
|
看到没有阿,密码已经指定阿,而且54falcon用户的权限也是不小的,呵呵。
3)诶,上面我们提到,既然用户和密码信息存放在mysql.user里头,我们是不是可以直接通过操作mysql.user来进行用户和密码的管理呢?回答是肯定的拉,呵呵
看看
mysql> insert into mysql.user(user) values('5454falcon'); Query OK, 1 row affected (0.02 sec)
mysql> select user from mysql.user where user like '%falcon%'; +------------+ | user | +------------+ | 5454falcon | | 54falcon | | falcon | +------------+ 3 rows in set (0.04 sec)
|
|
看到没,最上面的那个用户就是我们刚才插入的哦,要是想给个密码,用最开始给出方法就可以搞定拉。
诶,到此结束拉。