mysql 用户账号的管理操作(mysql6.0演示)

2009-05-29  分类:Linux 标签:  作者:fanzg


如果你第一次使用 mysql 最开始接触 应该是 用户问题,

而用户问题 又是个敏感的话题,涉及到 安全性。。。

mysql 无论 5.0 , 6.0 都默认root用户,而且没有密码就可以登陆。

下面看看 root 用户的登陆

正确安装好 mysql 就可以登陆上去,下面是登陆命令

~]# mysql -uroot

为了防止他人使用 root 空密码登陆,

一般我们开始都会 为root 这个超级管理员 设置一个复杂的密码。

]# mysqladmin -u用户名 password 密码

例如 ,注意空格

#] mysqladmin -uroot password 123

修改密码
#] mysqladmin -uroot -p123 password 456

修改后 登陆就要输入密码来登陆了。
 ~]# mysql -uroot -p456

设置密码 有多种方法,

例如在 mysql> set password for root=("456");
这个命令应该是 root 空密码时候才能执行的,
如果已经有密码了,更新密码也可以用下面方法:
mysql> use mysql;
Database changed
mysql> update user set password=password('456') where user='root';
Query OK, 2 rows affected (0.01 sec)
Rows matched: 3  Changed: 2  Warnings: 0

mysql> flush privileges;
使 mysql 缓存马上生效。

======================================

下面对一些没用的用户删除,
先查看 mysql 默认有那些用户。

 mysql 的用户,还有一些信息 是放在 mysql 数据库的。

mysql> use mysql;
Database changed
mysql> show tables;

可以看到 里面的表。。。其中 user 表,就是存放用户信息的表。

> select * from user;  可以查看里面信息,

由于信息太多,我们选择其中几个列

mysql> select Host,User,Password from user;
+-----------------------+------+-------------------------------------------+
| Host                  | User | Password                                  |
+-----------------------+------+-------------------------------------------+
| localhost             | root | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| localhost.localdomain | root | *531E182E2F72080AB0740FE2F2D689DBE0146E04 |
| 127.0.0.1             | root | *531E182E2F72080AB0740FE2F2D689DBE0146E04 |
| localhost             |      |                                           |
| localhost.localdomain |      |                                           |
+-----------------------+------+-------------------------------------------+
5 rows in set (0.01 sec)

可以看到有一个 空名字 的用户,我们删掉它。

mysql> delete from user where User='';
Query OK, 2 rows affected (0.01 sec)

再查看一下。
mysql> select Host,User,Password from user;

空用户已经被删除
================================

下面说一下 如何添加其他用户问题。。。设置到安全问题

1, 添加一个用户17rumen密码是123 ,可以在任何主机登陆,并且对所有数据库
    可以进行查询,插入,修改,删除的操作。

mysql> grant select,insert,update,delete on *.* to '17rumen'@'%' identified by '123';
Query OK, 0 rows affected (0.00 sec)

这样的用户,就可以在远程进行登陆,要加入 主机的ip地址才可以

]# mysql -h 192.168.1.118 -u17rumen -p123
登陆上去了

=====

2, 添加一个用户17rumen2密码是123,只能在 localhost 本机上登陆。
    并且只能对 test 数据库进行 查询,插入,修改,删除的操作。
    不能对别的数据库进行操作,这个我觉得非常重要。

mysql> grant select,insert,update,delete on test.* to '17rumen2'@'localhost' identified by '123';
Query OK, 0 rows affected (0.01 sec)
mysql> use mysql;
ERROR 1044 (42000): Access denied for user '17rumen2'@'localhost' to database 'mysql'
mysql>
mysql> use test;
Database changed

说明 成功了, 除了 test 数据库,别的数据库是没有权限访问的。
=========
3, 添加一个 本地超级用户 17rumen3 密码 123,  拥有所有的权限,呵呵
    小心操作

mysql> grant all privileges on *.* to 17rumen3@localhost identified by '123' with grant option;
Query OK, 0 rows affected (0.01 sec)

必要时候才创建,一般不建议创建一个 超级权限的 用户。
好了,视频演示到这里,特别建议大家创建用户时候,对它进行一些限制

例如 只能对某一个数据库操作,或者只能查询 ,不能删除的一些 针对性操作。

谢谢大家观看。。


“mysql 用户账号的管理操作(mysql6.0演示)”没有评论

有任何疑问或建议,可以给作者留言:



公告:

  • 2010年5月之前的视频是文字解说演示,没有声音。
  • 2010年5月以后的视频全部带声音。