當前位置:首頁 » 操作系統 » linuxmysql資料庫導出命令

linuxmysql資料庫導出命令

發布時間: 2022-05-17 00:30:49

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導入導出

1 不停資料庫寫的情況下,也可以使用 mysqlmp 導出,但因為 mysqlmp 導出時會加表鎖(lock tables table_name read;),導出過程中會阻塞寫(應用程序的寫資料庫或其他情況的寫),不會影響讀。
2 導入一個備份後,還要繼續同步備份的操作,那必須結合同步來進行,先導出導入數據(導出時注意加上 --master-data 選項,或導出前 show master status 記下日誌名稱和位置),再配置同步,並啟動同步;
3 日誌記錄的編號,也就是 position,可以在導出前查詢,也可以在導出時加 --master-data 選項一並進行;

-- 幾個注意事項:
1 導出會加表鎖(這是伺服器級的讀鎖),如果資料庫較大,可能會影響業務;較小的話,可以在資料庫本機進行導出,時間很快;
2 大資料庫一定要做個備份機(即replication的slave),同步會涉及到數據的一致性(備份、啟用同步)問題,可以深入理解下;

③ 分別在Linux和Windows下,如何使用MySql命令導入/導出*.sql文件

一般伺服器上沒有分用戶的時候mysql用戶名可以用 "root"得到最高許可權.
Ubuntu下使用MySql命令導入/導出*.sql文件( redhat的mysql命令在: /usr/local/mysql/bin/ 目錄下面 )導出:
1.導出整個資料庫
mysqlmp -u 用戶名 -p密碼 資料庫名 > 導出的文件名
2.導出指定表
mysqlmp -u 用戶名 -p密碼 資料庫名 表名1 表名2 ... > 導出的文件名
3.導出指定條件的記錄
mysqlmp [--host=伺服器] -u 用戶名 -p密碼 資料庫名 表名 -w"條件語句" > 導出的文件名
4.如果帶埠號的話,必須去掉密碼:
mysqlmp [--host=伺服器] [--port=埠號] -u 用戶名 -p 資料庫名 表名 -w"條件語句" [--skip-lock-tables ] > 導出的文件名導入:在提示符下輸入
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. 導入資料庫:
D:\mysql\bin> mysql 資料庫名 < 導出的文件名 -u 用戶名 -p密碼

④ 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 命令行模式怎麼導出

1、在終端中輸入mysql -u用戶名 -p密碼命令可以進行mysql命令行

2、如果密碼有特殊字元就先mysql -u用戶名 -p回車,然後提示輸入密碼後,再輸入密碼回車即可
3、mysql 其它參數說明:
mysql命令行參數
Usage: mysql [OPTIONS] [database] //命令方式
-?, --help //顯示幫助信息並退出
-I, --help //顯示幫助信息並退出
--auto-rehash //自動補全功能,就像linux裡面,按Tab鍵出提示差不多,下面有例子

-A, --no-auto-rehash //默認狀態是沒有自動補全功能的。-A就是不要自動補全功能
-B, --batch //ysql不使用歷史文件,禁用交互
(Enables --silent)
--character-sets-dir=name //字體集的安裝目錄
--default-character-set=name //設置資料庫的默認字元集
-C, --compress //在客戶端和伺服器端傳遞信息時使用壓縮
-#, --debug[=#] //bug調用功能
-D, --database=name //使用哪個資料庫
--delimiter=name //mysql默認命令結束符是分號,下面有例子
-e, --execute=name //執行mysql的sql語句
-E, --vertical //垂直列印查詢輸出
-f, --force //如果有錯誤跳過去,繼續執行下面的
-G, --named-commands
/*Enable named commands. Named commands mean this program's
internal commands; see mysql> help . When enabled, the
named commands can be used from any line of the query,
otherwise only from the first line, before an enter.
Disable with --disable-named-commands. This option is
disabled by default.*/
-g, --no-named-commands
/*Named commands are disabled. Use \* form only, or use
named commands only in the beginning of a line ending
with a semicolon (;) Since version 10.9 the client now
starts with this option ENABLED by default! Disable with
'-G'. Long format commands still work from the first
line. WARNING: option deprecated; use
--disable-named-commands instead.*/
-i, --ignore-spaces //忽視函數名後面的空格.
--local-infile //啟動/禁用 LOAD DATA LOCAL INFILE.
-b, --no-beep //sql錯誤時,禁止嘟的一聲
-h, --host=name //設置連接的伺服器名或者Ip
-H, --html //以html的方式輸出
-X, --xml //以xml的方式輸出
--line-numbers //顯示錯誤的行號
-L, --skip-line-numbers //忽略錯誤的行號
-n, --unbuffered //每執行一次sql後,刷新緩存
--column-names //查尋時顯示列信息,默認是加上的
-N, --skip-column-names //不顯示列信息
-O, --set-variable=name //設置變數用法是--set-variable=var_name=var_value
--sigint-ignore //忽視SIGINT符號(登錄退出時Control-C的結果)
-o, --one-database //忽視除了為命令行中命名的默認資料庫的語句。可以幫跳過日誌中的其它資料庫的更新。
--pager[=name] //使用分頁器來顯示查詢輸出,這個要在linux可以用more,less等。
--no-pager //不使用分頁器來顯示查詢輸出。
-p, --password[=name] //輸入密碼
-P, --port=# //設置埠
--prompt=name //設置mysql提示符
--protocol=name //使用什麼協議
-q, --quick //不緩存查詢的結果,順序列印每一行。如果輸出被掛起,伺服器會慢下來,mysql不使用歷史文件。
-r, --raw //寫列的值而不轉義轉換。通常結合--batch選項使用。
--reconnect //如果與伺服器之間的連接斷開,自動嘗試重新連接。禁止重新連接,使用--disable-reconnect。
-s, --silent //一行一行輸出,中間有tab分隔
-S, --socket=name //連接伺服器的sockey文件
--ssl //激活ssl連接,不激活--skip-ssl
--ssl-ca=name //CA證書
--ssl-capath=name //CA路徑
--ssl-cert=name //X509 證書
--ssl-cipher=name //SSL cipher to use (implies --ssl).
--ssl-key=name //X509 密鑰名
--ssl-verify-server-cert //連接時審核伺服器的證書
-t, --table //以表格的形勢輸出
--tee=name //將輸出拷貝添加到給定的文件中,禁時用--disable-tee
--no-tee //根--disable-tee功能一樣
-u, --user=name //用戶名
-U, --safe-updates //Only allow UPDATE and DELETE that uses keys.
-U, --i-am-a-mmy //Synonym for option --safe-updates, -U.
-v, --verbose //輸出mysql執行的語句
-V, --version //版本信息
-w, --wait //伺服器down後,等待到重起的時間
--connect_timeout=# //連接前要等待的時間
--max_allowed_packet=# //伺服器接收/發送包的最大長度
--net_buffer_length=# //TCP / IP和套接字通信緩沖區大小。
--select_limit=# //使用--safe-updates時SELECT語句的自動限制
--max_join_size=# //使用--safe-updates時聯接中的行的自動限制
--secure-auth //拒絕用(pre-4.1.1)的方式連接到資料庫
--server-arg=name //Send embedded server this as a parameter.
--show-warnings //顯示警告

