linux導出mysql資料庫
1、MySQL資料庫導出 /usr/local/mysql/bin/mysqlmp -u root -p123456 test> /home/backup/test.sql 其中:root為資料庫用戶名 123456為對應root資料庫密碼 test是需要導出的資料庫名。 /home/backup/test.sql是資料庫文件sql導出的路徑。
『貳』 linux命令,mysql批量導出多個資料庫。單個的是mysqlmp -uroot - p 庫名 > /***/***.sql;
MySql的備份命令
myisam引擎
#mysqlmp -uroot -pxxx -A -B -F --master-data=2 -x --events >/opt/name.sql.gz
innodb引擎
#mysqlmp -uroot -pxxx -A -B -F --master-data=2 --events --single-transaction | gzip>/opt/name.sql.gz
--master-data 這個參數在建立slave資料庫的時候會用到,當這個參數的值為1的時候,mysqlmp出來的文件就會包括CHANGE MASTER TO這個語句,CHANGE MASTER TO後面緊接著就是file和position的記錄,file和position記錄的位置就是slave從master端復制文件的起始位置。默認情況下這個值是1 當這個值是2的時候,chang master to也是會寫到mp文件裡面去的,但是不會有上面那個作用了 --master-data=1 (--master-data=2注釋) 表示在mp過程中記錄主庫的binlog和pos點,並在mp文件中不注釋掉這一行,即恢復時會執行; -F 切割binlog參數
-A 備份所有庫 -B, --databases 備份數據時使用-B參數,會在備份數據中增加建庫及use庫的語句 使用-B參數,後面可以接多個庫,否則只能有一個庫,之後的都被認為是表
--single-transaction 適合innodb事務資料庫備份(可代替鎖表) 設置事務的隔離級別為可重復讀,即REPEATABLE READ,這樣能保證在一個事務中所有相同的查詢讀取到同樣的數據,也就大概保證了在mp期間,如果其他innodb引擎的線程修改了表的數據並提交,對該mp線程的數據並無影響. :InnoDB 表在備份時,通常啟用選項 --single-transaction 來保證備份的一致性,實際上它的工作原理是設定本次會話的隔離級別為:REPEATABLE READ,以確保本次會話(mp)時,不會看到其他會話已經提交了的數據。
-x,--lock-all-tables Locks all tables across all databases. This is achieved by taking a global read lock for the ration of thewhole mp. Automatically turns --single-transaction and --lock-tables off.
-l, --lock-tables Lock all tables for read.
『叄』 linux mysql如何導出數據
Linux下 MySql導出
1、導出整個資料庫中的所有數據
mysqlmp -u userName -p dabaseName > fileName.sql
2、導出資料庫中的某個表的數據
mysqlmp -u userName -p dabaseName tableName > fileName.sql
3、導出整個資料庫中的所有的表結構
mysqlmp -u userName -p -d dabaseName > fileName.sql
【注】fileName.sql最好加上路徑名
『肆』 Linux系統下mysqmp在導出數據時,沒有指定任何目錄,那麼導出的文件默認存放在哪裡呢
使用mysqlmp命令導出.sql文件
(1)導出整個資料庫的數據
mysqlmp -u 用戶名 -p 資料庫名稱>存放位置+導出的文件名稱
(2)導出某個表的數據
mysqlmp -u 用戶名 -p 資料庫名稱 表名>存放位置+導出的文件名稱
(3)導出某個表的結構
mysqlmp -d -u 用戶名 -p 資料庫名稱 表名>存放位置+導出的文件名稱
(4)導出資料庫的結構
mysqlmp -u 用戶名 wcnc -p -d --add-drop-table smgp_apps_wcnc>存放位置+導出的文件名稱
-d沒有數據 --add-drop-table 在每個create語句之前增加一個drop table
(5)遠程導出資料庫的數據
mysqlmp -h ip -u 用戶名 -p 資料庫名稱>存放位置+導出的文件名稱
『伍』 linux中怎麼把mysql資料庫導出
一、導出資料庫用mysqlmp命令(注意mysql的安裝路徑,即此命令的路徑):
1、導出數據和表結構:
mysqlmp -u用戶名 -p密碼 資料庫名 > 資料庫名.sql
#/usr/local/mysql/bin/ mysqlmp -uroot -p abc > abc.sql
敲回車後會提示輸入密碼
2、只導出表結構
mysqlmp -u用戶名 -p密碼 -d 資料庫名 > 資料庫名.sql
#/usr/local/mysql/bin/ mysqlmp -uroot -p -d abc > abc.sql
註:/usr/local/mysql/bin/ ---> mysql的data目錄
二、導入資料庫
1、首先建空資料庫
mysql>create database abc;
2、導入資料庫
方法一:
(1)選擇資料庫
mysql>use abc;
(2)設置資料庫編碼
mysql>set names utf8;
(3)導入數據(注意sql文件的路徑)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用戶名 -p密碼 資料庫名 < 資料庫名.sql
#mysql -uabc_f -p abc < abc.sql
建議使用第二種方法導入。
注意:有命令行模式,有sql命令
『陸』 Linux系統下怎麼把MySQL的資料庫拷貝出來
#!/bin/sh
#備份web文件到/www/backup 下
rm -rf /www/backup/checkic* #刪除以前備份文件
#獲得時間格式如 2014-11-07
bdate=`date +%Y-%m-%d`
echo $bdate
#判斷web文件是否存在
if [ -d /www/backup/default ]
then
rm -rf /www/backup/default
echo "刪除文件成功!"
cp -r /www/web/default /www/backup/default #復制checkic文件到 /backup
echo "復制文件成功"
else
cp -r /www/web/default /www/backup/default #復制checkic文件到 /backup
echo "復制文件成功"
fi
#判斷web文件是否存在
if [ -d /www/backup/default ]
then
mkdir /www/backup/default/db
echo "成功創建db文件夾"
else
echo "db文件夾沒有成功創建"
exit 0
fi
#備份資料庫
mysqlmp -u root -pcheckic2014 wpshop_checkic>/www/backup/default/db/checkic-${bdate}.sql
cd /www/backup/default
tar -cvzf /www/backup/checkic-${bdate}.tar.gz *
『柒』 分別在Linux和Windows下,如何使用MySql命令導入/導出*.sql文件
Ubuntu下使用MySql命令導入/導出*.sql文件 ( redhat的mysql命令在: /usr/local/mysql/bin/ 目錄下面 )導出: 1.導出整個資料庫 mysqlmp 資料庫名 > 導出的文件名 -u 用戶名 -p密碼 2.導出一個表 mysqlmp 資料庫名 表名 > 導出的文件名 -u 用戶名 -p密碼導入:在提示符下輸入 mysql -u root -p 密碼 進入MYSQL後: 先打開要導入的資料庫 mysql>use test; 然後,設置要導入的數據的編碼(如果MySQL默認編與要導入的數據編碼一致,此步可省略) mysql>set names 編碼格式(utf8或gbk); 最後,導入數據sql文件 mysql> source c:/test.sql; Windows下使用MySql命令導入/導出*.sql文件 1. 導出資料庫: D:\mysql\bin> mysql 資料庫名 > 導出的文件名 -u 用戶名 -p密碼 2. 導入資料庫: