標籤:msyql Database Backup 常用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 基本操作 下篇