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,执行导出
此处评论已关闭