备份、导入MySQL数据库
- MySQL dump导出文件
- source 命令导入SQL文件
# 备份MySQL数据库
# 使用命令而不是GUI
GUI的简称是 "Graphical User Interface" CLI的简称是 "Command Line Interface"
快速导入指定SQL文件,比GUI快很多
mysql -uroot -proot < all.sql
# 指定数据库,其实只需要在sql里面加一行use就可以,避免错误出现
mysql -uroot -proot testdb < testdb.sql
# 导出整个实例
mysqldump -uroot -proot --all-databases > all_database.sql
# 导出指定库
mysqldump -uroot -proot --databases testdb > testdb.sql
# 导出指定表
mysqldump -uroot -proot testdb test_tb > test_tb.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 修改参数加快sql刷入
# 1.进入MySQL命令行 临时修改这两个参数
set global innodb_flush_log_at_trx_commit = 2;
set global sync_binlog = 2000;
# 2.执行SQL脚本导入
mysql -uroot -proot testdb < testdb.sql
# 3.导入完成 再把参数改回来
set global innodb_flush_log_at_trx_commit = 1;
set global sync_binlog = 1;
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 使用命令行写入MySQL
# 实践
1、首先环境变量添加MySQL bin目录,以便
2、使用命令写入sql,会比较快
# 踩坑
今天这里踩了一个坑,电脑里放了很多个MySQL,其中一个MySQL只用到了bin文件夹,另外好几个MySQL都是冲突的状态,把这几个冲突都解决了发现找不到data文件夹。然后怀疑是不是配置文件惹的祸,发现服务端是能够读到了my.ini文件的,而这个my.ini文件刚好放到了环境变量里面。类似下图的效果。
所以开始使用命令导入的时候最好先配好环境变量
在Windows中,执行命令时系统按照以下顺序查找可执行文件:
- 当前目录: 首先,在当前工作目录查找匹配的可执行文件。
- 系统目录: 如果当前目录没有,系统搜索系统目录(通常是"C:\Windows\System32")。
- Windows目录: 如果仍未找到,系统搜索Windows目录(通常是"C:\Windows")。
- 用户路径: 用户的自定义可执行文件路径(通过环境变量或注册表项配置)。
- 系统PATH环境变量: 查找PATH环境变量中列出的路径。
- App Paths注册表机制: 使用注册表中的"App Paths"来查找可执行文件。
- 比较陌生的应该是App Paths注册表机制
如果找到匹配的可执行文件,系统将执行它;否则,将显示"命令未找到"错误。路径在环境变量和注册表中的设置决定了命令是否可被识别和执行。建议将常用程序的路径添加到PATH环境变量中,或确保相关的"App Paths"注册表项存在,以便更轻松地运行命令和程序。
# 讲一下通过regedit
进入注册表
微软 推荐使用 App Paths 即修改此注册表项来添加可执行程序
通过regedit
进入注册表,键入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
,添加一行记录即可
参考: