标签:数据库 sql 导出 乱码 book uroot mysql p123456
mysql数据库字符集不支持导致数据乱码恢复
mysqldump --default-character-set=latin1 -d test >table.sql
# -d只导出数据库表结构,不导表数据
mysqldump --default-character-set=latin1 -t test > data.sql
# -t 只导出数据库表数据,不导出表结构,--default-character-set指定导出的数据原字符集是latin1格式
sed -i.bak 's/latin1/utf8/g' table.sql
sed -i.bak 's/latin1/utf8/g' data.sql
#修改导出的数据的字符集为utf8格式
mysql -e 'create database library;'
#创建新的数据库,用于数据恢复;
mysql -e 'use library;' -e 'show tables;'
mysql -e 'use library;' -e 'drop table books;' -e 'drop table category;'
#查看原来的库中是否有数据,若已操作,则执行删除即可
mysql library < table.sql
mysql library < data.sql
#导入表结构和表数据到新库
mysql -e 'use library;' -e 'select * from category;'
mysql -e 'use library;' -e 'select * from books;'
#查询验证结果
mysql常用知识参考(附):
C:导出单张表
mysqldump -uroot -p123456 book books >books.sql #导出book库books表
D:导出库的表结构
mysqldump -uroot -p123456 -d book>booktable.sql #只导出book库的表结构
E:只导出数据
mysqldump -uroot -p123456 -t book>bookdata.sql #只导出book库中的数据
F:导出数据库,并自动生成库的创建语句
mysqldump -uroot -p123456 -B book2 >book2.sql
mysql -uroot -p123456 < book2.sql 导入不用指定数据名
导入数据:
A:导入所有数据库
mysql -uroot -p123456 <all.sql
B:导入数据库
Mysql -uroot -p123456 book <book.sql #如果导入时,没有对应的数据库,需要你手动创建一下:mysql> create database book;
使用source导入
mysql> create database book;
mysql> use book;
mysql> source /root/book.sql
c:导入表
mysql> drop table books;
mysql> source /root/books.sql; ##导入表时,不需要重新,创建表。要先进到相应的数据库中
mysql> select * from books;
D:导入表结构和数据
mysql> create database book;
mysql -uroot -p123456 book<booktable.sql
mysql -uroot -p123456 book<bookdata.sql
标签:数据库,sql,导出,乱码,book,uroot,mysql,p123456 来源: https://www.cnblogs.com/xiaofeng666/p/15314086.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。