溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

發(fā)布時(shí)間:2020-07-18 13:37:04 來源:網(wǎng)絡(luò) 閱讀:764 作者:ZeroOne01 欄目:MySQL數(shù)據(jù)庫


筆記內(nèi)容:

  • 13.4 mysql用戶管理

  • 13.5 常用sql語句

  • 13.6 mysql數(shù)據(jù)庫備份恢復(fù)

筆記日期:2017-10-31


13.4 mysql用戶管理

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

搭建一個(gè)網(wǎng)站時(shí),后臺(tái)的應(yīng)用程序會(huì)連接mysql,連接mysql就需要一個(gè)用戶密碼,但是不能讓它使用root用戶,root用戶的權(quán)限太高不安全,所以需要?jiǎng)?chuàng)建一個(gè)用戶,并授予這個(gè)用戶一些權(quán)限,你可以具體的授予這些用戶的某些權(quán)限,讓它能操作什么不能操作什么。

下面就來介紹一下如何創(chuàng)建mysql用戶以及授權(quán):

  1. 創(chuàng)建用戶,語句如下:

grant all on *.* to 'user1'@'192.168.77.130' identified by '123456a';

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

常識:這種grant語句是不會(huì)記錄到命令歷史里的,因?yàn)椴话踩?/span>


現(xiàn)在就創(chuàng)建好一個(gè)user1用戶了,因?yàn)閯?chuàng)建這個(gè)用戶的時(shí)候是指定了來源IP的,所以在登錄這個(gè)用戶時(shí)需要使用-h指定IP:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


如果想要?jiǎng)?chuàng)建一個(gè)可以本地連接的mysql用戶,在創(chuàng)建時(shí)指定localhost就可以了:

grant all on *.* to 'user1'@'localhost' identified by '123456a';

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


創(chuàng)建為可以本地連接的用戶,登錄時(shí)就不需要使用-h指定來源IP了:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


使用show grants; 可以看到當(dāng)前用戶擁有哪些權(quán)限:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


如果想看具體的某個(gè)用戶的話,在命令后加上for 用戶名@登錄方式  即可,示例:

show grants for user1@'localhost';

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


我們再創(chuàng)建一個(gè)用戶,給這個(gè)用戶授予具體對某個(gè)庫的操作權(quán)限:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


現(xiàn)在我們查看一下user2的權(quán)限:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

可以看到user2具體能執(zhí)行的sql語句,和可以操作哪個(gè)庫的哪些表。


當(dāng)你想增加用戶的連接IP或者其他權(quán)限時(shí),就可以直接復(fù)制show grants命令顯示出來的語句,然后更改IP即可,例如我要讓user2能使用192.168.77.139這個(gè)IP登錄:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


然后再show grants看一下:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


原本的IP也能連接,這個(gè)操作是增加一個(gè)可以連接的IP:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)



13.5 常用sql語句

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

下面簡單介紹幾個(gè)mysql中常用的增刪查改語句:

  1. select count(*) from mysql.user;

這條語句是查看mysql庫中的user表有多少行,count是一個(gè)統(tǒng)計(jì)行數(shù)的函數(shù):

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. select * from mysql.db\G;

查看mysql庫中的db表里的所有內(nèi)容:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. select db from mysql.db;

查看mysql庫中的db表里db字段的所有內(nèi)容:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. select db,user from mysql.db;

查看mysql庫中的db表里db和user 字段的所有內(nèi)容:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. select * from mysql.db where host like '192.168.%'\G;

查看mysql庫中的db表里host字段為192.168.開頭的所有內(nèi)容,like是模糊查詢的關(guān)鍵字,where是指定的一個(gè)條件:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. insert into db1.t1 values (1, 'abc');

insert 語句是用來插入數(shù)據(jù)的:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. update db1.t1 set name='aaa' where id=1;

update 語句是用來修改或者說更新數(shù)據(jù)的:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. truncate table db1.t1;

清空數(shù)據(jù),能夠把一個(gè)表格里的所有數(shù)據(jù)都清空:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. drop table db1.t1;

drop 是用來刪除結(jié)構(gòu)的,drop的刪除不僅僅刪除數(shù)據(jù),會(huì)把結(jié)構(gòu)也一并刪除,以上這條drop就是把db1庫中的t1表給刪除掉:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


10. drop database db1;

這是刪除數(shù)據(jù)庫的,同樣的也是刪除結(jié)構(gòu):

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


