大家好,我是walker
一個從文科自學(xué)轉(zhuǎn)行的程序員~
愛好編程,偶爾寫寫編程文章和生活 歡迎關(guān)注公眾號【I am Walker】,一塊學(xué)習(xí)和成長!
簡介
mysqldump 是 MySQL 自帶的邏輯備份工具。
它的備份原理是通過協(xié)議連接到 MySQL 數(shù)據(jù)庫,將需要備份的數(shù)據(jù)查詢出來,將查詢出的數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的insert 語句,當(dāng)我們需要還原這些數(shù)據(jù)時,只要執(zhí)行這些 insert 語句,即可將對應(yīng)的數(shù)據(jù)還原。
備份命令
命令格式
mysqldump [選項] 數(shù)據(jù)庫名 [表名] > 腳本名
mysqldump [選項] --數(shù)據(jù)庫名 [選項 表名] > 腳本名
mysqldump [選項] --all-databases [選項] > 腳本名
windows操作案例
1、進(jìn)入mysql bin目錄
使用cmd,命令行指令,切換到對應(yīng)的mysql的bin目錄下,注意不要使用powershell,否則文件恢復(fù)的時候會出現(xiàn)問題

image.png
2、執(zhí)行
這里可以自己先隨便創(chuàng)建一個數(shù)據(jù)庫和一個表,如果我便建了一個sys庫,和一個sys_config表

image.png
- 復(fù)制數(shù)據(jù)庫
PS D:\enviroment\mysql-8.0.23-winx64\bin> mysqldump -u root -p sys > d:\sys.sql

image.png
- 復(fù)制表
PS D:\enviroment\mysql-8.0.23-winx64\bin> mysqldump -u root -p sys sys_config > d:\sys_config.sql
Enter password: ******
3、恢復(fù)表
- 先將對應(yīng)的sys_config表刪除,測試一下是否能夠正?;謴?fù)
- 先進(jìn)入到mysql中
PS D:\enviroment\mysql-8.0.23-winx64\bin> mysql -u root -p
Enter password: ******
- 使用對應(yīng)的數(shù)據(jù)庫
mysql> use sys
Database changed
- 執(zhí)行備份文件
mysql> source d:\sys_config.sql

image.png
- 查看數(shù)據(jù)庫 就發(fā)現(xiàn)導(dǎo)入成功了
問題
1、ERROR:
ASCII '\0' appeared in the statement,
but this is not allowed unless option
--binary-mode is enabled and mysql is run in non-interactive mode.
Set --binary-mode to 1 if ASCII '\0' is expected. Query: '?t-'.
Bye

image.png
總結(jié):不要使用powershell導(dǎo)出