mysql操作
备份:mysqldump -u 用户名 -p密码 数据库名 > data.bak
恢复:mysql -u 用户名 -p密码 数据库名 < data.bak
实际操作示例如下:
--databases 导出表结构和数据(省略也行)
-d 导出表结构
-t 导出表数据
1、导出数据:将数据库test_db的数据全部导出,包括表结构和数据
mysqldump -udjango -p --default-character-set=utf8 --databases test_db > test_db.sql
输入密码:
-p后面也可以直接跟上密码(New*2021#),但会提示不安全
2、只导出表结构,即 create table
mysqldump -udjango -p --default-character-set=utf8 -d test_db > test_db.sql
输入密码:
3、只导出表数据,即 insert into
mysqldump -udjango -p --default-character-set=utf8 -t test_db > test_db2.sql
输入密码:
4.1、导出指定表people_persons的结构和数据
mysqldump -udjango -p --default-character-set=utf8 --databases test_db --tables people_persons > people_persons-all.sql
4.2、导出指定表people_persons的结构
mysqldump -udjango -p --default-character-set=utf8 -d test_db --tables people_persons > people_persons-d.sql
4.3、导出指定表people_persons的数据
mysqldump -udjango -p --default-character-set=utf8 -t test_db --tables people_persons > people_persons-t.sql
create database if not exists demo_db default character set utf8 collate utf8_general_ci;
导入数据:
mysql -uroot -p demo_db < people_persons-d.sql
密码:New*2021#
导入txt文件
先准备数据
[root@centos-7-140 mysqldata]#
[root@centos-7-140 mysqldata]# more 111.txt
1000|张三|zhangsansi|7c4a8d09ca3762af61e595209|海淀|北京|http://www.baidu.com
1001|李四|zhangsansi|7c4a8d09ca3762af61e595209|海淀|北京|http://www.baidu.com
1002|王五|zhangsansi|7c4a8d09ca3762af61e595209|海淀|北京|http://www.baidu.com
1003|赵六|zhangsansi|9520943dc26494f8941b|海淀|北京|http://www.baidu.com
1004|刘七|zhangsansi|8d09ca3762af61e59520943|海淀|北京|http://www.baidu.com
-----方法一
mysqlimport -u root -p'New*2021#' -l --fields-terminated-by='|' demo_db people_persons.txt
注意:
-l 数据被插入之前锁住表
-d 插入数据之前删除表数据,慎用
--fields-terminated-by='1' ("1" 数据分割符,默认是Tab 跳格)
demo_db 数据库名
people_persons 表名,xxx.txt xxx将自动看成是表名
-----方法二
mysql>set sql_mode='';
mysql>load data local infile "/home/mysqldata/111.txt"
-> into table people_persons
-> CHARACTER SET utf8
-> fields terminated by '|'
-> IGNORE 1 LINES;