mysql 賦許可權 MySQL賦予使用者許可權命令總結

2021-10-25 14:20:46 字數 2106 閱讀 5141

mysql使用者可用許可權

乙個新建的mysql使用者沒有任何訪問許可權,這就意味著你不能在mysql資料庫中進行任何操作。你得賦予使用者必要的許可權。以下是一些可用的許可權:

all: 所有可用的許可權

create: 建立庫、表和索引

lock_tables: 鎖定表

alter: 修改表

delete: 刪除表

insert: 插入表或列

select: 檢索表或列的資料

create_view: 建立檢視

show_databases: 列出資料庫

drop: 刪除庫、表和檢視

grant、index、references、reload、shutdown、process等等

賦予許可權基本命令格式

mysql> grant 許可權1,許可權2 on 資料庫名稱.表名稱 to 使用者名稱@使用者位址 identified by 『連線口令』;

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

當資料庫名稱.表名稱被*.*代替,表示賦予使用者操作伺服器上所有資料庫所有表的許可權。

使用者位址可以是localhost,也可以是ip位址、機器名字、網域名稱。也可以用'%'表示從任何位址連線。

『連線口令』不能為空,否則建立失敗。

在mysql安裝完成後,為了確保資料庫的安全性,通常我們都使用mysqladmin命令給資料管理員root使用者新增密碼,允許遠端登入並賦予所有許可權。

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

賦予所有特殊許可權給root使用者,可以從任何ip位址遠端登入,密碼為abc123,且擁有grant賦予許可權的許可權

例2mysql> grant select,insert,update,delete,create,drop on school.info to [email protected] identified by '123';

給來自192.168.100.100的使用者test分配可對資料庫school的info表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為123。

例3mysql> grant all privileges on school.* to [email protected] identified by '123';

給來自192.168.100.100的使用者test分配可對資料庫school所有表進行所有操作的許可權,並設定口令為123。

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

給本機使用者test分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。

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

mysql>flush privileges

忘記密碼 重置密碼

systemctl stop mysqld.service

mysqld --skip-grant-tables 啟動資料庫不使用授權表

source /etc/profile

mysql 進入資料庫

update mysql.user set authentication_string=password ('123456') where user='root';

flush privileges; 重新整理資料庫

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時即可跳過驗證,直接進入。

mysql無法賦予許可權

在開發過程中,有這樣的乙個需求 建立使用者並授權其可以查詢某個檢視 mysql資料庫 sql指令碼如下 grant usage on to carestream drop user carestream create user carestream identified by carestream ...

my sql 賦許可權 grant

mysql grant 許可權1,許可權2,許可權n on 資料庫名稱.表名稱 to 使用者名稱 使用者位址 identified by 連線口令 許可權1,許可權2,許可權n代表select,insert,update,delete,create,drop,index,alter,grant,re...

mysql 新建使用者,賦予許可權

mysql 建立乙個使用者 hail,密碼 hail,指定乙個資料庫 haildb 給 hailmysql u root ppassworduse mysql insert into user ho mysql 建立乙個使用者 hail,密碼 hail,指定乙個資料庫 haildb 給 hail m...