欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL系列之六 用戶與授權(quán)

 更新時(shí)間:2021年07月02日 16:43:38   作者:生生不息.連綿不絕  
做為Mysql數(shù)據(jù)庫管理員管理用戶賬戶,是一件很重要的事,指出哪個(gè)用戶可以連接服務(wù)器,從哪里連接,連接后能做什么,這篇文章主要介紹了MySQL用戶與授權(quán)的相關(guān)資料,需要的朋友可以參考下

系列教程

MySQL系列之開篇 MySQL關(guān)系型數(shù)據(jù)庫基礎(chǔ)概念
MySQL系列之一 MariaDB-server安裝
MySQL系列之二 多實(shí)例配置
MySQL系列之三 基礎(chǔ)篇
MySQL系列之四 SQL語法
MySQL系列之五 視圖、存儲(chǔ)函數(shù)、存儲(chǔ)過程、觸發(fā)器
MySQL系列之七 MySQL存儲(chǔ)引擎
MySQL系列之八 MySQL服務(wù)器變量
MySQL系列之九 mysql查詢緩存及索引
MySQL系列之十 MySQL事務(wù)隔離實(shí)現(xiàn)并發(fā)控制
MySQL系列之十一 日志記錄
MySQL系列之十二 備份與恢復(fù)
MySQL系列之十三 MySQL的復(fù)制
MySQL系列之十四 MySQL的高可用實(shí)現(xiàn)
MySQL系列之十五 MySQL常用配置和性能壓力測(cè)試

一、用戶管理

1、用戶賬號(hào)

用戶的賬號(hào)由用戶名和HOST倆部分組成('USERNAME'@'HOST')

HOST的表示:

  • 主機(jī)名
  • 具體IP地址
  • 網(wǎng)段/掩碼

可以使用通配符表示,%和_;192.168.%即表示這個(gè)網(wǎng)段的所有主機(jī)

2、增加刪除賬號(hào)

主要:在數(shù)據(jù)庫中修改了用戶信息需要執(zhí)行FLUSH PRIVILEGES;來刷新授權(quán)表使其生效

創(chuàng)建

  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  | ::1       |                                           |
  |       | localhost |                                           |
  |       | centos7   |                                           |
  | user1 | 192.168.% |                                           |
  | user2 | 192.168.% | *9E72259BA9214F692A85B240647C4D95B0F2E08B |
  +-------+-----------+-------------------------------------------+

刪除

  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  | ::1       |                                           |
  |       | 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     | ::1       |                                           |
  |          | 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     | ::1       |                                           |
  |          | localhost |                                           |
  |          | centos7   |                                           |
  | testuser | %         | *00E247AC5F9AF26AE0194B41E1E769DEE1429A29 |
  +----------+-----------+-------------------------------------------+

其他修改密碼的方法:

​ UPDATE user SET password=PASSWORD('testpass') WHERE user='testuser';

​ # mysqladmin -uroot -poldpass password 'newpass'

3、破解管理賬號(hào)密碼

空數(shù)據(jù)庫的情況下恢復(fù)密碼

  # systemctl stop mariadb
  # rm -rf /var/lib/mysql/*  #刪庫跑路
  # systemctl start mariadb

有數(shù)據(jù)的情況下恢復(fù)密碼

  1)在/etc/my.cnf配置文件的[mydqld]下添加skip-grant-tables和skip-networking參數(shù)

  2)# systemctl restart mariadb 重啟服務(wù)

  3)執(zhí)行mysql登錄到數(shù)據(jù)庫

  4)MariaDB [(none)]> UPDATE mysql.user SET password=PASSWORD('newpassword') WHERE user='root' AND host='localhost';  #更新密碼

  5)MariaDB [(none)]> FLUSH PRIVILEGES;  #刷新授權(quán)表

  6)退出,修改配置文件,刪除skip-grant-tables和skip-networking參數(shù),重啟服務(wù)
也可以在啟動(dòng)mysqld進(jìn)程時(shí),為其使用如下選項(xiàng):

--skip-grant-tables

​ --skip-networking

二、授權(quán)管理

1、授權(quán)

​ 語法:GRANT priv_type ON [object_type] priv_level TO user@'%' [IDENTIFIED BY 'password'] [WITH GRANT OPTION];

授權(quán)時(shí)如果用戶不存在則創(chuàng)建,所以我們一般不會(huì)單獨(dú)去創(chuàng)建一個(gè)用戶,而是授權(quán)創(chuàng)建一塊完成。

priv_type 授權(quán)類型

- 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 授權(quán)對(duì)象

- TABLE

- FUNCTION

- PROCEDURE

priv_level 授權(quán)級(jí)別

- *或*.* 表示所有庫

- db_name.* 表示指定庫中的所有表

- db_name.tbl_name 指定庫中的指定表

- tbl_name 表示當(dāng)前庫的表

- db_name.routine_name 表示指定庫的函數(shù),存儲(chǔ)過程,觸發(fā)器

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字段的查詢權(quán)限授權(quán)于admin@'%'用戶
MariaDB [school]> FLUSH PRIVILEGES;  #刷新授權(quán)表


2、查詢授權(quán)

