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

MySQL數(shù)據(jù)庫用戶權限管理

 更新時間:2022年06月09日 10:36:36   作者:彭世瑜  
這篇文章主要介紹了MySQL數(shù)據(jù)庫用戶權限管理,文章主要內容就是在不同的項目中,給不同的角色(開發(fā)者)不同的操作權限,保證數(shù)據(jù)庫數(shù)據(jù)的安全,需要的朋友可以參考一下

1、用戶管理

mysql的用戶信息保存在了mysql.user中:

select * from mysql.user\G

*************************** 5. row ***************************
                    Host: localhost
                    User: root
             Select_priv: Y
             Insert_priv: Y
             Update_priv: Y
             Delete_priv: Y
             Create_priv: Y
               Drop_priv: Y
             Reload_priv: Y
           Shutdown_priv: Y
            Process_priv: Y
               File_priv: Y
              Grant_priv: Y
         References_priv: Y
              Index_priv: Y
              Alter_priv: Y
            Show_db_priv: Y
              Super_priv: Y
   Create_tmp_table_priv: Y
        Lock_tables_priv: Y
            Execute_priv: Y
         Repl_slave_priv: Y
        Repl_client_priv: Y
        Create_view_priv: Y
          Show_view_priv: Y
     Create_routine_priv: Y
      Alter_routine_priv: Y
        Create_user_priv: Y
              Event_priv: Y
            Trigger_priv: Y
  Create_tablespace_priv: Y
                ssl_type:
              ssl_cipher:
             x509_issuer:
            x509_subject:
           max_questions: 0
             max_updates: 0
         max_connections: 0
    max_user_connections: 0
                  plugin: mysql_native_password
   authentication_string: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
        password_expired: N
   password_last_changed: 2020-02-05 22:46:27
       password_lifetime: NULL
          account_locked: N
        Create_role_priv: Y
          Drop_role_priv: Y
  Password_reuse_history: NULL
     Password_reuse_time: NULL
Password_require_current: NULL
         User_attributes: NULL

主要字段:

主機名和用戶名共同組成復合主鍵
Host 主機名,允許訪問的客戶端,*代表所有客戶端都可以訪問
User 用戶名

1.1、創(chuàng)建用戶

方式一:直接使用root用戶在mysql.user中插入記錄(不推薦)

方式二:使用創(chuàng)建用戶的SQL指令

基本語法:

create user 用戶 identified by 明文密碼
-- 用戶 用戶名@主機地址
-- 主機地址: '' 或者 %

示例:

create user 'user1'@'%' identified by '123456';
-- 查看mysql.user表中是否存在新用戶
select user, host from mysql.user where user = 'user1';
+-------+------+
| user  | host |
+-------+------+
| user1 | %    |
+-------+------+

簡化版創(chuàng)建用戶,誰都可以訪問,不需要密碼,不安全

create user user2;

1.2、刪除用戶

user和host具有唯一性

基本語法:

drop user 用戶名@host;

示例:

mysql> drop user 'user1'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> select user, host from mysql.user where user = 'user1';
Empty set (0.00 sec)

1.3、修改用戶密碼

需要使用函數(shù)對密碼進行加密password()

方式一:使用專門的修改密碼指令

基本語法:

set password for 用戶 = password(明文密碼);
set password for 'user1'@'%' = password(654321);
-- mysql5.7后續(xù)版本,8.0可用
alter user 'user1'@'%' identified by '654321';

方式二:使用更新語法

基本語法:

update mysql.user set password = password(明文密碼) where user = '' and host = '';
update mysql.user set password = password('123456') where user = 'user1' and host = '%';
-- 8.0報錯
update mysql.user set authentication_string = password('123456') where user = 'user1' and host = '%';

2、權限管理

分為三類:

  • 數(shù)據(jù)權限:增刪改查 select update delete insert
  • 結構權限:結構操作(表操作) create drop
  • 管理權限:權限管理 create user、grant、revoke, 管理員

2.1、授予權限 grant

將權限分配給指定用戶

基本語法:

