亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySql之授權用戶權限如何設置

 更新時間:2023年05月17日 14:19:21   作者:xingcsdnboke  
這篇文章主要介紹了MySql之授權用戶權限如何設置問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MySql授權用戶權限如何設置

首先:去 mysql 庫中查看 root 用戶的權限

select * from user where user = 'root' and host='localhost';

查看root權限為所有ip都可以訪問

mysql> show grants for root;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD

1、授權test用戶擁有 mydatabase 數(shù)據(jù)庫的所有權限(某個數(shù)據(jù)庫的所有權限):

mysql>grant all privileges on mydatabase.* to user@localhost identified by '123456';
mysql>flush privileges;//刷新系統(tǒng)權限表

格式:grant 權限 on 數(shù)據(jù)庫.* to 用戶名@登錄主機 identified by "密碼";

2、指定部分權限給一用戶,可以這樣來寫:

mysql>grant select,update on testDB.* to test@localhost identified by '123456';
mysql>flush privileges; //刷新系統(tǒng)權限表

3、授權test用戶擁有所有數(shù)據(jù)庫的某些權限:

mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "123456";
//test用戶對所有數(shù)據(jù)庫都有select,delete,update,create,drop 權限。
//@"%" 表示對所有非本地主機授權,不包括localhost

MySQL賦予用戶權限命令總結

MySQL用戶可用權限

一個新建的MySQL用戶沒有任何訪問權限,這就意味著你不能在MySQL數(shù)據(jù)庫中進行任何操作。你得賦予用戶必要的權限。

以下是一些可用的權限:

  • ALL: 所有可用的權限 
  • CREATE: 創(chuàng)建庫、表和索引 
  • LOCK_TABLES: 鎖定表 
  • ALTER: 修改表 
  • DELETE: 刪除表 
  • INSERT: 插入表或列 
  • SELECT: 檢索表或列的數(shù)據(jù) 
  • CREATE_VIEW: 創(chuàng)建視圖 
  • SHOW_DATABASES: 列出數(shù)據(jù)庫 
  • DROP: 刪除庫、表和視圖 
  • grant、index、references、reload、shutdownprocess等等

賦予權限基本命令格式

mysql> grant 權限1,權限2 on 數(shù)據(jù)庫名稱.表名稱 to 用戶名@用戶地址 identified by ‘連接口令’; 

當權限1,權限2,…被all privileges或者all代替,表示賦予用戶全部權限。

當數(shù)據(jù)庫名稱.表名稱被*.*代替,表示賦予用戶操作服務器上所有數(shù)據(jù)庫所有表的權限。

用戶地址可以是localhost,也可以是ip地址、機器名字、域名。也可以用'%'表示從任何地址連接。

‘連接口令’不能為空,否則創(chuàng)建失敗。

在MySQL安裝完成后,為了確保數(shù)據(jù)庫的安全性,通常我們都使用mysqladmin命令給數(shù)據(jù)管理員root用戶添加密碼,允許遠程登錄并賦予所有權限。

例1

mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;

賦予所有特殊權限給root用戶,可以從任何IP地址遠程登錄,密碼為abc123,且擁有grant賦予權限的權限

例2

mysql> grant select,insert,update,delete,create,drop on school.info to test@192.168.100.100 identified by '123';

 給來自192.168.100.100的用戶test分配可對數(shù)據(jù)庫school的info表進行select,insert,update,delete,create,drop等操作的權限,并設定口令為123。

例3

mysql> grant all privileges on school.* to test@192.168.100.100 identified by '123';

給來自192.168.100.100的用戶test分配可對數(shù)據(jù)庫school所有表進行所有操作的權限,并設定口令為123。

例4

mysql>grant all privileges on *.* to test@localhost identified by '123';

 給本機用戶test分配可對所有數(shù)據(jù)庫的所有表進行所有操作的權限,并設定口令為123。

注:在mysql模式中,當賦予用戶權限或者權限設定后,重要的一步使得命令立即生效:

mysql>flush privileges

忘記密碼 重置密碼

systemctl stop mysqld.service
mysqld --skip-grant-tables 啟動數(shù)據(jù)庫不使用授權表
source /etc/profile

mysql 進入數(shù)據(jù)庫

update mysql.user set authentication_string=password ('123456') where user='root';
flush privileges; 刷新數(shù)據(jù)庫
init 6 重啟

注:若是想默認直接跳過賬戶驗證,可直接通過在主配置文件中添加:

vim /etc/my.cnf

[mysqld]
skip-grant-tables ? ? ?//添加跳過驗證命令
user=mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
....

重啟MySQL服務

systemctl restart mysqld.service

如上,當再次進入MySQL時即可跳過驗證,直接進入。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論