mysql操作學(xué)習(xí)筆記

1.用戶操作


  • 注意:操作用戶本身是需要有權(quán)限的。

1.1 新建用戶

新建用戶需要用戶名,密碼和允許登錄的主機(jī)IP;
命令格式:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

username:用戶名;
password:用戶密碼;
host:表示允許連接到數(shù)據(jù)庫服務(wù)的主機(jī),localhost表示本地主機(jī),%通配符表示允許任意主機(jī)登錄。
* 注意:這里的host會(huì)影響到遠(yuǎn)程登錄操作數(shù)據(jù)庫

以下命令創(chuàng)建用戶名為liguo,密碼為12345678的用戶,該用戶僅允許通過本地主機(jī)登錄:

 CREATE USER 'liguo'@'localhost' IDENTIFIED BY '12345678';

1.2 用戶授權(quán)

通過1.1中的命令創(chuàng)建的用戶默認(rèn)是沒有增刪改查權(quán)限的,需要使用GRANT命令來授權(quán)。授權(quán)需要制定要授權(quán)的用戶、所授予的權(quán)限和給予操作權(quán)限的數(shù)據(jù)表,命令格式如下:

GRANT privileges ON db_name.table_name TO 'username'@'host'

privileges:要授予的權(quán)限,insertdelete,update,select對(duì)應(yīng)增刪改查,要全部授予可以使用ALL;
db_name:要給予操作權(quán)限的數(shù)據(jù)庫;
table_name:要給予操作權(quán)限的數(shù)據(jù)表,允許全部數(shù)據(jù)表可以使用通配符.;
可以使用

SHOW GRANTS FOR 'username'@'host';

來查詢用戶的操作權(quán)限。
操作權(quán)限變更后,使用FLUSH privileges命令可以在權(quán)限修改后不用重啟mysql服務(wù)立即生效。


1.3 取消授權(quán)

使用REVOKE命令撤銷,命令格式與GRANT類似:

REVOKE privilege ON db_name.table_name FROM 'username'@'host';

1.4 刪除用戶

太簡單了!

DROP USER 'username'@'host';

1.5 用戶信息查詢

mysql.user是一個(gè)記錄用戶信息的數(shù)據(jù)表,里面記錄了用戶所有的信息,可以使用SELECT命令查詢?cè)摫砀褚缘玫接脩粜畔ⅲ褂?code>SHOW COLUMNS FROM mysql.user可以查看數(shù)據(jù)表的列名。
查看所有用戶的所有信息:

SELECT * FROM mysql.user;

查看用戶liguo的用戶名,主機(jī),查詢權(quán)限信息:

SELECT user,host,Select_priv FROM mysql.user where user='liguo';

2. 遠(yuǎn)程連接數(shù)據(jù)庫

mysql服務(wù)器處于安全考慮,默認(rèn)是不允許遠(yuǎn)程連接數(shù)據(jù)庫的。因此,為了遠(yuǎn)程登錄mysql服務(wù)器,需要開放權(quán)限,修改配置文件。

2.1 開放用戶的遠(yuǎn)程登錄權(quán)限(需要root權(quán)限)

開放權(quán)限后可以使得該用戶可以遠(yuǎn)程登錄到該服務(wù)器:

GRANT ALL PRIVILEGES ON *.* TO 'liguo'@"%" IDENTIFIED BY "passwd" WITH GRANT OPTION;

修改之后,用戶liguo只要使用密碼'passwd'就可以從任意主機(jī)(%)連接到該數(shù)據(jù)庫了,WITH GRANT OPTION表示該用戶具有授權(quán)給其他用戶的權(quán)限。

2.2 修改mysql的配置

將配置文件中的 bind-address = 127.0.0.1 這一行用'#'注釋掉,這里注意,不同版本的mysql配置文件可能不一樣
我使用的是ubuntu +mysql5.7,配置文件路徑為:/etc/mysql/mysql.conf.d/mysqld.cnf
使用sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf找到對(duì)應(yīng)的一行,注釋掉后保存即可;

2.3 重啟mysql服務(wù)

使用 service mysql restart重啟服務(wù)器使得配置生效。
重啟過后,遠(yuǎn)程客戶端通過-h參數(shù)指定主機(jī)ip即可實(shí)現(xiàn)遠(yuǎn)程連接。

3.增刪改查

3.1 建表

CREATE TABLE IF NOT EXISTS table_name 
(
    key_name1 key_type1,
    key_name2 key_type2,
                ...
    key_namen key_typen,
    PRIMARY KEY(key_name)
) default charset=utf8;

key_name:鍵名
key_type:鍵類型
PRIMARY KEY(key_name):設(shè)置主鍵
default charset=utf8:設(shè)置編碼為utf8,這樣就能存儲(chǔ)中文字符了
注意:要存儲(chǔ)中文字符,還需要修改配置文件,在文件中加入以下配置:

[mysqld]
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8

修改后重啟數(shù)據(jù)庫服務(wù)器即可。
另外,使用 SHOW VARIABLES LIKE '%char%;'命令可以查詢服務(wù)器的字符集編碼。

3.2 增加數(shù)據(jù)

INSERT INTO table_name (key1,key2...keyn) VALUES (value1,value2,value3);

key:要添加的鍵名
value:要添加的值

3.3 刪除數(shù)據(jù)

DELETE FROM table_name WHERE cause;

cause:記錄所滿足的條件

3.4 修改數(shù)據(jù)

UPDATE table_name SET key1=value1,key2=value2 WHERE cause;

3.5 查詢數(shù)據(jù)

SELECT col1,col2..coln FROM  table_name WHERE cause;

col1-n為要查詢的列名(鍵名),可以使用'*'表示通配符。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,992評(píng)論 0 9
  • 1、第八章 Samba服務(wù)器2、第八章 NFS服務(wù)器3、第十章 Linux下DNS服務(wù)器配站點(diǎn),域名解析概念命令:...
    哈熝少主閱讀 3,914評(píng)論 0 10
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個(gè)...
    _小老虎_閱讀 6,349評(píng)論 0 10
  • 晚風(fēng)吹去的 只是昏色的夕陽 天還在 即使變得幽暗 背影帶走的 只是無端的期許 夢還在 即使變得渺茫 時(shí)光抹去的 只...
    何四金mile閱讀 219評(píng)論 0 1
  • 1、真修行人,以智慧劍破煩惱賊,不但可以跳出五陰,還可以跳出十二入、十八界。這才是真正成就了。成就了之后,才能挑負(fù)...
    智囊團(tuán)閱讀 303評(píng)論 0 0

友情鏈接更多精彩內(nèi)容