MariaDB [school]> SHOW GRANTS FOR admin@'%'\G  #查看指定用戶的權(quán)限
*************************** 1. row ***************************
Grants for admin@%: GRANT USAGE ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441'
*************************** 2. row ***************************
Grants for admin@%: GRANT SELECT (stuid, name) ON `school`.`students` TO 'admin'@'%'
[root@working ~]# mysql -uadmin -padmin -h192.168.0.7
MariaDB [(none)]> SHOW GRANTS FOR CURRENT_USER()\G  #查詢自己的權(quán)限
*************************** 1. row ***************************
Grants for admin@%: GRANT USAGE ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441'
*************************** 2. row ***************************
Grants for admin@%: GRANT SELECT (stuid, name) ON `school`.`students` TO 'admin'@'%'

3、收回授權(quán)

MariaDB [school]> REVOKE SELECT(stuid) ON school.students FROM admin@'%';  #收回admin@'%'用戶對(duì)stuid字段的查詢權(quán)限

總結(jié)

到此這篇關(guān)于MySQL用戶與授權(quán)的文章就介紹到這了,更多相關(guān)MySQL用戶與授權(quán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql having用法解析

    mysql having用法解析

    having字句可以讓我們篩選成組后的各種數(shù)據(jù),where字句在聚合前先篩選記錄,也就是說作用在group by和having字句前,下面通過實(shí)例給大家介紹mysql having用法,一起看看吧
    2017-10-10
  • 圖文并茂地講解Mysql索引(index)

    圖文并茂地講解Mysql索引(index)

    在關(guān)系數(shù)據(jù)庫中,索引是一種單獨(dú)的、物理的數(shù)對(duì)數(shù)據(jù)庫表中一列或多列的值進(jìn)行排序的一種存儲(chǔ)結(jié)構(gòu),下面這篇文章主要給大家介紹了關(guān)于Mysql索引(index)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • mysql自定義排序順序語句

    mysql自定義排序順序語句

    這篇文章主要介紹了mysql 自定義排序順序,在sql語句中加入ORDER BY FIELD,需要的朋友可以參考下
    2014-02-02
  • MySQL處理重復(fù)數(shù)據(jù)的學(xué)習(xí)筆記

    MySQL處理重復(fù)數(shù)據(jù)的學(xué)習(xí)筆記

    在本篇文章里小編給大家分享的是一篇關(guān)于MySQL處理重復(fù)數(shù)據(jù)的學(xué)習(xí)筆記,需要的朋友們可以參考下。
    2020-03-03
  • Mysql聚合函數(shù)的使用介紹

    Mysql聚合函數(shù)的使用介紹

    今天的章節(jié)我們將要來學(xué)習(xí)一下 “聚合函數(shù)” ;首先我們需要學(xué)習(xí)聚合函數(shù)對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,比如說求最大值、最小值、平均值之類的場(chǎng)景。但是單純的使用聚合函數(shù),只能做全表范圍的統(tǒng)計(jì)分析
    2022-10-10
  • MySQL錯(cuò)誤“Data?too?long”的原因、解決方案與優(yōu)化策略

    MySQL錯(cuò)誤“Data?too?long”的原因、解決方案與優(yōu)化策略

    MySQL作為重要的數(shù)據(jù)庫系統(tǒng),在數(shù)據(jù)插入時(shí)可能遇到“Data?too?long?for?column”錯(cuò)誤,本文探討了該錯(cuò)誤的原因、解決方案及預(yù)防措施,如調(diào)整字段長(zhǎng)度、使用TEXT類型等,旨在優(yōu)化數(shù)據(jù)庫設(shè)計(jì),提升性能和用戶體驗(yàn),需要的朋友可以參考下
    2024-09-09
  • 你知道哪幾種MYSQL的連接查詢

    你知道哪幾種MYSQL的連接查詢

    連接(join)查詢是將兩個(gè)查詢的結(jié)果以“橫向?qū)印钡姆绞胶喜⑵饋淼慕Y(jié)果,這篇文章主要給大家介紹了關(guān)于MYSQL連接查詢的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • MySQL 配置文件 my.cnf / my.ini 區(qū)別解析

    MySQL 配置文件 my.cnf / my.ini 區(qū)別解析

    充分理解 MySQL 配置文件中各個(gè)變量的意義對(duì)我們有針對(duì)性的優(yōu)化 MySQL 數(shù)據(jù)庫性能有非常大的意義,這篇文章主要介紹了MySQL 配置文件 my.cnf / my.ini 區(qū)別,需要的朋友可以參考下
    2022-11-11
  • Ubuntu 14.04下安裝MySQL

    Ubuntu 14.04下安裝MySQL

    1、更新源列表打開"終端窗口",輸入"sudo apt-getupdate"-->回車-->"輸入root用戶的密碼"-->回車,就可以了。如果不運(yùn)行該命令,直接安裝mysql,會(huì)出現(xiàn)"有幾個(gè)軟件包無法下載,您可以運(yùn)行apt-getupdate------"的錯(cuò)誤提示,導(dǎo)致無法安裝。
    2016-04-04
  • MYSQL必知必會(huì)讀書筆記第四章之檢索數(shù)據(jù)

    MYSQL必知必會(huì)讀書筆記第四章之檢索數(shù)據(jù)

    MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。接下來通過本文給大家介紹MYSQL必知必會(huì)讀書筆記第四章之檢索數(shù)據(jù),感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05

最新評(píng)論