数据库

MySQL的权限管理

2019-11-29  本文已影响0人  吃可爱长大鸭

1.权限分析

命令   所有权限       所有库.所有表(作用对象)        用户名@'主机域'          密码
grant all       on     *.*     to              root@'%' identified by '123';

如何给开发授权?

增删改查

grant select,insert,delete,update on 业务库.* to dev@'%' identified by 'xxx';
​
​
INSERT,SELECT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN,  PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE​

最小权限

grant select on 业务库.表名 to dev@'192.168.1.1' identified by 'xxx';
grant select on 业务库.表名 to dev@'192.168.1.1' identified by 'xxx';​

脱敏:脱离敏感信息​

单库级别:库.*
单表级别:库.表
单列级别:select(列名字)  update(列名字)</pre>

开发人员说请给我开一个用户?

grant select on 业务库.表名 to dev@'192.168.1.1' identified by 'xxx';

1.看哪个库?哪个表?

2.你要干什么? 增删改查?

3.你在哪里操作?(主机域)

4.有没有指定的用户和密码?

5.发邮件,走流程

思考问题

mysql> create database wordpress;
Query OK, 1 row affected (0.09 sec)

1、grant select on . to wordpress@’10.0.0.5%’ identified by ‘123’;

授权给wordpress@'10.0.0.5%'用户针对所有库所有表,查看的权限,密码是123

2、grant insert,delete,update on wordpress.* to wordpress@’10.0.0.5%’ identified by ‘123’;

授权给wordpress@'10.0.0.5%'用户针对wordpress库下的所有表,增,删,改权限,密码是123

3、grant all on wordpress.t1 to wordpress@’10.0.0.5%’ identified by ‘123’;

授权给wordpress@'10.0.0.5%'用户针对wordpress库下的t1表,所有权限,密码是123

一个客户端程序使用wordpress用户登陆到10.0.0.51的MySQL后,

*   1、对t1表的管理能力?

    *   all 1+2+3

*   2、对t2表的管理能力?

    *   1.select insert delete update 1+2

*   3、对tb1表的管理能力?

    *   select 1

总结

1、如果在不同级别都包含某个表的管理能力时,权限是相加关系。

2、但是我们不推荐在多级别定义重复权限。

3、最常用的权限设定方式是单库级别授权,即:wordpress.*

MySQL连接管理工具

1).mysql

-u:指定用户

-p:指定密码

-P:指定端口

-h:指定主机域

-S:指定socket文件

-e:指定SQL语句

2)第三方客户端

navicat sqlyog

MySQL启动关闭流程

启动方式

/etc/init.d/mysqld start
service mysqld start
​
systemctl start mysqld
mysqld_safe &

停止方式

/etc/init.d/mysqld stop
service mysqld stop
systemctl stop mysqld
mysqladmin -uroot -p123 shutdown

千万不要用

kill
kill -9
pkill
killall</pre>

MySQL配置文件读取顺序

img

优先级:

1.--defaults-file

2.~/.my.cnf

3.defaults-extra-file

4.$basedir/my.cnf

5./etc/mysql/my.cnf

6./etc/my.cnf

思考问题

cmake:

socket=/application/mysql/tmp/mysql.sock

命令行:

--socket=/tmp/mysql.sock

配置文件:

/etc/my.cnf中[mysqld]标签下:socket=/opt/mysql.sock

default参数:

--defaults-file=/tmp/a.txt配置文件中[mysqld]标签下:socket=/tmp/test.sock
1.  /application/mysql/tmp/ mysql.sock

2.  /tmp/mysql.sock

3.  /opt/mysql.sock

4.  /tmp/test.sock

最终是在:/tmp/mysql.sock

优先级总结:

1.命令行

2.--defaults-file

3.配置文件(~/.my.cnf ---- defaults-extra-file ---- basedir/my.cnf ---- /etc/mysql/my.cnf ---- /etc/my.cnf)

4.cmake

MySQL的配置文件的作用

1.影响服务端的启动

2.影响客户端的连接

[server][mysqld]

[client][mysql][mysqldump][mysqladmin]
上一篇 下一篇

猜你喜欢

热点阅读