1、IDE工具介紹
生產環境仍是推薦使用mysql命令行,但爲了方便咱們測試,可使用IDE工具mysql
下載連接:https://pan.baidu.com/s/1bpo5mqjsql
2、MySQL數據備份
#1. 物理備份: 直接複製數據庫文件,適用於大型數據庫環境(
如數據文件、控制文件、歸檔日誌文件等)。
但不能恢復到異構系統中如Windows。
#2. 邏輯備份: 備份的是建表、建庫、插入等操做所執行SQL語句,適用於中小型數據庫,效率相對較低。
#3. 導出表: 將表導入到文本文件中。
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