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

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

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

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

image.png
- 查看數(shù)據(jù)庫 就發(fā)現(xiàn)導入成功了
問題
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導出