环境: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密码等,设置远程访问账号等
注意:本文归作者所有,未经作者允许,不得转载