需求:将远程服务器IP:172.10.10.1上的数据库database1上的数据迁移到服务器IP:172.10.10.2的数据库database2的表table中,要求字段要对应
1、本地登录远程服务器,并下载数据
远程登录服务器 ssh 172.10.10.1
查看此服务器上的mysql进程 ps -ef | grep mysql //一台服务器上可能有多个mysql进程,主要通过端口及sock文件进行区分
登录端口为3307的mysql服务器 /home/work/oem/mysql_oem/bin/mysql -h localhost -uroot -P 3307 --socket=/home/work/oem/mysql_oem/mysql.sock
查看3307的mysql服务器上的数据的编码形式 show variables like 'character%';
查看3307的mysql服务器上数据库 show databases
将端口为3307的mysql服务器上的数据按照latin1编码dump下来
/home/work/oem/mysql_oem/bin/mysqldump --default-character-set=latin1 -h localhost -uroot -P 3307 --socket=/home/work/oem/mysql_oem/mysql.sock database1
> ~/oem/redmine_oem/public/database1.sql
同样将172.10.10.2中的数据库database2的表table下下来
2、本地进行迁移
将database1.sql下载到本地 wget url
在本地创建数据库 create schema database1
将数据导入到本地的数据库database1中 mysql -uroot -p*** -hlocalhost database1 < /home/sunzhijie/sql/database1.sql
or mysql> source path
按照要求,相应的字段做对应
a) Insert into......select .....from ..
b) update ..... set .... where...
c) substring(string,pos) 取string的自pos位置起的子串
d) concat(string1, string2):将string1与string2连接
3、本地迁移成功的话,上线
a) 将线上的系统进行备份
b) 查看目标数据库
c) 进行本地的一系列操作