分享

linux下 mysql用户的管理

 忧郁_小刚 2011-03-22

 

自从上在redhat Enterprise 5 中安装了MySQL,这次来实践操作一下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./2008/06/mysql-add-user/

http://www./html/sql/other/20080516/54375.html

http://wenson./blog/39066

http://article./idc/Linux/MYSQL/0Q625C52008.html

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多