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]
网友评论