最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2022年06月09日 10:36:36   作者:彭世瑜  
這篇文章主要介紹了MySQL數(shù)據(jù)庫用戶權(quán)限管理,文章主要內(nèi)容就是在不同的項目中,給不同的角色(開發(fā)者)不同的操作權(quán)限,保證數(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、權(quán)限管理

分為三類:

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

2.1、授予權(quán)限 grant

將權(quán)限分配給指定用戶

基本語法:

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

2.2、取消權(quán)限 revoke

基本語法:

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

2.3、刷新權(quán)限 flush

將操作的具體內(nèi)容同步到對應(yīng)的表中

基本語法:

flush privileges;

3、密碼丟失的解決方案

如果忘記root用戶的密碼

# 停止服務(wù)
mysql.server stop;

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

# 重新啟動服務(wù),跳過權(quán)限
mysqld --skip-grant-tables

# 直接無用戶名登錄
mysql

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

修改root密碼:

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

修改完后,關(guān)閉mysql服務(wù)器,重啟

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

相關(guān)文章

最新評論

开化县| 平潭县| 蓬溪县| 丽江市| 德惠市| 丹江口市| 阿尔山市| 茌平县| 文山县| 建平县| 二手房| 阳曲县| 南部县| 陇川县| 墨竹工卡县| 门源| 鄂尔多斯市| 宁城县| 内黄县| 江西省| 讷河市| 祁门县| 瓦房店市| 龙海市| 江阴市| 九龙坡区| 望江县| 贵州省| 漳平市| 墨玉县| 长阳| 周宁县| 洛南县| 宜川县| 英山县| 讷河市| 康保县| 清徐县| 花莲市| 周宁县| 永春县|