1. 程式人生 > >MySQL常用操作(2)MySQL用戶管理、常用sql語句、 MySQL數據庫備份恢復

MySQL常用操作(2)MySQL用戶管理、常用sql語句、 MySQL數據庫備份恢復

MySQL用戶管理

MySQL用戶管理

技術分享圖片

創建一個普通用戶並且授權

1.grant all on *.* to 'user1' identified by 'passwd';

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

(創建user1用戶,all表示所有權限(讀、寫,增、刪、改、查等);*.*,前面的*表示所有的數據庫,後面的*表示所有的表;identified by後面跟密碼,要用單引號''引起來)

grant all on *.* to 'user1'@'指定來源ip' identified by 'passwd';

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

(創建了一個user1的用戶,並且指定了它只能通過127.0.0.1這個ip登錄)


grant all on *.* to 'user1'@'%' identified by 'passwd';

(%表示通配,讓所有ip都能連接)

技術分享圖片


創建用戶,登錄時使用sock登錄,不用指定-h+ip:

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


創建用戶也可以指定數據庫,和具體賦予用戶什麽權限:

grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.136.133' identified by 'passwd';


查看已創建的用戶被賦予什麽權限:

(1)已經登錄了創建的用戶使用:show grants

技術分享圖片

(2)在其他用戶下,查看指定的用戶被賦予的權限:

show grants for 用戶名@'被指定的ip';

show grants for user1@'127.0.0.1';

技術分享圖片


技術分享圖片


通過grants:

show grants for user2@'192.168.136.133'; 出來的內容都在mysql命令中執行一遍,只修改ip,則同一個用戶就可以有多個ip登錄。(且密碼不變)

技術分享圖片




常用sql語句

技術分享圖片

1.select count(*) from mysql.user; //查看行數

2.select * from mysql.db; //查看表的所有內容

(這兩條搜索所有內容 的命令少用,如果表的內容多,耗費資源。

mysql的引擎:MyISAM (自動的統計(行))和InnoDB(不會自動統計(行))

技術分享圖片如果表中我們設置引擎為MyISAM則在搜索時會很快。

3.select db,user from mysql.db;//搜索mysql.db表中的字段

4.select * from mysql.db where host like '192.168.%'; //模糊搜索


5. insert into db1.t1 values (1, 'abc'); //向db1庫t1表插入數據

(插入內容有字符串要加單引號'')

技術分享圖片

6. update db1.t1 set name='aaa' where id=1;//更新內容(改)

7.truncate table db1.t1; //刪除db1.t1表中的數據,但是表結構不變(創表的字段不刪,僅刪除內容)

技術分享圖片

8.drop table db1.t1; //刪除表


9. drop database db1; //刪除數據庫


在命令行下執行mysql裏的命令:(如創建一個庫)

mysql -uroot -p123456 -e "create database mysql2"


MySQL數據庫備份恢復

技術分享圖片

(在linux命令行操作,非在mysql命令下)

備份的命令:mysqldump

1.備份庫:(備份mysql下root用戶的mysql庫)

mysqldump-uroot -p127.0.0.1 mysql >/tmp/mysqlbak.sql

(mysqldump-uroot -p127.0.0.1 mysql 其實就是搜到內容)


恢復庫

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


(備份和恢復庫或者表,其實就是先把內容搜索出來,讓後重定向或者反向重定向)


2.備份表

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

備份後查看備份文件:cat /tmp/user.sql

技術分享圖片

(可以看到一些數據來源,和命令)


恢復表(回復表時只需要指定庫就行,不用加上表名)

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



3.備份所有庫

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

(-A 表示所有)

只備份表結構

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

(-d 表示表結構)

(只備份表結構就是可以把表的數據過濾,只備份表的結構,創建表時的)


!!!!mysqldump 備份很大的數據量時,會顯得很慢!


































MySQL常用操作(2)MySQL用戶管理、常用sql語句、 MySQL數據庫備份恢復