grant 權限列表 on 數(shù)據(jù)庫/*.表名/* to 用戶
  • 權限列表 使用逗號間隔,all privileges 代表全部權限
  • 所有數(shù)據(jù)庫 *.*
  • 某個數(shù)據(jù)庫:數(shù)據(jù)庫.*
  • 單表:數(shù)據(jù)庫.表名
-- 分配權限 不需要刷新,馬上生效
grant select on mydatabase.my_student to 'user1'@'%';

2.2、取消權限 revoke

基本語法:

revoke 權限列表 /all privileges on 數(shù)據(jù)庫/*.表/* from 用戶
-- 回收權限,不需要刷新,馬上生效
revoke all privileges on mydatabase.my_student from 'user1'@'%';

2.3、刷新權限 flush

將操作的具體內容同步到對應的表中

基本語法:

flush privileges;

3、密碼丟失的解決方案

如果忘記root用戶的密碼

# 停止服務
mysql.server stop;

# 停止不了可以直接殺死進程
ps aux|grep mysql
kill <pid>

# 重新啟動服務,跳過權限
mysqld --skip-grant-tables

# 直接無用戶名登錄
mysql

非常危險,任何客戶端不需要任何用戶信息都可以直接登錄,而且是root權限

修改root密碼:

alter user 'root'@'localhost' identified by '123456'; 

修改完后,關閉mysql服務器,重啟

到此這篇關于MySQL數(shù)據(jù)庫用戶權限管理的文章就介紹到這了,更多相關MySQL 權限管理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • mysql8.0.11 winx64安裝配置方法圖文教程(win10)

    mysql8.0.11 winx64安裝配置方法圖文教程(win10)

    這篇文章主要為大家詳細介紹了win10下mysql8.0.11 winx64安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • MySQL 可以用localhost 連接,但不能用IP連接的問題解決方法

    MySQL 可以用localhost 連接,但不能用IP連接的問題解決方法

    這篇文章主要介紹了MySQL 可以用localhost 連接,但不能用IP連接的問題解決方法的相關資料,這里提供了解決方案,需要的朋友可以參考下
    2016-12-12
  • 詳解MySQL中default的使用

    詳解MySQL中default的使用

    這篇文章主要介紹了MySQL中default的使用,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • mysql登錄報錯提示:ERROR 1045 (28000)的解決方法

    mysql登錄報錯提示:ERROR 1045 (28000)的解決方法

    這篇文章主要介紹了mysql登錄報錯提示:ERROR 1045 (28000)的解決方法,詳細分析了出現(xiàn)MySQL登陸錯誤的原因與對應的解決方法,需要的朋友可以參考下
    2016-04-04
  • mysql如何查詢當前數(shù)據(jù)庫中不為空的表

    mysql如何查詢當前數(shù)據(jù)庫中不為空的表

    這篇文章主要介紹了mysql如何查詢當前數(shù)據(jù)庫中不為空的表問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • MySQL三大日志(binlog、redo?log和undo?log)圖文詳解

    MySQL三大日志(binlog、redo?log和undo?log)圖文詳解

    日志是MySQL數(shù)據(jù)庫的重要組成部分,記錄著數(shù)據(jù)庫運行期間各種狀態(tài)信息,下面這篇文章主要給大家介紹了關于MySQL三大日志(binlog、redo?log和undo?log)的相關資料,需要的朋友可以參考下
    2023-01-01
  • MySQL觸發(fā)器運用于遷移和同步數(shù)據(jù)的實例教程

    MySQL觸發(fā)器運用于遷移和同步數(shù)據(jù)的實例教程

    這篇文章主要介紹了MySQL觸發(fā)器運用于遷移和同步數(shù)據(jù)的實例教程,分別是SQL Server數(shù)據(jù)遷移至MySQL以及同步備份數(shù)據(jù)表記錄的兩個例子,需要的朋友可以參考下
    2015-12-12
  • MySQL 密碼設置

    MySQL 密碼設置

    本文介紹了如何修改一個用戶的密碼,你可以使用三種方法,GRANT語句、SET PASSWORD語句、直接修改授權表以及使用管理工具mysqladmin。
    2009-04-04
  • MySQL5.7 mysqldump備份與恢復的實現(xiàn)

    MySQL5.7 mysqldump備份與恢復的實現(xiàn)

    這篇文章主要介紹了MySQL5.7 mysqldump備份與恢復的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • SQL面試題:求時間差之和(有重復不計)

    SQL面試題:求時間差之和(有重復不計)

    這篇文章主要介紹了SQL面試題:求時間差之和(有重復不計),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11

最新評論