linux mysql用户管理
一、root用户密码的维护:
由于安装MySQL完后,MySQL会自动提供一个不带密码的root用户,为了安全起见给root设置密码:
#mysqladmin -u root password 123 (123为密码,也可以写成:'123'或"123") ;
设置密码后登入时就不能直接输入mysql了,必须跟些参数了,如下:
[root@localhost ~]# mysql -u root -p (-u 后跟登入的用户名,-p 提示要密码登入)
Enter password:(输入密码)
修改密码:
[root@localhost ~] #mysqladmin -u root -p password 123456 (password 后跟的是要更新的新密码)
Enter password:(输入原始密码,回车即可)
二、其他用户的增加和删除:
以root用户登入,在mysql中有一张mysql.user表是存储MySQL中所有用户的信息表,所以可以直接增加删除这个表的记录就可增加和删除用户;
1.添加用户(有两种形式):
A.mysql> grant all on *.* to yushan@"%" identified by "123" ;
mysql>flush privileges; (刷新系统权限表)
(执行完会在mysql.user表插入一条记录,all表示所有权限(包括增 删 改 查等权限), *.* 表示所有数据库,yushan为添加的用户名,123为密码,%为匹配的所有主机,上面的信息都可以指定如grant select,update on db.* to yushan@localhost identified by '123";)
B.直接对mysql.user添加一条记录
mysql> insert into mysql.user(Host,User,Password) values("localhost","yusuhan",password("123"));
mysql>flush privileges;
这样就创建了一个名为:yushan 密码为:123 (密码是经过加密的 ) 的用户,不过这样没有权限因为只添加了三个字段,也可通过grant添 加权限:
mysql>grant all on *.* to yushan@localhost identified by '123";
mysql>flush privileges;(刷新系统权限表)
(这种好像有点啰嗦了。直接用grant不久得了)
添加完用户 如果要远程登入MySQL,必须跟上主机Ip 如下:
[root@localhost ~]# mysql -u yushan -p -h 192.168.59.123
Enter password:(输入密码)
2.删除用户 :
mysql>delete from mysql.user where user ='yushan' ;
mysql>flush privileges; (刷新系统权限表)
其他用户的密码修改与root的一样,在这里无论是添加或是删除操作后必须来个flush privileges;这样才能起作用特别是删除用户后,如果未执行,被删除的用户还可登入,以上都是在MySQL root用户下操作,为了MySQL的安全,应该给用户指定相应的权限
ps:相关连接
http://www.phplamp.org/2008/06/mysql-add-user/
http://www.oklinux.cn/html/sql/other/20080516/54375.html
http://wenson.iteye.com/blog/39066
http://article.3326.com/idc/Linux/MYSQL/0Q625C52008.html