1. 程式人生 > >mysql數據庫備份與遠程傳送文件

mysql數據庫備份與遠程傳送文件

name 用戶名 set 成了 log zhang rem mes cal

一,數據庫的備份與導入

1),數據庫的備份

1.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
例:mysqldump -u dbadmin -p myblog > /home/zhangy/blog/database_bak/myblog.sql

2.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
例:mysqldump -u dbadmin -p myblog wp_users> /home/zhangy/blog/database_bak/blog_users.sql

3.導出一個數據庫結構
mysqldump -u dbadmin -p -d --add-drop-table myblog > /home/zhangy/blog/database_bak/blog_struc.sql

說明:-d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table

4.導出數據庫一個表結構
mysqldump -u dbadmin -p -d --add-drop-table myblog wp_users> /home/zhangy/blog/database_bak/blog_users_struc.sql
說明:-d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table

2),數據庫的導入

1,用 mysqldump 備份出來的文件是一個可以直接倒入的 SQL 腳本,有兩種方法可以將數據導入。
例如:

#/usr/local/mysql/bin/mysql -u root -p ***** myblog < /home/zhangy/blog/database_bak/myblog.sql

這種方法,我以前經常現在很少用了,因為很容易產生亂碼,因為:

a,導出數據庫時,你如果忘了設置導出字符集的話,在導入的時候,就有可能會出問題.

b,假如,你導出時設置導出時設置了utf8的編碼,但是你又把你的數據庫現在的字符集改成了gb2312的.這樣又會亂碼。

2,用 source 語句
例如:

mysql -u dbadmin -p

use myblog;

set names utf8; #這裏的字符集根你的將要導入的數據庫的字符集一至。

source /home/zhangy/blog/database_bak/myblog.sql;

實例

1、從本地復制到遠程
命令格式:

scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file

mysql數據庫備份與遠程傳送文件