1. 程式人生 > >Linux學習總結(四十六)mysql 基本操作 下篇

Linux學習總結(四十六)mysql 基本操作 下篇

msyql 數據庫備份 常用sql語句

1 mysql 用戶管理

對於互聯網企業,我們知道數據是不可再生的資源,重要數據一旦丟失,將損失慘重。數據庫的安全至關重要,因此對於後臺管理員的權限要嚴格控制,要有針對性的創建用戶,在滿足管理需求的基礎上,要最小化其操作權限。因此我們針對不同用戶,會有選擇性的針對某個庫或者表單獨授權,最大程度降低數據丟失的風險,防患於未然。
1)最大授權
grant all on *.* to ‘user1‘@‘127.0.0.1‘ idtentified by ‘passwd‘;
all 表示所有的操作,增刪改查都可以
兩個*, 前者代表所有的數據庫,後者表示所有的表
user1 指用戶名
127.0.0.1 為本機ip ,可以是網絡上其他主機的ip,意思是客戶端的來源ip

identified by 後面跟密碼。需要加單引號。
2)僅針對某些操作授權
grant SELECT,UPDATE,INSERT on db1.* to ‘user2‘@‘192.168.226.129‘ identified by ‘passwd‘;
3)針對所有的源ip授權
grant all on db1.* to ‘user3‘@‘%‘ identified by ‘passwd‘;
4)查看某個授權
show grants for [email protected];
舉例:
grant SELECT,UPDATE,INSERT on db1.* to ‘user2‘@‘192.168.226.129‘ identified by ‘lvlinux‘;
如果要在給上面授權用戶增加一個訪問ip 怎麽做,當然可以根據上面命令,直接修改ip,如果忘記了之前的授權項,我們可以直接查找出來,復制之前的命令結果,更改ip重新執行就可以。
show grants for [email protected];
技術分享圖片
GRANT USAGE ON *.* TO ‘user2‘@‘192.168.226.130‘ IDENTIFIED BY PASSWORD ‘*E8F4006805F5210EB4D651BD6F9CB6100ACD1BFF‘;
GRANT SELECT, INSERT, UPDATE ON `db1`.* TO ‘user2‘@‘192.168.226.130‘;
技術分享圖片
show grants for [email protected];
技術分享圖片

2 常用sql語句,增刪改查。

 select count(*) from mysql.user;  //統計mysql庫中user表的行數
 select * from mysql.db\G;  //  查看表db表裏的所有內容,慎用。
 select db from mysql.db; // 查看db表裏的db字段
 select db,user from mysql.db; // 同時查看兩個字段
 select * from mysql.db where host like ‘192.168.%‘\G; //模糊匹配查詢
 insert into db1.t1 values (1, ‘abc‘);  // 在表裏插入一條數據
 update db1.t1 set name=‘aaa‘ where id=1; //更新一條數據
 delete from db1.t1 where id=2;   //刪除某一條數據
 truncate table db1.t1; // 清空一個表,保留表結構。
 drop table db1.t1;  //刪除整個表
 drop database db1; // 刪除庫

3 數據庫的備份與恢復

 備份庫  mysqldump -uroot -p123456 mysql > /tmp/mysql.sql
 恢復庫 mysql -uroot -p123456 mysql < /tmp/mysql.sql
 備份表 mysqldump -uroot -p123456 mysql user > /tmp/user.sql
 恢復表 mysql -uroot -p123456 mysql < /tmp/user.sql
 備份所有庫 mysqldump -uroot -p -A >/tmp/123.sql
 只備份表結構 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

註意:備份用的是mysqldump,恢復用的是mysql,備份表要寫庫名和表名,恢復表不用寫表名。備份所有庫,是-A ,備份表結構是-d

Linux學習總結(四十六)mysql 基本操作 下篇