大数据,机器学习,人工智能机器学习与数据挖掘深度学习-推荐系统-CV-NLP

MySQL札记8_DCL(数据控制语言)

2019-08-01  本文已影响68人  皮皮大

数据控制语言DCL主要是对数据库中的登录和用户的权限进行控制的语言,包含:


关于root账户

默认登录

默认情况下,MySQL数据库是指允许root账户登录并且在本机上登录的。

image.png

登录查看账户

MySQL数据库的服务端口号是3306,通过在mysql数据库的user表中查看登录数据库用户信息:

mysql> show databases;  # 查看所有的数据库
mysql> use mysql;   # 选择mysql数据库
mysql> show tables;   # 查表数据库中的所有表
mysql> select user, host from user;   # 查看这个表中的user和host信息
image.png

删除用户

需要注意的是删除了某个用户之后必须进行权限的刷新:

mysql> delete from user where host="%";   # 删除host为%的用户
Query OK, 1 row affected (0.01 sec)

mysql> flush privileges;  # 刷新权限
Query OK, 0 rows affected (0.00 sec)

下图和上图进行对比发现少了%的用户

image.png

注意:当在实际的开发项目中,项目和数据服务器不再同一个地方,可以指定ip连接进行访问。

mysql> update user set host="192.168.1.10" where user="root";
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select user,host from user;

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
image.png

当退出mysql重新进入,需要指定IP地址,就是上面设置的IP

image.png

密码问题

修改密码

同样需要进入mysql数据库的user表中,为了方便,笔者将IP又改回去啦:


image.png
update user set password=PASSWORD("admin")  where user="root";   # 将root账户的密码改为admin

mysql> flush privileges;   # 更新操作
Query OK, 0 rows affected (0.00 sec)

忘记密码

ubuntu@peter:~$ vim /etc/mysql/mysql.conf.d/mysqld.cnf
image.png
mysql> show databases;
mysql> use mysql;
mysql> select user, password  from user;
# 接下来重新设置密码即可
image.png

创建新用户及授权

创建用户

image.png
>update user set host="% where user="test" ;     # 谨慎操作

用户授权

grant all privileges on *.* to "test"@"192.168.21.136";

撤销权限

撤销权限使用的是revoke;承接上面的栗子,撤销test用户的select权限:

revoke select on peter.* from "test"@"192.168.21.136";
image.png

撤销权限一定要通过root账户进入MySQL;否则出现权限不足的问题

image.png

查看权限和删除用户

查看权限

show grants for 用户名@IP地址;

image.png

删除用户

drop user 用户名@IP地址;

image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读