中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

發布時間:2020-07-18 13:37:04 來源:網絡 閱讀:764 作者:ZeroOne01 欄目:MySQL數據庫


筆記內容:

  • 13.4 mysql用戶管理

  • 13.5 常用sql語句

  • 13.6 mysql數據庫備份恢復

筆記日期:2017-10-31


13.4 mysql用戶管理

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

搭建一個網站時,后臺的應用程序會連接mysql,連接mysql就需要一個用戶密碼,但是不能讓它使用root用戶,root用戶的權限太高不安全,所以需要創建一個用戶,并授予這個用戶一些權限,你可以具體的授予這些用戶的某些權限,讓它能操作什么不能操作什么。

下面就來介紹一下如何創建mysql用戶以及授權:

  1. 創建用戶,語句如下:

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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

常識:這種grant語句是不會記錄到命令歷史里的,因為不安全。


現在就創建好一個user1用戶了,因為創建這個用戶的時候是指定了來源IP的,所以在登錄這個用戶時需要使用-h指定IP:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


如果想要創建一個可以本地連接的mysql用戶,在創建時指定localhost就可以了:

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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


使用show grants; 可以看到當前用戶擁有哪些權限:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


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

show grants for user1@'localhost';

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


我們再創建一個用戶,給這個用戶授予具體對某個庫的操作權限:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


現在我們查看一下user2的權限:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

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


當你想增加用戶的連接IP或者其他權限時,就可以直接復制show grants命令顯示出來的語句,然后更改IP即可,例如我要讓user2能使用192.168.77.139這個IP登錄:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


然后再show grants看一下:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復



13.5 常用sql語句

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

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

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

這條語句是查看mysql庫中的user表有多少行,count是一個統計行數的函數:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


  1. select * from mysql.db\G;

查看mysql庫中的db表里的所有內容:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


  1. select db from mysql.db;

查看mysql庫中的db表里db字段的所有內容:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


  1. select db,user from mysql.db;

查看mysql庫中的db表里db和user 字段的所有內容:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


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

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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


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

insert 語句是用來插入數據的:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


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

update 語句是用來修改或者說更新數據的:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


  1. truncate table db1.t1;

清空數據,能夠把一個表格里的所有數據都清空:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


  1. drop table db1.t1;

drop 是用來刪除結構的,drop的刪除不僅僅刪除數據,會把結構也一并刪除,以上這條drop就是把db1庫中的t1表給刪除掉:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


10. drop database db1;

這是刪除數據庫的,同樣的也是刪除結構:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


drop和truncate、delete語句不同的是,前者刪除在整個結構,后者僅僅刪除結構中的數據。

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



13.6 mysql數據庫備份恢復

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

因為數據的重要性,所以備份與恢復技術是非掌握不可的,在這里介紹一下,備份和恢復數據庫的相關操作:

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

  1. 備份庫,語法如下:

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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


  1. 恢復庫,將備份文件里的內容重定向到一個空的數據庫中,語法如下:

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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

進入到mysql2中,可以看到數據已經恢復到這個庫中了:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

從以上備份和恢復數據庫可見,其實就是一個重定向的應用,重定向出去叫備份,重定向進來叫恢復。


  1. 備份表,除了備份整個數據庫之外,還能針對數據庫中的某個表進行備份,指定庫名和表名即可,語法如下:

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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

可以使用less命令查看一下user.sql文件,會發現里面都是些sql語句:

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

通過sql語句逐個把數據恢復回去。


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

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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


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

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

-A是all,所有的意思

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復

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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


  1. 只備份表結構,如果你不需要數據的情況下,就可以只備份表結構,使用-d選項,語法如下:

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

Linux下的mysql用戶管理,常用sql語句,mysql數據庫備份恢復


然后你可以使用less查看備份文件的內容,會發現沒有insert語句只有drop和create語句

mysqldump 只適合數據量不大的備份,如果數據庫中的數據庫很大的話,就不適合使用mysqldump 了,使用mysqldump 的話備份會很慢,關于如何備份數量大的數據庫可以參考以下擴展內容:


擴展

SQL語句教

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


什么是事務?事務的特性有哪些?

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


根據binlog恢復指定時間段的數據

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


mysql字符集調整

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


使用xtrabackup備份innodb引擎的數據庫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問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沾益县| 杂多县| 观塘区| 扎鲁特旗| 合肥市| 万年县| 伊春市| 绥芬河市| 铜川市| 含山县| 高台县| 海林市| 崇阳县| 类乌齐县| 宣化县| 福鼎市| 清远市| 洞口县| 内江市| 苗栗县| 德钦县| 芒康县| 沐川县| 南靖县| 磐安县| 海城市| 中宁县| 桂林市| 广宗县| 盈江县| 虹口区| 张掖市| 武义县| 宣汉县| 修水县| 班戈县| 方山县| 灵武市| 嘉荫县| 浏阳市| 盐山县|