索引削咆,賬戶管理

索引

1>創(chuàng)建測試表test_index

createtabletest_index(titlevarchar(10));

2>使用python程序通過pymsql模塊 向表中加入十萬條數(shù)據(jù)

開啟運(yùn)行時間監(jiān)測:

setprofiling=1;

查找第1萬條數(shù)據(jù)ha-99999

select*fromtest_indexwheretitle='ha-99999';

查看執(zhí)行的時間:

showprofiles;

為表title_index的title列創(chuàng)建索引:

createindextitle_indexontest_index(title(10));

執(zhí)行查詢語句:

select*fromtest_indexwheretitle='ha-99999';

再次查看執(zhí)行的時間

showprofiles;

注意:

建立太多的索引將會影響更新和插入的速度鸽粉,黔酥。對于一個經(jīng)常需要更新和插入的表格挚赊,就沒有必要為一個很少使用的where字句單獨(dú)建立索引了诡壁,對于比較小的表,排序的開銷不會很大荠割,也沒有必要建立另外的索引妹卿。

建立索引會占用磁盤空間

哪些情況需要創(chuàng)建索引

1、主鍵自動建立唯一索引

2蔑鹦、頻繁作為查詢條件的字段應(yīng)該創(chuàng)建索引

3夺克、查詢中與其他表關(guān)聯(lián)的字段,外鍵關(guān)系建立索引

4、頻繁更新的字段不適合建立索引,因為每次更新不單單是更新了記錄還會更新索引

5嚎朽、WHERE條件里用不到的字段不創(chuàng)建索引

6铺纽、查詢中排序的字段,排序的字段若通過索引去訪問將大大提高排序速度

7、查詢中統(tǒng)計或者分組字段

哪些情況不需要創(chuàng)建索引

1哟忍、表記錄太少

2狡门、經(jīng)常增刪改的表

3、如果某個數(shù)據(jù)列包含許多重復(fù)內(nèi)容,為它建立索引就沒有太大的實際效果

賬戶管理

在生產(chǎn)環(huán)境下操作數(shù)據(jù)庫時锅很,絕對不可以使用root賬戶連接其馏,而是創(chuàng)建特定的賬戶,授予這個賬戶特定的操作權(quán)限爆安,然后連接進(jìn)行操作叛复,主要的操作就是數(shù)據(jù)的crud

MySQL賬戶體系:根據(jù)賬戶所具有的權(quán)限的不同,MySQL的賬戶可以分為以下幾種

服務(wù)實例級賬號:啟動了一個mysqld,即為一個數(shù)據(jù)庫實例褐奥;如果某用戶如root,擁有服務(wù)實例級分配的權(quán)限咖耘,那么該賬號就可以刪除所有的數(shù)據(jù)庫、連同這些庫中的表

數(shù)據(jù)庫級別賬號:對特定數(shù)據(jù)庫執(zhí)行增刪改查的所有操作

數(shù)據(jù)表級別賬號:對特定表執(zhí)行增刪改查等所有操作

字段級別的權(quán)限:對某些表的特定字段進(jìn)行操作

存儲程序級別的賬號:對存儲程序進(jìn)行增刪改查的操作

賬戶的操作主要包括創(chuàng)建賬戶抖僵、刪除賬戶鲤看、修改密碼、授權(quán)權(quán)限等

注意:

進(jìn)行賬戶操作時耍群,需要使用root賬戶登錄义桂,這個賬戶擁有最高的實例級權(quán)限

通常都使用數(shù)據(jù)庫級操作權(quán)限

(一)授予權(quán)限

需要使用實例級賬戶登錄后操作,以root為例

主要操作包括:查看所有用戶蹈垢,修改密碼慷吊,刪除用戶

1. 查看所有用戶

所有用戶及權(quán)限信息存儲在mysql數(shù)據(jù)庫的user表中

查看user表的結(jié)構(gòu)

desc user;

主要字段說明:

Host表示允許訪問的主機(jī)

User表示用戶名

authentication_string表示密碼,為加密后的值

查看所有用戶

selecthost,user,authentication_stringfromuser;

結(jié)果

mysql> select host,user,authentication_string from user;

rows in set (0.00 sec)

創(chuàng)建賬戶曹抬、授權(quán)

需要使用實例級賬戶登錄后操作溉瓶,以root為例

常用權(quán)限主要包括:create、alter谤民、drop堰酿、insert、update张足、delete触创、select

如果分配所有權(quán)限,可以使用all privileges

創(chuàng)建賬戶&授權(quán)

grant權(quán)限列表on數(shù)據(jù)庫to'用戶名'@'訪問主機(jī)'identifiedby'密碼';

創(chuàng)建一個laoweng的賬號为牍,密碼為123456哼绑,只能通過本地訪問, 并且只能對jing_dong數(shù)據(jù)庫中的所有表進(jìn)行讀操作

step1:使用root登錄

mysql -uroot -p

回車后寫密碼,然后回車

step2:創(chuàng)建賬戶并授予所有權(quán)限

grantselectonjing_dong.*to'laoweng'@'localhost'identifiedby'123456';

