linux下mysql数据的导出和导入
导出整个数据库中的所有数据

1、在linux命令行下输入:
mysqldump -u userName -p dabaseName > fileName.sql
fileName.sql最好加上路径名

导出数据库中的某个表的数据
mysqldump -u userName -p dabaseName tableName > fileName.sql

导出整个数据库中的所有的表结构
在linux命令行下输入:
mysqldump -u userName -p -d dabaseName > fileName.sql
注意:是加了-d

导出整个数据库中某个表的表结构
在linux命令行下输入:
mysqldump -u userName -p -d dabaseName tableName > fileName.sql
注意:是加了-d

导入mysql方法1
进入linux命令命令行下:
mysql -uroot -p 回车 输入密码
source fileName.sql
注意fileName.sql要有路径名,例如:source /home/user/data/fileName.sql

导入mysql方法2
进入linux命令命令行下:
mysql -uroot -p database < fileName.sql
注意fileName.sql要有路径名

复制数据库,使用mysqldump及mysql的命令组合,一次性完成复制
mysqldump db1 -u root -p123456 --add-drop-table | mysql newdb -u root -p123456

-- 创建table_name表
CREATE TABLE table_name (
field1 varchar(16) DEFAULT NULL,
field2 varchar(16) DEFAULT NULL,
field3 varchar(16) DEFAULT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 欲导入的数据以CSV文件格式保存

-- 导入table_name表
LOAD DATA INFILE '/file_path/file.csv' INTO TABLE table_name FIELDS TERMINATED BY ',';

mysqldump error1066 错误的解决办法
mysqldump导出数据库报错
mysqldump --databases tsconsole>/data/tsconsolebak.sql
报错内容:
mysqldump: Got error: 1066: Not unique table/alias: 'act_evt_log' when using LOCK TABLES

方法1:
添加参数 --single-transaction正常导出(已测试)
mysqldump --single-transaction --databases tsconsole>/data/tsconsole180814.sql

方法2:
将/etc/my.cnf 的
lower_case_table_names=1添加注释
重启mysql,执行导出

如果觉得我的文章对你有用,请随意赞赏