
如果你第一次使用 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)
必要时候才创建,一般不建议创建一个 超级权限的 用户。
好了,视频演示到这里,特别建议大家创建用户时候,对它进行一些限制
例如 只能对某一个数据库操作,或者只能查询 ,不能删除的一些 针对性操作。
谢谢大家观看。。