Mysql数据迁移

轩辕暗神 3天前 ⋅ 13 阅读

环境:192.168.1.13上的数据库是最新版的,需要从192.168.1.13把数据迁移到192.168.1.14上 两台电脑安装的mysql都是Mysql5.7

1、在旧机器上执行

mysqldump   --single-transaction   --routines   --triggers   --events   --hex-blob   --databases   119Database   bdm291307402_db   chaoyangbeifang001   chaoyangbeifang002   eladmin   face   jsh_erp   link0   link1   link2   linksys   lis   speed_policing   speed_policing_2   speed_policing_test   tp_rabc   tp_rbac   wxf   wxfDev   ziyuanDatabase   -S /var/lib/mysqlNew/mysql.sock   -uroot -p | gzip > /var/lib/mysqlNew/old/base.sql.gz
#输入密码等待执行完毕
mysqldump   --single-transaction   
--routines   
--triggers   
--events  
--hex-blob   
--databases   
	119Database   
    bdm291307402_db   
    chaoyangbeifang001   
    chaoyangbeifang002   
    eladmin   
    face   
    jsh_erp   
    link0   
    link1   
    link2   
    linksys   
    lis   
    speed_policing   
    speed_policing_2   
    speed_policing_test   
    tp_rabc   
    tp_rbac   
    wxf   
    wxfDev   
    ziyuanDatabase   
    -S /var/lib/mysqlNew/mysql.sock   
    -uroot -p | gzip > /var/lib/mysqlNew/old/base.sql.gz

参数解读: mysqldump --single-transaction #调用mysqldump --routines
--triggers
--events
--hex-blob
--databases 指定数据库,有几个库就写多少个 119Database
bdm291307402_db
chaoyangbeifang001
chaoyangbeifang002
eladmin
face
jsh_erp
link0
link1
link2
linksys
lis
speed_policing
speed_policing_2
speed_policing_test
tp_rabc
tp_rbac
wxf
wxfDev
ziyuanDatabase
-S /var/lib/mysqlNew/mysql.sock #指定命令所用的sock -uroot -p | gzip > /var/lib/mysqlNew/old/base.sql.gz #"-uroot -p"使用Mysql的root用户,"| gzip"导出到压缩文件,调用gzip," > /var/lib/mysqlNew/old/base.sql.gz"写入到base.sql.gz文件中

2、在新机器上执行

systemctl stop mysqld
rm -rf /var/lib/mysqlNew/*
mysqld --initialize-insecure --datadir=/var/lib/mysqlNew --user=mysql

命令解读: systemctl stop mysqld #停用mysql rm -rf /var/lib/mysqlNew/* #清空旧目录避免产生干扰 mysqld --initialize-insecure #初始化数据库 --datadir=/var/lib/mysqlNew 指定数据库目录 sock所在目录 --user=mysql 指定用户

#删除旧文件
rm -rf /tmp/base.sql.gz

3、在旧机器上执行

scp /var/lib/mysqlNew/old/base.sql.gz 192.168.1.14:/tmp

参数解读: scp /var/lib/mysqlNew/old/base.sql.gz #使用scp发送文件 192.168.1.14:/tmp #发送到1.14的/tmp目录

2、在新机器上执行

systemctl start mysqld
#等待启动完成
gunzip < /tmp/base.sql.gz | mysql -uroot --socket=/var/lib/mysqlNew/mysql.sock
#等待执行完成

#使用无密码登录
mysql -uroot --socket=/var/lib/mysqlNew/mysql.sock
然后就可以设置root密码等,设置远程访问账号等

全部评论: 0

    我有话说: