mysql导出库和表相关的操作和问题
2018-01-10 16:01
381 查看
格式为:
mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径
下面按不同场景分别说明:
导出:
导整个库(表结构和数据): mysqldump -hxx -uxx -pxx db_name > db_name.sql
导整个库(仅表结构): mysqldump -hxx -uxx -pxx-ddb_name > db_name.sql
导整个库(仅数据): mysqldump -hxx -uxx -pxx -t db_name > db_name.sql
导库中表(表结构和数据): mysqldump -hxx -uxx -pxx db_nametable_name> db_name-table_name.sql
导库中表(仅表结构): mysqldump -hxx -uxx -pxx -d db_name table_name> db_name-table_name.sql
导库中多个表(表结构和数据): mysqldump -hxx -uxx -pxx db_name table_name1 table_name2 table_namex > db_name-table_namex.sql
导库中多个表(仅表结构): mysqldump -hxx -uxx -pxx -d db_nametable_name1 table_name2 table_namex > db_name-table_name.sql
如果报错:mysqldump: Got error: 1044: Access denied for user 'xxx'@'10.%.%.%' to database 'xxx' when using LOCK TABLES,
可加上不锁表的参数 --skip-lock-tables
where 条件仅对单表起作用,如 --where="Column_a='abc' and Column_b<100"
导入:
因为mysqldump导出的是完整的sql语句,所以用mysql客户端很容易就可以把数据导入了,如
mysql -hxx -uxx -pxx db_name < db_name.sql
或登录进数据库后 show databases; use db_x; source path_to_xx.sql
Mysql Workbench 导出过程中遇到的问题及解决方法:
1. mysqldump: [ERROR]
unknown variable 'delayed-insert=FALSE'
原因: Mysql Workbench 6.0以后的版本中会报这个错,可能是兼容性问题。这个变量'delayed-insert=FALSE'不被识别,workbench默认配置中会开启,且默认值是false。我们使用不到这具变量,可以在配置文件中注掉这个变量来解决。
解决方法:
找到配置文件目录:
打开python格式的输出配置文件:
找到所在行:
在行开头插入
保存文件,重启Workbench
Windows中路径:C:\Program Files\MySQL\MySQL
Workbench 6.3 CE\modules
Ubuntu中路径:/usr/lib/mysql-workbench/modules/wb_admin_export_options.py
2. mysqldump: Got error: 1045: Access denied for user 'xxx'@'10.xx.xx.xx' (using password: NO) when trying to connect
原因:锁表失败
解决办法:同命令行中加--skip-lock-tables选项,workbench中打开数据导出右上角的"高级选项",不勾选“loxk-tables -- Lock tables for read. Disable if user has no
LOCK TABLES privilege”
3. "Not enough memory to allocate insert buffer of size 1073741824
可能是配置项不合适,导致内存不足,这里有个公式参考https://stackoverflow.com/questions/24501432/migration-issues-ms-sql-mysql-insert-buffer-memory,但调整参数好像也没把问题解决。换了个workbench版本(先前是6.3.5
32bit,换成6.3.6 64bit),居然没再出现这个问题了,可能是workbench的bug或workbench与mysql 5.5兼容性的问题所致。
注: SHOW VARIABLES LIKE ‘%buffer%’ 各个带buffer的配置项值
mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径
下面按不同场景分别说明:
导出:
导整个库(表结构和数据): mysqldump -hxx -uxx -pxx db_name > db_name.sql
导整个库(仅表结构): mysqldump -hxx -uxx -pxx-ddb_name > db_name.sql
导整个库(仅数据): mysqldump -hxx -uxx -pxx -t db_name > db_name.sql
导库中表(表结构和数据): mysqldump -hxx -uxx -pxx db_nametable_name> db_name-table_name.sql
导库中表(仅表结构): mysqldump -hxx -uxx -pxx -d db_name table_name> db_name-table_name.sql
导库中多个表(表结构和数据): mysqldump -hxx -uxx -pxx db_name table_name1 table_name2 table_namex > db_name-table_namex.sql
导库中多个表(仅表结构): mysqldump -hxx -uxx -pxx -d db_nametable_name1 table_name2 table_namex > db_name-table_name.sql
如果报错:mysqldump: Got error: 1044: Access denied for user 'xxx'@'10.%.%.%' to database 'xxx' when using LOCK TABLES,
可加上不锁表的参数 --skip-lock-tables
where 条件仅对单表起作用,如 --where="Column_a='abc' and Column_b<100"
导入:
因为mysqldump导出的是完整的sql语句,所以用mysql客户端很容易就可以把数据导入了,如
mysql -hxx -uxx -pxx db_name < db_name.sql
或登录进数据库后 show databases; use db_x; source path_to_xx.sql
Mysql Workbench 导出过程中遇到的问题及解决方法:
1. mysqldump: [ERROR]
unknown variable 'delayed-insert=FALSE'
原因: Mysql Workbench 6.0以后的版本中会报这个错,可能是兼容性问题。这个变量'delayed-insert=FALSE'不被识别,workbench默认配置中会开启,且默认值是false。我们使用不到这具变量,可以在配置文件中注掉这个变量来解决。
解决方法:
找到配置文件目录:
__InstallPath__/modules
打开python格式的输出配置文件:
wb_admin_export_options.py
找到所在行:
"delayed-insert":["Write INSERT DELAYED statements rather than ...
在行开头插入
#号注释改行
保存文件,重启Workbench
Windows中路径:C:\Program Files\MySQL\MySQL
Workbench 6.3 CE\modules
Ubuntu中路径:/usr/lib/mysql-workbench/modules/wb_admin_export_options.py
2. mysqldump: Got error: 1045: Access denied for user 'xxx'@'10.xx.xx.xx' (using password: NO) when trying to connect
原因:锁表失败
解决办法:同命令行中加--skip-lock-tables选项,workbench中打开数据导出右上角的"高级选项",不勾选“loxk-tables -- Lock tables for read. Disable if user has no
LOCK TABLES privilege”
3. "Not enough memory to allocate insert buffer of size 1073741824
可能是配置项不合适,导致内存不足,这里有个公式参考https://stackoverflow.com/questions/24501432/migration-issues-ms-sql-mysql-insert-buffer-memory,但调整参数好像也没把问题解决。换了个workbench版本(先前是6.3.5
32bit,换成6.3.6 64bit),居然没再出现这个问题了,可能是workbench的bug或workbench与mysql 5.5兼容性的问题所致。
注: SHOW VARIABLES LIKE ‘%buffer%’ 各个带buffer的配置项值
相关文章推荐
- ⑧Mysql导入导出相关操作
- 将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决
- 6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法
- mysql客户端的导出数据库表和数据库数据等相关操作
- EntityFrameworkCode 操作MySql 相关问题
- Mysql导出导入相关操作记录
- MySQL数据表相关操作-完整性约束条件
- Navicat for MySQL and dos 在win7 64 位系统中遇到的问题,以及简单操作
- 问问题_Java一次导出百万条数据生成excel(web操作)
- mysql获取当前时间,及其相关操作
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- Python---MySQL相关操作
- C#连接MySql及相关操作
- 关于mysql中数据表的导入和导出问题。
- java操作pdf(解决中文导出问题)
- Mysql 操作的相关命令
- Linux-(C)利用Mysql相关API实现类似mysql的操作
- mysql相关操作
- mysql免安装版安装配置过程中遇到的问题和相关的解决
- 关于c#执行mysql操作,传递参数的问题