⑥ LINUX查詢Mysql資料庫並導出為文件的腳本

1.導出整個資料庫
mysqlmp -u 用戶名 -p 資料庫名 > 導出的文件名
mysqlmp -u root -p lossr > lossr.sql
2.導入資料庫
常用source 命令
進入mysql資料庫控制台,
如mysql -u root -p
mysql>use 資料庫
然後使用source命令,後面參數為腳本文件(如這里用到的.sql)
mysql>source /root/lossr.net.sql

⑦ linux下如何導入導出MySQL資料庫

一、導出:用mysqlmp命令行命令格式mysqlmp -u 用戶名 -p 資料庫名 > 資料庫名.sql範例:mysqlmp -u root -p abc > abc.sql (導出資料庫abc到abc.sql文件) 提示輸入密碼時,輸入該資料庫用戶名的密碼。 二、導入:用mysql命令行命令格式mysql -u 用戶名 -p 資料庫名 三、直接COPY 如果資料庫比較大,可以考慮用直接拷貝的方法,但不同版本和操作系統之間可能不兼容,要慎用。 3.1 將原始資料庫用tar打包為一個文件 tar -zcvf mydb.tar.gz mydb 3.2 創建空資料庫 3.3 解壓在臨時目錄中解壓,如:cd /tmptar -zxvf mydb.tar.gz 3.4 拷貝將解壓後的資料庫文件拷貝到相關目錄cd mydb/cp * /var/lib/mysql/mydb/ 對於FreeBSD: cp * /var/db/mysql/mydb/ 3.5 許可權設置 將拷貝過去的文件的屬主改為mysql:mysql,許可權改為660 chown mysql:mysql /var/lib/mysql/mydb/*

⑧ linux命令行下使用mysql,怎麼導出查詢的記錄集

用命令select * from table into outfile 'xxx.txt';就可以把查詢數據導出在當前資料庫保存位置的xxx.txt文件裡面了。
也可以直接在linux命令用mysql -h127.0.0.1 -uroot -pXXXX -P3306 -e"select * from table" > /tmp/test.txt

⑨ linux系統中mysql資料庫的導入和導出

目的:將伺服器的mysql中的數據導入到本地
設備:本地:Mac。
遠程伺服器:linux
使用ssh登錄伺服器
mysqlmp
-u
[username]
-p
[database_name]
>
[/path/mpfilename.sql]
例如:`mysqlmp
-u
root
-p
mywordpress
>
/var/mywordpress.sql
在Mac上使用軟體filezilla將第2步導出的mywordpress.sql下載到本地
mysql
-u
[username]
-p
[database_name]
<
[mpfilename.sql]
其中,database_name需要是本地資料庫中已存在的資料庫,比如新建一個。

⑩ 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最好加上路徑名

熱點內容
ig加密語音 發布:2024-10-11 12:19:25 瀏覽:485
釘圖上傳 發布:2024-10-11 12:11:27 瀏覽:477
腳本個 發布:2024-10-11 12:10:43 瀏覽:149
剛性攻絲的編程 發布:2024-10-11 12:10:39 瀏覽:467
怎麼登錄安卓版全民tv 發布:2024-10-11 12:10:33 瀏覽:622
伺服器接收的參數名是什麼 發布:2024-10-11 12:05:38 瀏覽:640
c語言中的goto 發布:2024-10-11 11:57:14 瀏覽:394
小司馬編程 發布:2024-10-11 11:45:03 瀏覽:83
未使用標簽進行編譯 發布:2024-10-11 11:45:00 瀏覽:835
java開發源碼下載 發布:2024-10-11 11:39:22 瀏覽:749