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

                MySQL用戶管理

blob.png

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

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都能連接)

blob.png


創建用戶,登錄時使用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

blob.png

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

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

 show grants for user1@'127.0.0.1';

blob.png


blob.png


通過grants:

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

blob.png




                        常用sql語句

blob.png

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

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

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

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

blob.png如果表中我們設置引擎爲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表插入數據

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

blob.png

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

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

blob.png

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


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


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

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


                     MySQL數據庫備份恢復

blob.png

 (在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

blob.png

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


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

 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 備份很大的數據量時,會顯得很慢!


































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章