美文网首页
mysql(四)

mysql(四)

作者: Freestyle_0f85 | 来源:发表于2019-11-28 18:33 被阅读0次

    mysql的权限管理

    命令   所有权限       所有库.所有表(作用对象)        用户名@'主机域'          密码
    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(列名字)
    

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

    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)
    
    mysql> create table t1 (id int);
    Query OK, 0 rows affected (0.09 sec)
    
    mysql> create table t2 (id int);
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> create database blog;
    Query OK, 1 row affected (0.00 sec)
    
    
    mysql> create table tb1 (id int);
    Query OK, 0 rows affected (0.04 sec)
    
    image.png
    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
    

    MySQL配置文件读取顺序

    image

    优先级:

    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
      /etc/init.d/mysql -S /tmp/mysql.sock --defaults-file=/tmp/a.txt start
      最终是在:/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.影响客户端的连接
    在/etc/my.cnf配置文件下更改
    [server][mysqld]

    [client][mysql][mysqldump][mysqladmin]

    相关文章

      网友评论

          本文标题:mysql(四)

          本文链接:https://www.haomeiwen.com/subject/klxiwctx.html