Mysql資料庫修改使用者許可權
一、首先我們需要來看一下mysql預設資料庫裡面的四張表(user,db,tables_priv,columns_priv)。
1、user表(使用者層許可權)
因為欄位太多,只截取了一部分。首先登陸的時候驗證Host,User,Password也就是ip,使用者名稱,密碼是否匹配,匹配登陸成功將會為登陸者分配許可權,分配許可權的順序也是按照上面四張表的排列順序進行的,舉個例子,如果user表的Select_priv為Y說明他擁有所有表的查詢許可權,如果為N就需要到下一級db表中進行許可權分配了。其中的%是萬用字元,代表任意的意思。
2、db表(資料庫層許可權)
來到db表之後會匹配Host,User然後會根據Db欄位對應的表進行許可權分配,像Select_priv這些欄位對應的許可權大家應該都能看出來是對應著什麼許可權了吧,這裡不細說了(不偷懶,舉個例子Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv分別代表著查詢,增加,更新,刪除,建立,銷燬)。其中Y代表這擁有此項許可權,N則代表沒有此項許可權。
3、tables_priv表(表層許可權)
與上面一樣,這是通過Host,Db,User,Table來進行定位到表層的一個許可權分配。不過它只有Table_priv和Column_priv兩個欄位來記錄許可權。
4、columns_priv表(欄位層許可權)
顧名思義,欄位層許可權,通過Host,Db,User,Table,Column來進行定位到欄位層的一個許可權分配,只有Column_priv來記錄許可權。
二、使用grant命令來分配許可權
大致格式:grant 許可權 on 資料庫物件 to 使用者 identified by 密碼
我們通過兩條命令來解讀下:
grant all on test.* to 'root'@'%' identified by '123456' with grant option;
上面這條命令的意思是給[email protected]%這個使用者對應的test資料庫分配所有操作許可權,identified by是需要進行的一個密碼認證。把all換成USAGE就表示這個使用者除了登陸啥都幹不了。
grant select, insert, update, delete on test.* to 'root'@'%' identified by '123456' with grant option;
上面這條命令則是給[email protected]%這個使用者對應的test資料庫分配了增刪改查的操作許可權。
檢視某個使用者的許可權:show grants for 'root'@'%';
相關推薦
Mysql資料庫修改使用者許可權
一、首先我們需要來看一下mysql預設資料庫裡面的四張表(user,db,tables_priv,columns_priv)。1、user表(使用者層許可權)因為欄位太多,只截取了一部分。首先登陸的時候驗證Host,User,Password也就是ip,使用者名稱,密碼是否匹
第八章| 2. MySQL資料庫|資料操作| 許可權管理
1、資料操作 SQL(結構化查詢語言),可以操作關係型資料庫 通過sql可以建立、修改賬號並控制賬號許可權; 通過sql可以建立、修改資料庫、表; 通過sql可以增刪改查資料; 可以通過SQL語句中的DML語言來實現資料的操作,包括 使用INSERT實現資料的插入 U
mysql資料庫修改字元編碼問題
轉自:海綿般汲取 https://www.cnblogs.com/gne-hwz/p/8748028.html 遇到這種情況,現有專案的資料庫已經建好,資料表也已經建立完成。 問題來的,資料庫不能插入中文,除錯時候發現中文資料從傳送請求到最後請求處理完成這些步驟,中文還沒有發生
MySQL資料庫修改庫名的三種方法
如果是MyISAM儲存引擎那麼可以直接去到資料庫目錄mv就可以。 如果是Innodb完全不行,會提示相關表不存在。 第一種方法:RENAME database olddbname TO newdbname 官方不推薦,會有丟失資料的危險 第二種方法: 1.建立需要改成新名的資
MySQL 資料庫賦予使用者許可權操作表
MySQL清空資料庫的操作:truncate table tablename; MySQL 賦予使用者許可權命令的簡單格式可概括為:grant 許可權 on 資料庫物件 to 使用者 一、grant 普
MySQL資料庫遠端訪問許可權如何開啟(兩種方法)
在我們使用mysql資料庫時,有時我們的程式與資料庫不在同一機器上,這時我們需要遠端訪問資料庫。預設狀態下,mysql的使用者沒有遠端訪問的許可權。 下面介紹兩種方法,解決這一問題。 1、改表法 可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要
關於mysql資料庫的使用者許可權問題總結
按照我的步驟,你一定可以學會如何設定mysql使用者許可權問題,我是敢於打包票的,下面的每一條命令我都給解釋清楚! 這裡不僅列出所有許可權問題,還給列出了很多常用命令,可以學習一下的。 檢視mysql的版本: mysql> select version(); +----------
MySQL資料庫修改資料庫名的三種方式
在Innodb資料庫引擎下修改資料庫名的方式與MyISAM引擎下修改資料庫的方式完全不一樣,如果是MyISAM可以直接去資料庫目錄中mv就可以,Innodb如果用同樣的方法修改會提示相關表不存在。 第一種方法: rename database olddbname to newdbname
mysql資料庫修改資料庫編碼,欄位編碼與表編碼
1.修改資料庫的編碼 將資料庫(test)的編碼方式修改為utf8,如: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; 2.修改表的編碼 將表(test)的編碼方式修改為ut
MySQL資料庫遠端訪問許可權設定
遠端訪問工具有很多,小編我用的是SQLyog,其他的一樣可以。如下圖所示。MySQL host address表示安裝MySQL伺服器的主機IP地址。Username以及Password需要在MySQL伺服器主機mysql資料庫中的user中更改授權。1、改表法
linux的mysql資料庫的由於許可權問題看不到mysql庫user表
今天在安裝mysql資料庫後,想開啟遠端連線,發現查詢不到了mysql資料庫自帶的mysql資料庫,是由於使用者的許可權問題導致,解決辦法如下: 第一種情況 [[email protected] ~]# mysql -uroot -p123
mysql資料庫中的許可權
使用者在訪問資料庫的時候,有時候我們並不希望所有訪客都能對資料庫內的資料進行增刪改查等處理,這時候就需要用到許可權管理。 在mysql中,許可權是系統內定的一些“名詞”(單詞),大約30個,每個許可權表示“可以做什麼工作”。 則分配許可權就是相當於讓某個使用者可以做哪些工作。mysql中的使用者資訊都儲存在
Mysql資料庫修改大小寫敏感性問題
概念描述 Mysql在Linux系統預設是大小寫敏感的,就是說在使用時是區分大小寫的。 通常我們並不希望這樣做。Mysql為什麼預設這麼做確實不解啊。Oracle就不這麼彪悍。 怎麼修改 在配置檔案中修改引數lower_case_table_names,重啟資料庫生效。
MySQL資料庫——修改約束基本操作
[]中括號內為可省略字元 --新增主鍵約束 ALTER TABLE 表名 ADD [CONSTRAINT [symbol(約束名)]] PRIMARY KEY [index_type](index_
MySQL資料庫遠端訪問許可權開啟
改表: 可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%" mysql -uroot -p1
MySQL資料庫修改名稱的三種方法
第一種方法: RENAME database olddbname TO newdbname這個是5.1.7到5.1.23版本可以用的,但是官方不推薦,會有丟失資料的危險 第二種方法: 1.建立需要改成新名的資料庫。 2.mysqldum 匯出要改名的資料庫 3.刪
mysql資料庫修改密碼
方法1: 用SET PASSWORD命令 首先登入MySQL。 格式:mysql> set password for 使用者名稱@localhost = password('新密碼'); 例子:mysql> set password for [email protected] =
mysql 資料庫 修改預設時區
mysql資料庫建立後。預設的時區比東八區少了八個小時。如果sql語句中使用到mysql的時間的話就會比正常時間少了八個小時。所以需要修改mysql的系統時區。使用mysql連線工具或者命令好工具都可以。我用workbench輸入命令列:select now(); 檢視mys
修改mysql資料庫的字元編碼和sql_mode許可權
使用環境:伺服器,Ubuntu,mysql 一、修改mysql資料庫的sql_mode許可權 1、檢視當前資料庫的sql_mode許可權: xshell(或navicat)連線遠端伺服器資料庫,然後執行命令:select @@sql_mo
linux mysql資料庫遠端訪問連不上問題,修改訪問許可權
經過驗證以下方法有效mysql -u root -pmysql>use mysql;mysql>select 'host' from user where user='root';mysql>update user set host = '%' where