備份
1. mysqldump
mysqldump備份生成的是個文字檔案,可以開啟了解檢視。
Methods-1 備份單個資料庫或其中的幾個表
# mysqldump -u username -p'password' dbname [table1,table2,...] >backup.sql
# mysqldump -u username -p'password' --single-transaction -R --triggers --master-data=1 -E dbname > backup.sql匯出db1但不包含table1、table2
# mysqldump -u username -p'password' --ignore-table=db1.table1 --ignore-table=db1.table2 db1 >backup.sql只匯出db1的table1和table2
# mysqldump -u username -p'password' --database db1 --tables table1 table2 >backup.sql
Methods-2 備份多個資料庫
# mysqldump -u username -p'password' --databases dbname1 dbname2 ... >backup.sql
Methods-3 備份所有資料庫
# mysqldump -u username -p'password' --all-databases >backup.sql
--single-transaction 該選項設定事務隔離模式為可重複讀,並在轉儲資料庫前傳送“ START TRANSACTION”語句。即保證該轉儲操作在一個事務內保證匯出資料的一致性。
--triggers 在輸出中包含每個轉儲表的觸發器
-R 在輸出中包含轉儲資料庫的儲存例程(過程和函式)
-E 在輸出中包含轉儲資料庫的事件排程器事件
-F 轉儲資料後生成新的binlog檔案
--no-data 只匯出表結構不匯出資料
--master-data=1
還原
# mysql -u username -p'password' [dbname] <backup.sql (dbname可以不寫)
將execel/csv匯入mysql(load data infile方法)
step-1:將.xls/.csv轉換為.txt
.xls 另存為 —> .csv(csv逗號分隔) utf-8 另存為 —> .txt
step-2:要求在資料庫中新建對應的表,例如:
> create table user( username char(255) not null, salt char(255), pwd char(255));
step-3:進入資料庫,匯入txt檔案
# mysql -uroot -p123456 --local-infile
> load data local infile '/root/user.txt' into table user fields terminated by ',' lines terminated by '\n' ignore 1 lines;
表的匯入匯出
1. mysql命令
Methods-1 匯出為文字檔案
# mysql -u username -p'password' -e 'select * from table' dbname >data.txt
Methods-2 匯出為xml檔案
# mysql -u username -p'password' -X -e 'select * from table' dbname >data.xml
Methods-3 匯出為html檔案
# mysql -u username -p'password' -H -e 'select * from table' dbname >data.html