MySQL5.7基础管理--用户、权限管理

  • 基于Centos7.6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
1>用户

#作用
登录,管理数据库逻辑对象

#定义
用户名@'白名单'
白名单支持的方式:
用户名@'10.0.0.%' #允许该网段(24位:1-254)访问
用户名@'%' #允许所有网段访问
用户名'10.0.0.200' #允许具体IP访问
用户名'localhost' #允许本地访问
用户名'127.0.0.1' #允许本地访问
用户名'db02' #允许某个hostname的地址访问
用户名'10.0.0.5%' #允许网段部分IP访问(50-59)
用户名@'10.0.0.0/255.255.254.0' #允许该网段23位访问
用户名@'10.0.%' #允许该网段16位访问

#管理操作
增:
mysql> create user 用户名@'10.0.0.%' identified by '密码'; #建用户又同时设置密码,设置开放IP段
mysql> grant all on *.* to 用户名@'10.0.0.%' identified by '密码'; #建用户又同时设置密码,设置开放IP段
8.0版本以前可以自动创建用户并授权,8.0之后建用户和授权分开了,grant不再支持自动创建用户了,不支持改密码。授权之前,必须要提前创建用户。
查:
mysql> desc mysql.user; ----> authentication_string
mysql> select user,host,authentication_string from mysql.user
改:
mysql> alter user 用户名@'10.0.0.%' identified by '密码'; #修改用户密码
删:
mysql> drop user 用户名@'10.0.0.%'; #删除用户

2>权限管理

#查看授权
mysql> show grants for 用户名@'作用目标';
例:mysql> show grants for app@'10.0.0.%';

#回收权限
revoke 需要回收的权限 on 作用库.* from '用户'@'作用目标';
例:revoke delete on app.* from app@'10.0.0.%';

#权限管理操作
mysql> grant all on wordpress.* to wordpress@'10.0.0.%' identified by '123';

#常用权限介绍
ALL:
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE,REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCKTABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATETABLESPACE
ALL : 以上所有权限,一般是普通管理员拥有的
with grant option:超级管理员才具备的,给别的用户授权的功能
例如:grant all on *.* to 用户名@'10.0.0.%' identified by '密码' with grant option;

#权限作用范围:
*.* ---->所有目录均授权,适用管理员用户
作用库.* ---->某个库下的所有数据授权,适用开发和应用用户
作用库.作用表 ---->某个库下的某个表数据授权

格式:grant 权限 on 作用目标 to 用户 identified by 密码 with grant option;
ALL权限中的参数都可以添加到格式中的"权限"处

#需求1:windows机器的navicat登录到linux中的MySQL,管理员用户。
mysql> grant all on *.* to root@'10.0.0.%' identified by '123';

#需求2:创建一个应用用户app用户,能从windows上登录mysql,并能操作app库
mysql> grant select,update,insert,delete on app.* to app@'10.0.0.%'identified by '123';

#需求3:创建一个应用用户app用户,可以通过10网段,对T1库下的所有表进行SELECT,INSERT, UPDATE, DELETE操作,之后删除DELETE操作。
mysql> grant SELECT,INSERT,UPDATE,DELETE on T1.* to app@'10.0.0.%' identified by '123';
mysql> show grants for app@'10.0.0.%';
+--------------------------------------------------------------------+
| Grants for app@10.0.0.% |
+--------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'app'@'10.0.0.%' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `T1`.* TO 'app'@'10.0.0.%' |
+--------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> revoke delete on `T1`.* from 'app'@'10.0.0.%';
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for app@'10.0.0.%';
+------------------------------------------------------------+
| Grants for app@10.0.0.% |
+------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'app'@'10.0.0.%' |
| GRANT SELECT, INSERT, UPDATE ON `T1`.* TO 'app'@'10.0.0.%' |
+------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql>

Read More

Redhat8.3网卡配置、关闭防火墙和Selinux、配置yum在线源

  • 基于Redhat8.3

1.更改网卡配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
vim /etc/sysconfig/network-scripts/ifcfg-ens160

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=68255cd4-e394-4148-988b-00a08efaf039
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.3.191
PREFIX=24
GATEWAY=192.168.3.1
NETMASK=255.255.255.0
DNS1=114.114.114.114
IPV6_PRIVACY=no

#使用nmcli载入网络配置并生效
nmcli c reload

Read More

MySQL5.7逻辑结构

  • 基于Centos7.6

MySQL—CS模型

Read More

MySQL5.7中CS模型、实例介绍、mysqld程序结构

1.C/S(客户端/服务端)模型介绍

MySQL—CS模型

Read More

Docker二进制安装

  • 基于Ubuntu20.04.01

1.下载docker的安装文件
https://download.docker.com/linux/static/stable/x86_64/

Read More

Centos7在线安装Docker环境

  • 基于基于Centos7.6

    1
    2
    3
    4
    5
    6
    7
    8
    yum install epel-* wget  unzip wget zip lrzsz -y
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    cat /etc/centos-release
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    sudo yum install -y docker-ce
    sudo systemctl start docker
    sudo systemctl enable docker
    docker version

Read More

MySQL学习需要掌握的知识点

01.MySQL 5.6、5.7、8.0常用版本二级制安装部署

02.MySQL升级步骤

03.MySQL体系结构原理

04.MySQL基础管理

05.基础SQL语句使用

Read More

Docker容器内部更换在线源&安装基础命令

  • 基于Ubuntu20.04.01

    1.docker容器内apt换源

    1
    2
    3
    4
    5
    6
    7
    #备份源文件
    mv /etc/apt/sources.list /etc/apt/sources.list.bak
    #导入源地址
    cat <<EOF >/etc/apt/sources.list
    deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free
    deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
    EOF

Read More

MySQL5.7本地管理员用户密码忘记的处理方法

  • 基于Centos7.6,仅限本地操作,无法远程执行。

1.关闭数据库

1
2
[root@localhost ~]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!

Read More

MySQL5.7常用命令

  • 基于Centos7.6

1.修改密码

1
2
3
4
5
6
方法1:
[root@localhost ~]# mysqladmin -uroot -p password 新密码
Enter password:当前密码
方法2:
mysql> SET password=PASSWORD('新密码');
mysql> flush privileges;

Read More