❶ 分別在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. 導入資料庫:
❷ linux系統下的mysql導入導出
1 不停資料庫寫的情況下,也可以使用 mysqlmp 導出,但因為 mysqlmp 導出時會加表鎖(lock tables table_name read;),導出過程中會阻塞寫(應用程序的寫資料庫或其他情況的寫),不會影響讀。
2 導入一個備份後,還要繼續同步備份的操作,那必須結合同步來進行,先導出導入數據(導出時注意加上 --master-data 選項,或導出前 show master status 記下日誌名稱和位置),再配置同步,並啟動同步;
3 日誌記錄的編號,也就是 position,可以在導出前查詢,也可以在導出時加 --master-data 選項一並進行;
-- 幾個注意事項:
1 導出會加表鎖(這是伺服器級的讀鎖),如果資料庫較大,可能會影響業務;較小的話,可以在資料庫本機進行導出,時間很快;
2 大資料庫一定要做個備份機(即replication的slave),同步會涉及到數據的一致性(備份、啟用同步)問題,可以深入理解下;
❸ MySQL下載只需要掌握幾個命令就行mysql下載只有命令
MySQL下載:只需要掌握幾個命令就行!
MySQL是一個免費、開源的關系型資料庫管理系統(RDBMS),能夠提供高效、可靠、穩定的數據存儲和管理服務,廣泛應用於企業應用程序、Web應用程序以及社區開源項目等領域。想要進行MySQL資料庫開發或學習,就需要先下載MySQL庫文件。此文將為您介紹MySQL下載的幾個命令,並提供詳細說明。
一、Linux系統MySQL下載
Linux系統是開發者最喜歡使用的操作系統之一,所以我們先從Linux系統的MySQL下載開始。在Linux系統中,可以通過命令行工具wget或curl來下載MySQL軟體包。
1、使用wget下載MySQL:
`wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm`
上述命令將下載mysql80-community-release-el7-3.noarch.rpm文件到當前的工作目錄下。
2、使用curl下載MySQL:
`curl -OL https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm`
上述命令將下載mysql80-community-release-el7-3.noarch.rpm文件到當前的工作目錄下。
二、Windows系統MySQL下載
對於Windows系統用戶來說,需進入MySQL的官網,選擇最新版本的MySQL進行下載。
1、進入MySQL官網
通過以下URL進入MySQL官網:https://www.mysql.com/downloads/
2、選擇MySQL版本並下載
選擇MySQL Community Server版本並下載。該版本是最常用的資料庫版本。
如果需要使用GUI工具,則可從MySQL Community Server頁面的底部下載MySQL Workbench。
三、通過Docker下載MySQL
Docker是一種面向開發人員、系統管理員和DevOps的開放平台,用於構建、交付和運行現代應用程序。下面介紹一下如何使用Docker來下載MySQL。
1、Docker下載
首先安裝Docker,並啟動Docker。
2、下載MySQL Docker鏡像
使用以下命令來下載MySQL Docker鏡像:
`docker pull mysql/mysql-server:latest`
3、啟動MySQL服務
使用以下命令啟動MySQL服務並創建一個root用戶:
`docker run -d -p 3306:3306 –name=my-mysql -e MYSQL_ROOT_PASSWORD=your_password mysql/mysql-server:latest`
其中,-d選項表示在後台運行,-p 3306:3306表示將容器的3306埠映射到主機的3306埠,-e MYSQL_ROOT_PASSWORD=your_password表示設置root用戶密碼為your_password。
四、總結
以上介紹了MySQL下載的幾個命令,包括在Linux系統下使用wget或curl命令下載、在Windows系統下通過MySQL官網下載以及通過Docker下載MySQL。三種方式分別適用於不同的操作系統和不同的使用場景,開發者可以根據自己的需求選擇相應的下載方式,簡單易行。
如果您想要詳細了解MySQL的更多內容和使用技巧,請參考相關文檔和教程,或者加入MySQL開發和使用的社區,與各路MySQL玩家們來一場暢談!
❹ 在linux下 如何使用mysqlmp進行mysql的完全備份 要完整命令 記得是完全備份不是某個庫。。
mysqlmp命令
mysql資料庫導出要用到MySQL的mysqlmp工具,基本用法是:
shell> mysqlmp [OPTIONS] database [tables]
如果你不給定任何錶,整個資料庫將被導出。
通過執行mysqlmp --help,你能得到你mysqlmp的版本支持的選項表。
注意,如果你運行mysqlmp沒有--quick或--opt選項,mysqlmp將在導出結果前裝載整個結果集到內存中,如果你正在導出一個大的資料庫,這將可能是一個問題。
1.1、mysqlmp支持下列選項:
--add-locks
在每個表導出之前增加LOCK TABLES並且之後UNLOCK TABLE。(為了使得更快地插入到MySQL)。
--add-drop-table
在每個create語句之前增加一個drop table。
--allow-keywords
允許創建是關鍵詞的列名字。這由表名前綴於每個列名做到。
-c, --complete-insert
使用完整的insert語句(用列名字)。
-C, --compress
如果客戶和伺服器均支持壓縮,壓縮兩者間所有的信息。
--delayed
用INSERT DELAYED命令插入行。
-e, --extended-insert
使用全新多行INSERT語法。(給出更緊縮並且更快的插入語句)
-#, --debug[=option_string]
跟蹤程序的使用(為了調試)。
--help
顯示一條幫助消息並且退出。
LOAD DATA INFILE
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
這些選擇與-T選擇一起使用,並且有相應的LOAD DATA INFILE子句相同的含義。
LOAD DATA INFILE語法。
-F, --flush-logs
在開始導出前,洗掉在MySQL伺服器中的日誌文件。
-f, --force,
即使我們在一個表導出期間得到一個SQL錯誤,繼續。
-h, --host=..
從命名的主機上的MySQL伺服器導出數據。預設主機是localhost。
-l, --lock-tables.
為開始導出鎖定所有表。
-t, --no-create-info
不寫入表創建信息(CREATE TABLE語句)
-d, --no-data
不寫入表的任何行信息。如果你只想得到一個表的結構的導出,這是很有用的!
--opt
同--quick --add-drop-table --add-locks --extended-insert --lock-tables。
應該給你為讀入一個MySQL伺服器的盡可能最快的導出。
-pyour_pass, --password[=your_pass]
與伺服器連接時使用的口令。如果你不指定「=your_pass」部分,mysqlmp需要來自終端的口令。
-P port_num, --port=port_num
與一台主機連接時使用的TCP/IP埠號。(這用於連接到localhost以外的主機,因為它使用 Unix套接字。)
-q, --quick
不緩沖查詢,直接導出至stdout;使用mysql_use_result()做它。
-S /path/to/socket, --socket=/path/to/socket
與localhost連接時(它是預設主機)使用的套接字文件。
-T, --tab=path-to-some-directory
對於每個給定的表,創建一個 table_name.sql文件,它包含SQL CREATE 命令,和一個table_name.txt文件,它包含數據。 注意:這只有在mysqlmp運行在mysqld守護進程運行的同一台機器上的時候才工作。.txt文件的格式根據--fields-xxx和 --lines--xxx選項來定。
-u user_name, --user=user_name
與伺服器連接時,MySQL使用的用戶名。預設值是你的Unix登錄名。
-O var=option, --set-variable var=option設置一個變數的值。可能的變數被列在下面。
-v, --verbose
冗長模式。列印出程序所做的更多的信息。
-V, --version
列印版本信息並且退出。
-w, --where=''''where-condition''''
只導出被選擇了的記錄;注意引號是強制的!
"--where=user=''''jimf''''" "-wuserid>1" "-wuserid<1"
1.2、最常見的mysqlmp的一個備份:
雖然mysqlmp支持的命令有很多,對於大多數人而言,我們只需要使用-opt這個命令就已經足夠了,為你的資料庫做一個完整的備份:
mysqlmp --opt database > backup-file.sql
但是它對用來自於一個資料庫的信息充實另外一個MySQL資料庫也是有用的:
mysqlmp --opt database | mysql --host=remote-host -C database
1.3、使用mysqlmp導出的文件恢復資料庫
由於mysqlmp導出的是完整的SQL語句,所以用mysql客戶程序很容易就能把數據導入了:
shell> mysqladmin create target_db_name
shell> mysql target_db_name < backup-file.sql
就是
shell> mysql 庫名 < 文件名
二、使用mysqlmp定時備份資料庫的腳本
2.1、備份腳本
使用腳本每天定期執行資料庫備份操作,對每個使用mysql資料庫的人來說都很有必要,這樣的腳本網上有很多,這里摘抄一個朋友的腳本 dbbackup:
這個腳本每天最多隻執行一次,而且只保留最近五天的備份在伺服器上。
dbbackup代碼:
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09
#Setting
#設置資料庫名,資料庫登錄名,密碼,備份路徑,日誌路徑,數據文件位置,以及備份方式
#默認情況下備份方式是tar,還可以是mysqlmp,mysqldot
#默認情況下,用root(空)登錄mysql資料庫,備份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqlmp
#BackupMethod=mysqlhot
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date=''''5 days ago'''').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can''''t Backup!" >> $LogFile
else
case $BackupMethod in
mysqlmp)
if [ -z $DBPasswd ]
then
mysqlmp -u $DBUser --opt $DBName > $DumpFile
else
mysqlmp -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhot)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhot -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhot -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------" >> $LogFile
2.2、放入crontab定期執行dbbackup
假定dbbackup在/root目錄下。我們通過使用crontab命令,設置每天0點10分執行/root/dbbakup腳本。
1、 使用 crontab –e編輯crontab
2、 在crontab中加入:
#back for jabber database
10 0 * * * /root/dbbackup
❺ 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 //顯示警告