最近项目要数据库跨平台,可怜我个小渣渣,还一直想着怎么用Flumn采集windows上的数据库再存放到Linux上的MySQL数据库里(主要是不会,欢迎大佬嘲笑指导),后来在网上发现有
很多简单的案例,然后借助网上大佬们的思路,加上自己总结验证,然后跟大家一起学习下
方法一:
1,进入本地MySQL的服务端
C:\Program Files\MySQL\MySQL Server 5.7\bin> mysql -h localhost -u root -p -D unicode // -D后面的unicode是数据库名
2,导出数据库文件
mysql>mysqldump -u root -p -r f:data.txt -B user
f:data.txt 是到出的数据放到f盘的data.txt文件中,-B后面的user是要导出的表名
3,去f盘查看数据,然后上传到linux /opt/date/
4,打开linux,进入MySQL
mysql -u root -p
5,创建与windows上同名的数据库名,并设置字符集
mysql>create database unicode
mysql>alter database unicode character set utf8 //具体字符集设置,方法二里有
6,mysql>use unicode
mysql>source /opt/date
7,查看喽
mysql>show tables;
方法二:
1,利用windows的客户端导出个.sql的文件
2,上传到Linux系统上 /opt/date
3,进入linux,mysql
mysql -u root -p
4,创建与windows上同名的数据库名,并设置字符集
mysql>
create database unicode character set utf8;
mysql>show variables like "%char%";
如果还有很多文件的格式不是utf8,进行下部修改
MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件
解决方法:只需要复制一个/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可
[client]
default-character-set=utf8
# The MySQL server
[mysqld]
character_set_server = utf8
[mysql]
no-auto-rehash
default-character-set=utf8
然后Linux系统下重启MySQL:service mysql restart
5,mysql>use unicode
mysql>source /opt/date/xx.sql
6,查看喽
mysql>show tables;
推荐使用方法二,已验证,且直接就是以数据库方式导出,若迁移表,就直接将表的.sql文件导出就好。
注:若有侵权,请联系删除