drop和truncate、delete語句不同的是,前者刪除在整個(gè)結(jié)構(gòu),后者僅僅刪除結(jié)構(gòu)中的數(shù)據(jù)。

謹(jǐn)記一點(diǎn),drop和truncate、delete等語句盡量不要使用,如果需要使用的話記得提前備份數(shù)據(jù),并且使用時(shí)萬分小心看仔細(xì)了別刪錯(cuò)數(shù)據(jù)了,如果不小心誤操作把一個(gè)線上跑的數(shù)據(jù)庫給刪了的話,而且又沒有備份可恢復(fù),那么就等著被開除或賠償吧。



13.6 mysql數(shù)據(jù)庫備份恢復(fù)

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

因?yàn)閿?shù)據(jù)的重要性,所以備份與恢復(fù)技術(shù)是非掌握不可的,在這里介紹一下,備份和恢復(fù)數(shù)據(jù)庫的相關(guān)操作:

mysqldump是一個(gè)備份的命令,可以備份一個(gè)庫,也可以備份一個(gè)表:

  1. 備份庫,語法如下:

mysqldump -uroot -p123456 mysql > /tmp/mysql.sql

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. 恢復(fù)庫,將備份文件里的內(nèi)容重定向到一個(gè)空的數(shù)據(jù)庫中,語法如下:

mysql -uroot -p123456 mysql2 < /tmp/mysql.sql

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

進(jìn)入到mysql2中,可以看到數(shù)據(jù)已經(jīng)恢復(fù)到這個(gè)庫中了:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

從以上備份和恢復(fù)數(shù)據(jù)庫可見,其實(shí)就是一個(gè)重定向的應(yīng)用,重定向出去叫備份,重定向進(jìn)來叫恢復(fù)。


  1. 備份表,除了備份整個(gè)數(shù)據(jù)庫之外,還能針對數(shù)據(jù)庫中的某個(gè)表進(jìn)行備份,指定庫名和表名即可,語法如下:

mysqldump -uroot -p123456 mysql user > /tmp/user.sql

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

可以使用less命令查看一下user.sql文件,會(huì)發(fā)現(xiàn)里面都是些sql語句:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

通過sql語句逐個(gè)把數(shù)據(jù)恢復(fù)回去。


  1. 恢復(fù)表,和恢復(fù)庫一樣的,把備份的文件內(nèi)容重定向回去,語法如下:

mysql -uroot -p123456 mysql < /tmp/user.sql

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. 備份所有的庫,如果mysql中有很多數(shù)據(jù)庫,一個(gè)個(gè)去備份太麻煩,所以需要能夠備份所有數(shù)據(jù)庫的語句,語法如下:

mysqldump -uroot -p -A >/tmp/123.sql

-A是all,所有的意思

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)

可以查看到這個(gè)備份文件就比較大了,有1.3M:

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


  1. 只備份表結(jié)構(gòu),如果你不需要數(shù)據(jù)的情況下,就可以只備份表結(jié)構(gòu),使用-d選項(xiàng),語法如下:

mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

Linux下的mysql用戶管理,常用sql語句,mysql數(shù)據(jù)庫備份恢復(fù)


然后你可以使用less查看備份文件的內(nèi)容,會(huì)發(fā)現(xiàn)沒有insert語句只有drop和create語句

mysqldump 只適合數(shù)據(jù)量不大的備份,如果數(shù)據(jù)庫中的數(shù)據(jù)庫很大的話,就不適合使用mysqldump 了,使用mysqldump 的話備份會(huì)很慢,關(guān)于如何備份數(shù)量大的數(shù)據(jù)庫可以參考以下擴(kuò)展內(nèi)容:


擴(kuò)展

SQL語句教

https://blog.51cto.com/zt/206


什么是事務(wù)?事務(wù)的特性有哪些?

http://blog.csdn.net/yenange/article/details/7556094


根據(jù)binlog恢復(fù)指定時(shí)間段的數(shù)據(jù)

http://www.centoscn.com/mysql/2015/0204/4630.html


mysql字符集調(diào)整

http://xjsunjie.blog.51cto.com/999372/1355013


使用xtrabackup備份innodb引擎的數(shù)據(jù)庫innobackupex備份Xtrabackup增量備份

http://zhangguangzhi.top/2017/08/23/innobackex%E5%B7%A5%E5%85%B7%E5%A4%87%E4%BB%BDmysql%E6%95%B0%E6%8D%AE/#%E4%B8%89%E3%80%81%E5%BC%80%E5%A7%8B%E6%81%A2%E5%A4%8Dmysql














向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI