mysql用户与授权
视图
create view 视图名 as 查询语句;
MariaDB [hellodb]> create view view_left as select name from students;
Query OK, rows affected (0.00 sec)
MariaDB [hellodb]> create view view_students as select stuid,name from students;Query OK, rows affected (0.00 sec)
MariaDB [hellodb]> select * from view_students;
+-------+---------------+
| stuid | name |
+-------+---------------+
| | Shi Zhongyu |
| | Shi Potian |
| | Xie Yanke |
| | Ding Dian |
| | Yu Yutong |
| | Shi Qing |
| | Xi Ren |
| | Lin Daiyu |
| | Ren Yingying |
| | Yue Lingshan |
| | Yuan Chengzhi |
| | Wen Qingqing |
| | Tian Boguang |
| | Lu Wushuang |
| | Duan Yu |
| | Xu Zhu |
| | Lin Chong |
| | Hua Rong |
| | Xue Baochai |
| | Diao Chan |
| | Huang Yueying |
| | Xiao Qiao |
| | Ma Chao |
| | Xu Xian |
| | Sun Dasheng |
+-------+---------------+
rows in set (0.00 sec)
用户管理
1、用户账号
用户的账号由用户名和HOST俩部分组成('USERNAME'@'HOST')
HOST的表示:
主机名
- 具体IP地址
网段/掩码
可以使用通配符表示,%和_;192.168.%即表示这个网段的所有主机
2、增加删除账号
主要:在数据库中修改了用户信息需要执行
FLUSH PRIVILEGES;来刷新授权表使其生效
- 创建
create user '用户名'@'主机名' identified by '密码';
MariaDB [mysql]> CREATE USER 'user1'@'192.168.%';
MariaDB [mysql]> CREATE USER 'user2'@'192.168.%' IDENTIFIED BY 'your_password';
MariaDB [mysql]> SELECT user,host,password FROM user;
+-------+-----------+-------------------------------------------+
| user | host | password |
+-------+-----------+-------------------------------------------+
| root | localhost | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
| root | centos7 | |
| root | 127.0.0.1 | |
| root | :: | |
| | localhost | |
| | centos7 | |
| user1 | 192.168.% | |
| user2 | 192.168.% | *9E72259BA9214F692A85B240647C4D95B0F2E08B |
+-------+-----------+-------------------------------------------+
- 删除
drop user '用户名'@'主机名';
MariaDB [mysql]> DROP USER user2@'192.168.%';
MariaDB [mysql]> SELECT user,host,password FROM user;
+-------+-----------+-------------------------------------------+
| user | host | password |
+-------+-----------+-------------------------------------------+
| root | localhost | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
| root | centos7 | |
| root | 127.0.0.1 | |
| root | :: | |
| | localhost | |
| | centos7 | |
| user1 | 192.168.% | |
+-------+-----------+-------------------------------------------+
- 重命名
MariaDB [mysql]> RENAME USER user1@'192.168.%' TO testuser@'%';
MariaDB [mysql]> SELECT user,host,password FROM mysql.user;
+----------+-----------+-------------------------------------------+
| user | host | password |
+----------+-----------+-------------------------------------------+
| root | localhost | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
| root | centos7 | |
| root | 127.0.0.1 | |
| root | :: | |
| | localhost | |
| | centos7 | |
| testuser | % | |
+----------+-----------+-------------------------------------------+
修改密码
MariaDB [mysql]> SET PASSWORD FOR testuser@'%' =PASSWORD('testpass');
MariaDB [mysql]> SELECT user,host,password FROM mysql.user;
+----------+-----------+-------------------------------------------+
| user | host | password |
+----------+-----------+-------------------------------------------+
| root | localhost | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
| root | centos7 | |
| root | 127.0.0.1 | |
| root | :: | |
| | localhost | |
| | centos7 | |
| testuser | % | *00E247AC5F9AF26AE0194B41E1E769DEE1429A29 |
+----------+-----------+-------------------------------------------+
其他修改密码的方法:
UPDATE user SET password=PASSWORD('testpass') WHERE user='testuser';
# mysqladmin -uroot -poldpass password 'newpass'
3、破解管理账号密码
- 空数据库的情况下恢复密码
# systemctl stop mariadb
# rm -rf /var/lib/mysql/* #删库跑路
# systemctl start mariadb
- 有数据的情况下恢复密码
)在/etc/my.cnf配置文件的[mydqld]下添加skip-grant-tables和skip-networking参数
)# systemctl restart mariadb 重启服务
)执行mysql登录到数据库
)MariaDB [(none)]> UPDATE mysql.user SET password=PASSWORD('newpassword') WHERE user='root' AND host='localhost'; #更新密码
)MariaDB [(none)]> FLUSH PRIVILEGES; #刷新授权表
)退出,修改配置文件,删除skip-grant-tables和skip-networking参数,重启服务
也可以在启动mysqld进程时,为其使用如下选项:
--skip-grant-tables
--skip-networking
授权管理
1、授权
grant all on 库名.标名(*表示所有) to 用户名@'主机名(%所有)' identified by '密码';
授权时如果用户不存在则创建,所以我们一般不会单独去创建一个用户,而是授权创建一块完成。
- priv_type 授权类型
SELECT
INSERT
UPDATE
DELETE
CREATE
DROP
INDEX
ALTER
SHOW DATABASES
CREATE TEMPORARY TABLES
LOCK TABLES
CREATE VIEW
SHOW VIEW
CREATE USER
ALL PRIVILEGES 或 ALL - object_type 授权对象
TABLE
FUNCTION
PROCEDURE - priv_level 授权级别
*或*.* 表示所有库
db_name.* 表示指定库中的所有表
db_name.tbl_name 指定库中的指定表
tbl_name 表示当前库的表
db_name.routine_name 表示指定库的函数,存储过程,触发器 - WITH GRANT OPTION
MAX_QUERIES_PER_HOUR count
MAX_UPDATES_PER_HOUR count
MAX_CONNECTIONS_PER_HOUR count
MAX_USER_CONNECTIONS count
MariaDB [school]> GRANT SELECT(stuid,name) ON TABLE school.students TO admin@'%' IDENTIFIED BY 'admin'; #把students表的stuid和name字段的查询权限授权于admin@'%'用户
MariaDB [school]> FLUSH PRIVILEGES; #刷新授权表
2、查询授权
MariaDB [school]> SHOW GRANTS FOR admin@'%'\G #查看指定用户的权限
*************************** . row ***************************
Grants for admin@%: GRANT USAGE ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441'
*************************** . row ***************************
Grants for admin@%: GRANT SELECT (stuid, name) ON `school`.`students` TO 'admin'@'%'
[root@working ~]# mysql -uadmin -padmin -h192.168.0.
MariaDB [(none)]> SHOW GRANTS FOR CURRENT_USER()\G #查询自己的权限
*************************** . row ***************************
Grants for admin@%: GRANT USAGE ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441'
*************************** . row ***************************
Grants for admin@%: GRANT SELECT (stuid, name) ON `school`.`students` TO 'admin'@'%'
3、收回授权
MariaDB [school]> REVOKE SELECT(stuid) ON school.students FROM admin@'%'; #收回admin@'%'用户对stuid字段的查询权限

mysql用户与授权的更多相关文章
- MySQL 用户与授权管理详解
大纲 一.前言 二.创建用户并授权 三.GRANT语句的种类 四.撤权并删除用户 一.前言 做为Mysql数据库管理员管理用户账户,是一件很重要的事,指出哪个用户可以连接服务器,从哪里连接,连接后能做 ...
- linux下添加mysql用户并授权
-------------------暂停mysqlservice mysqld stop 忘记密码修改流程1,修改mysql配置文件 /etc/my.cnf,在[mysqld]下添加一行skip-g ...
- mysql用户和授权
CREATE USER 'monitor'@'10.224.32.%' IDENTIFIED BY '123@abAB'; mysql> GRANT select,insert,update O ...
- mysql用户创建授权
创建用户: grant select,update,insert,delete,create,drop,alter,index on *.* to 'jyx_mysql'@'%' identified ...
- mysql 创建用户、授权等操作
一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指 ...
- MySql安装与MySQL添加用户、删除用户与授权
1.安装MySql 目前MySQL有两种形式的文件,一个是msi格式,一个是zip格式的.msi格式的直接点击setup.exe就好,按照步骤进行.但是很多人下了zip格式的解压发现没有s ...
- MySQL 创建用户 与 授权
例,需要给 121.52.215.100 连接添加一个用户 dee,密码是 123456,他只能对数据库 vshop 有 select 权限: CREATE USER '; GRANT SELECT ...
- 创建MySQL用户 赋予某指定库表的权限 flush privileges才能生效!!!!;@'localhost'授权本地,@'%'授权远程
update ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value 建议使用GRANT语句进行授权,语句如下: gra ...
- Mysql 新建用户以及授权远程连接操作
1:以root身份登陆mysql终端 mysql -uroot -pmysql 2:创建wx用户,注意密码要加单引号 mysql> create user wx identified by 'w ...
随机推荐
- java玩转zip压缩包
首先将相关jar包引入pom.xml中 <!-- 解压zip --> <dependency> <groupId>org.apache.ant</groupI ...
- Invariant Violation: requireNativeComponent: "RNCWKWebView" was not found in the UIManager.
react-native 0.60以上版本安装第三方库的时候会autolink 出现这个问题是 我安装 react-native-webview 之后运行 ios出现的,这是因为ios 没有自动安 ...
- laravel 框架 数据库迁徙时SQLSTATE[420000]错误
问题: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key wa s too long; max key le ...
- 页面中的div居中
div的居中 一.页面的水平居中 #article{ position: relative; margin: 0 auto; width: 80%; background-color: aquamar ...
- django_redis
目录 下载 说明 补充: 内存中设置值 取值 使用 配置: settings/dev.py缓存配置 - redis存储:依赖 django-redis,要安装>>>pip insta ...
- Computer Vision_33_SIFT:PCA-SIFT A More Distinctive Representation for Local Image Descriptors——2004
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...
- sql语句中的占位符?有什么作用
String sql = "SELECT userid,name FROM tuser WHERE userid=? AND password=?" ; pstmt = conn. ...
- Nginx中ngx_http_proxy_module模块
该模块允许将请求传递给另⼀一台服务器器指令:1 ,proxy_pass设置代理理服务器器的协议和地址以及应映射位置的可选 URI .作为协议,可以指定“ http 或 https .可以将地址指定为域 ...
- Fastdfs集群搭建
1.关于集群,网上说最少要三台,其实也没必要,两台就够了 2.实验环境 192.168.2.201 tracker.storage.nginx + fastdfs-nginx-module-maste ...
- Maven 设置阿里镜像
Maven 默认的中央仓库速度慢,可以考虑换成阿里的镜像.修改方式主要有两种. 1.针对所有项目修改中央仓库Maven 提供了全局配置文件 settings.xml 针对所有项目有效,位置是在安装目录 ...