mysql備份與恢復
背景
(1)mysqldump工具是mysql自帶的一個非常方便的一款小工具,默認安裝路徑在/usr/bin/mysqldump(centos6.7).
(2)查看安裝包路徑方法:
[root@cacti ~]# which mysqldump
/usr/bin/mysqldump
[root@cacti ~]# rpm -qf /usr/bin/mysqldump
mysql-5.1.73-8.el6_8.i686
mysql數據庫備份命令
mysqldump -u用戶 -p密碼 數據庫名 > (目錄)導出文件名
注:備份可以進入數據庫中進行也可以直接在命令行中執行!一般選擇後者方式備份。
(1)數據庫中進行備份
[root@cacti ~]# mysql -ucacti -pcacti
mysql> system mysqldump cacti > /data/cacti.sql;
[root@cacti ~]# cd /data
[root@cacti data]# ls
cacti.sql lost+found
(2)命令行中進行備份
[root@cacti ~]# mysqldump -ucacti -pcacti cacti > /data/cacti.sql
[root@cacti ~]# cd /data
[root@cacti data]# ls
cacti.sql lost+found
備份單個數據表
有時候數據庫很大很大,整個庫備份就不好管理,那就單獨備份。
mysqldump -u用戶 -p密碼 dbname tablename > (目錄)導出文件名
(1)數據庫中進行備份
mysql> system mysqldump mysql time_zone_name > /data/tables.sql;
(2)命令行中進行備份
[root@cacti data]# mysqldump -ucacti -pcacti mysql user > /data/user.sql
備份多個數據表
例如備份cacti數據庫的 vdef表和 version表到/data/vv.sql。
[root@cacti ~]# mysqldump -ucacti -pcacti cacti vdef version > /data/vv.sql
mysqldump 遠程備份
mysqldump -h ip -u用戶 -p密碼 database > (目錄)導出文件名
mysql數據庫恢復
mysqldump -u用戶 -p密碼 dbname <(目錄)導出文件名
mysqldump -ucacti -pcacti cacti < /data/cacti.sql
注意:
備份的時候沒有指定字符集,結果在恢復的時候這個字符集跟你備份之前的字符集不一致,導致恢復後的數據是亂碼!
備份命令:
mysqldump -uroot --default-character-set=gbk -pacheng.com discuz pre_forum_post > /data/post.sql
# 加入了一個指定字符集的選項
mysql -uroot --default-character-set=gbk -pacheng.com discuz < /data/post.sql
補充:
常見的字符集:gbk utf8 latin
中文裏面支持的是gbk utf8(字符集請查閱資料)