mysql 中用户管理小结

998阅读 0评论2012-06-19 wuxiaobo_2009
分类:Mysql/postgreSQL

一、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:(输入原始密码,回车即可)

有人会问到: 日! 我原来的mysql 密码丢失了(其实这种的一般都是有两种一种不负责任的管理员,一种hacker)怎么办呢?

我用的方法:

mysql 的安装目录中找到 mysqld_safe 文件, ./mysqld_safe --skip-grant-tables

之后就启动了不用密码的环境:

Mysql -u root

Mysql> update mysql.user set password = password('red') where User='root'; 

Mysql> flush privileges;

Myusql> quit;

完毕, 当然有人说可以在配置文件中加入 --skip-grant-tables

二、普通用户的维护

增加一个用户:

1.CREATE USER语句来新建普通用户

user01 只能本地登录

CREATE USER user01@'localhost' IDENTIFIED BY 'password1';

user02可以远程访问

CREATE USER user02@'%' IDENTIFIED BY 'password1';  其中是通配符,指的这个用户在哪里都可以登录mysql 

ROOT

权限修改user01密码 SET PASSWORD FOR 'user01'@'localhost' = PASSWORD('password2');

如果有时候 报错误,请记得加@主机,因为默认的后边是所以你要是localhost 就找不到这个用户了。

2.INSERT语句来新建普通用户

insert into mysql.user(Host,User,Password) values("localhost","yusuhan",password("123"));

flush privileges; 

解释:mysql 数据库中的user 存放所有用户的及其权限。 上述就是在user 表中插入,用户,密码,来自哪里的主机,之后你必须flush privileges;  但是不能用,why'? 没有任何权限!grant all  on *.* to xxx@localhost identified by '123";  在给这个用户赋权限!

3.GRANT语句来新建普通用户

grant all on *.* to xxx@"%" identified by "123" ;

xxx 赋予在任何主机都能登录数据库,而且可以操作任何东东,基本上和root 差不多了。

你有没有看到这个用户 select user from mysql.user;

分析: 如果创建一个用户,而且要给他赋予一定的权限,一般都用grand ,其它的方法都不能一步到位。你说呢?

删除一个用户呢?.

DROP USER 'allmusic@'localhost' ;-----------drop user: allmusic .

Localhost 你还是要加,默认是%

delete from user where user='allmusic' and host='localhost' ;

Flush privileges;

上一篇:MYSQL ----CURSOR 简单笔记
下一篇:mysql 表类型总结中英文对照