說明

可以操作python數(shù)據(jù)庫的所有表碉咆,方式為:jing_dong.*

訪問主機(jī)通常使用 百分號% 表示此賬戶可以使用任何ip的主機(jī)登錄訪問此數(shù)據(jù)庫

訪問主機(jī)可以設(shè)置成 localhost或具體的ip抖韩,表示只允許本機(jī)或特定主機(jī)訪問

查看用戶有哪些權(quán)限

showgrantsforlaoweng@localhost;

step3:退出root的登錄

quit

step4:使用laoweng賬戶登錄

mysql -ulaoweng -p

回車后寫密碼,然后回車

創(chuàng)建一個laoli的賬號疫铜,密碼為12345678茂浮,可以任意電腦進(jìn)行鏈接訪問, 并且對jing_dong數(shù)據(jù)庫中的所有表擁有所有權(quán)限

grantallprivilegesonjing_dong.*to"laoli"@"%"identifiedby"12345678";

(二)賬戶操作

1. 修改權(quán)限

grant權(quán)限名稱on數(shù)據(jù)庫to賬戶@主機(jī)withgrantoption;-- 刷新權(quán)限flush privileges;

使用root登錄,修改mysql數(shù)據(jù)庫的user表

使用password()函數(shù)進(jìn)行密碼加密

updateusersetauthentication_string=password('新密碼')whereuser='用戶名';例:updateusersetauthentication_string=password('123')whereuser='laoweng';

注意修改完成后需要刷新權(quán)限

刷新權(quán)限:flushprivileges

如果向在一個Ubuntu中使用msyql命令遠(yuǎn)程連接另外一臺mysql服務(wù)器的話壳咕,通過以下方式即可完成励稳,但是此方法僅僅了解就好了,不要在實際生產(chǎn)環(huán)境中使用

修改 /etc/mysql/mysql.conf.d/mysqld.cnf 文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

然后重啟msyql

sudo service mysql restart

在另外一臺Ubuntu中進(jìn)行連接測試

如果依然連不上囱井,可能原因:

網(wǎng)絡(luò)不通

通過 ping xxx.xxx.xx.xxx可以發(fā)現(xiàn)網(wǎng)絡(luò)是否正常

查看數(shù)據(jù)庫是否配置了bind_address參數(shù)

本地登錄數(shù)據(jù)庫查看my.cnf文件和數(shù)據(jù)庫當(dāng)前參數(shù)show variables like 'bind_address';

如果設(shè)置了bind_address=127.0.0.1 那么只能本地登錄

查看數(shù)據(jù)庫是否設(shè)置了skip_networking參數(shù)

如果設(shè)置了該參數(shù)驹尼,那么只能本地登錄mysql數(shù)據(jù)庫

端口指定是否正確

刪除賬戶

語法1:使用root登錄

dropuser'用戶名'@'主機(jī)';例:dropuser'laoweng'@'%';

語法2:使用root登錄,刪除mysql數(shù)據(jù)庫的user表中數(shù)據(jù)

deletefromuserwhereuser='用戶名';例:deletefromuserwhereuser='laoweng';-- 操作結(jié)束之后需要刷新權(quán)限flushprivileges

推薦使用語法1刪除用戶, 如果使用語法1刪除失敗庞呕,采用語法2方式

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末新翎,一起剝皮案震驚了整個濱河市程帕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌地啰,老刑警劉巖愁拭,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異亏吝,居然都是意外死亡岭埠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門蔚鸥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惜论,“玉大人,你說我怎么就攤上這事止喷」堇啵” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵弹谁,是天一觀的道長乾巧。 經(jīng)常有香客問我,道長预愤,這世上最難降的妖魔是什么沟于? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮植康,結(jié)果婚禮上社裆,老公的妹妹穿的比我還像新娘。我一直安慰自己向图,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布标沪。 她就那樣靜靜地躺著榄攀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪金句。 梳的紋絲不亂的頭發(fā)上檩赢,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機(jī)與錄音违寞,去河邊找鬼贞瞒。 笑死,一個胖子當(dāng)著我的面吹牛趁曼,可吹牛的內(nèi)容都是我干的军浆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼挡闰,長吁一口氣:“原來是場噩夢啊……” “哼乒融!你這毒婦竟也來了掰盘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤赞季,失蹤者是張志新(化名)和其女友劉穎愧捕,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體申钩,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡次绘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了撒遣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邮偎。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖愉舔,靈堂內(nèi)的尸體忽然破棺而出钢猛,到底是詐尸還是另有隱情,我是刑警寧澤轩缤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布命迈,位于F島的核電站,受9級特大地震影響火的,放射性物質(zhì)發(fā)生泄漏壶愤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一馏鹤、第九天 我趴在偏房一處隱蔽的房頂上張望征椒。 院中可真熱鬧,春花似錦湃累、人聲如沸勃救。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蒙秒。三九已至,卻和暖如春宵统,著一層夾襖步出監(jiān)牢的瞬間晕讲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工马澈, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留瓢省,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓痊班,卻偏偏與公主長得像勤婚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子涤伐,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容