windows终端mysqlmysql导入数据库 mysql客户端导入sql文件
转载
1.应用场景
主要用于快速稳定地导出数据库进行备份,以及导入备份数据到数据库中.
|
2.学习/操作
1.文档阅读
2.整理输出数据导入方式有两种: 客户端方式 和 终端方式
提醒要确认是否需要提前创建好数据库
2.1 客户端如使用Navicat进行运行SQL文件即可 对于大文件,客户端方式就显得吃力,而且容易出错中断,或者数据不全。
2.2 终端方式Linux或者Unix下 source执行.sql文件 进入mysql的控制台后,使用source命令执行 source [sql脚本文件的路径全名] 或 Mysql>. [sql脚本文件的路径全名]
示例: source /path/to/s.sql 或者 ./path/to/s.sql
实例 1)进入mysql --- bin ./mysql -uroot -p 2)create database 我们的数据库名 3)use database 我们的数据库名 4)source 地址 (不包含引号,因为拖拽文件到的,不包含引号)
截图
补充截图 // 换办公电脑重新执行 -- 大概执行五分钟 成功导入~
Windows下 使用cmd命令执行(windows下,unix或linux在的其控制台下) [Mysql的bin目录] \mysql –u用户名 –p密码 –D数据库<[sql脚本文件路径全名] 示例: D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql
2.3 优缺点或者说各自的应用场景客户端方式更适合小文件的SQL,鼠标操作界面化操作,方便。 终端方式适合范围更广,同时不易出错,稳定,但是要求对命令行掌握~
数据导出备份方式有二: 可视化软件: navicat // 省略终端命令方式: mysqldump // 如下
脚本如下: #!/bin/bash
USERNAME='your_username' # your MySQL username
PASSWORD='your_password' # your MySQL password
BACKUP_DIR='/path/to/backup/folder' # path to your backup folder, where backups will be stored
DATE=`date +%Y-%m-%d-%H-%M-%S` # current date and time in format "Year-Month-Day-Hour-Minute-Second"
# create backup directory if it does not exist
if [ ! -d "$BACKUP_DIR" ]; then
mkdir -p "$BACKUP_DIR"
fi;
# list of databases to back up
DATABASES=(
db1
db2
db3
)
# loop through each database and back it up
for DB in ${DATABASES[@]}; do
FILENAME="$BACKUP_DIR/$DB-$DATE.sql.gz"
# backup the database
mysqldump -u $USERNAME -p$PASSWORD $DB | gzip > $FILENAME
# notify if backup was successful
if [ $? -eq 0 ]; then
echo "Backup of $DB completed successfully and saved to $FILENAME"
else
echo "Backup of $DB failed";
fi
done
mysqldump简单用法mysqldump -h hostname -P port_number -u username -p database_name > backup.sql
安装mysqldumpmysqldump 在 MySQL 中是默认安装的一个客户端工具,因此,只需要安装 MySQL,就可以使用 mysqldump 工具进行备份了。
但是也可以只安装mysql客户端工具。
Ubuntu 上安装 MySQL 的步骤 // 如果不想安装mysql服务端 下面去掉mysql-server即可 sudo apt update sudo apt install mysql-server mysql-client
macOS 安装mysqldump brew install mysql-client
一旦安装了 MySQL 客户端,在以下目录中找到 mysqldump: /usr/local/opt/mysql-client/bin/mysqldump
安装结果: 小优化:将mysqldump起个别名,加入到环境变量中.
➜ ~ vim .zshrc ➜ ~ source .zshrc ➜ ~ mysqldump -V mysqldump Ver 8.0.32 for macos12.6 on x86_64 (Homebrew) ➜ ~
# mysql alias mysqldump="/usr/local/opt/mysql-client/bin/mysqldump"
使用Shell脚本执行如下:这里的shell脚本#!/bin/bash
HOST=127.0.0.1 # your MySQL host
USERNAME='root' # your MySQL username
PASSWORD='root' # your MySQL password
PORT=33060 # your MySQL port
BACKUP_DIR='/Users/mac/Documents/env/files/db/backups/localhost' # path to your backup folder, where backups will be stored
# DATE=`date +%Y-%m-%d-%H-%M-%S` # current date and time in format "Year-Month-Day-Hour-Minute-Second"
DATE=`date +%Y-%m-%d`
# echo $DATE
# exit [0]
# create backup directory if it does not exist
if [ ! -d "$BACKUP_DIR" ]; then
mkdir -p "$BACKUP_DIR"
fi;
# list of databases to back up
DATABASES=(
bingo_test_gp
solitaire_test
smash_test
)
# loop through each database and back it up
for DB in ${DATABASES[@]}; do
FILENAME="$BACKUP_DIR/$DB-$DATE.sql.gz"
# backup the database
/usr/local/opt/mysql-client/bin/mysqldump -h$HOST -u$USERNAME -p$PASSWORD -P$PORT $DB | gzip > $FILENAME
# notify if backup was successful
if [ $? -eq 0 ]; then
echo "Backup of $DB completed successfully \nand saved to $FILENAME"
else
echo "Backup of $DB failed";
fi
done
执行结果:
补充 shell脚本逐个导入上面的sql文件到数据库 尚未实践,补充追加~
后续补充 ... |
3.问题/补充
4.参考
后续补充
...
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。