十3、MySQL之IDE工具介紹及數據備份

1、IDE工具介紹

生產環境仍是推薦使用mysql命令行,但爲了方便咱們測試,可使用IDE工具mysql

下載連接:https://pan.baidu.com/s/1bpo5mqjsql

2、MySQL數據備份

#1. 物理備份: 直接複製數據庫文件,適用於大型數據庫環境(
如數據文件、控制文件、歸檔日誌文件等)。
但不能恢復到異構系統中如Windows。


#
2. 邏輯備份: 備份的是建表、建庫、插入等操做所執行SQL語句,適用於中小型數據庫,效率相對較低。
#3. 導出表: 將表導入到文本文件中。
也能夠用IDE工具來實現備份,點擊轉儲SQL..,那咱們重點來研究一下MySQLdump實現的邏輯備份

1.使用mysqldump實現邏輯備份 

#語法: # mysqldump -h 服務器 -u用戶名 -p密碼 數據庫名 > 備份文件.sql 當你是本地登陸的時候這個-h能夠不寫,當其餘用戶登陸時,就得寫上-h 服務器 #示例:

1.單庫備份
mysqldump -uroot -p123456 day47 > E:\\day47.sql
mysqldump -uroot -p123456 test class employee department > E:\\test-c-e.sql
2.多庫備份
mysqldump -uroot -p123456 --databases test db2 zuoye > E:\\dbzzz.sql
3.備份全部庫
mysqldump -uroot -p123456 --all-databases > E://all.sql
 

 

2.恢復邏輯備份
方法1.在沒有登陸進去以前恢復 C:\Users\Administrator>mysql -uroot -p123456 test < day47.sql drop database day47; drop database test; create database day47; create database test; mysql -uroot -p123456 day47 < day47.sql mysql -uroot -p123456 test < day47.sql  #也能夠在本身新建的空數據庫裏添加你備份的庫
方法2.mysql登陸進去後恢復 mysql> use db1; mysql> SET SQL_LOG_BIN=0;  #設置日誌,若是寫日誌就等於1,不寫就等於0。通常不用設置
mysql> source E:\\day47.sql; 3.注:若是備份/恢復單個庫時,能夠修改sql文件 DROP database if exists school; create database school; use school;

 

在沒有登陸以前恢復是,若是你想看恢復了沒有的時候是否是每次都要登陸進去看看啊,那麼咱們能夠這樣作,就不用登陸直接查看 了。數據庫

不用再登陸進去執行sql語句了
mysql -uroot -e "use test;show tables;" #注意是雙引號 mysql -uroot -e "show databases;" #注意分號在雙引號裏面

 

注意事項:
1. 徹底恢復到一個乾淨的環境(例如新的數據庫或刪除原有的數據庫)
2. 恢復期間全部SQL語句不該該記錄到binlog中

3.表的導出與導入

1、表的導出
use day47
select * from userinfo;
select * from userinfo into outfile 'E:\\userinfo.txt'  fields terminated
by ',' lines terminated by '\n';  #將字段之間按逗號分開,行之間用'\n'分開

這樣寫的話報錯了。新版本不支持你這樣直接指定路徑寫,爲了保證數據的安全。
若是一旦有黑客拿到sql權限的時候,就把你的數據就給拿走了。你的數據就不安全了
那麼怎麼解決這個錯誤呢?
show variables like '%secure%';
解決方法:更改配置文件
[mysqld]
secure_file_priv='E:\\'

2、表的導入
use bak;
show tables;
create table user(id int primary key auto_increment,name char(20),age int,depart_id int);
desc user;
load data infile 'E:\\userinfo.txt' into table user fields terminated by ',' 
lines terminated by '\n';#導入表

4.數據庫遷移 

務必保證在相同版本之間遷移
# mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目標IP -uroot -p456
相關文章
相關標籤/搜索