日期:2014-05-16  浏览次数:20807 次

【转载】linux mysql用户管理

?

说明:本文转自http://www.cnblogs.com/blong880123/archive/2011/11/30/2269451.html

?

一、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的安全,应该给用户指定相应的权限