mysql备份并转移数据

一、使用mysqldump进行备份

直接输入命令mysqldump会发现提示命令不存在,是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,
自然会找不到命令,并报错。知道了问题的所在,就直接去处理,先用一条find命令查找mysqldump的所载路径

find  / -name mysql -print // 找到文件名称为mysql的文件 
然后再用ln命令链接到/usr/bin下面。
ln -fs /usr/local/mysql/bin/mysqldump /usr/bin

注:出现下面错误

mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect

解决:

使用   find  / -name mysql -print   查看  mysql.sock路径
查看  vim /etc/my.cnf  查看  socket=/var/lib/mysql/mysql.sock  指定路径是否正确,不正确更改
重启   service mysqld restart
若是还报上面的错误,可以使用软连接建立连接  ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

测试迁移进行登录测试

mysql -h 服务器ip地址 -P 3306 -u root -p

  

 数据库锁表:这个命令执行后所有库所有表都被锁定为只读(如果会话关闭,则自动解锁)解锁命令unlock tables

mysql> flush tables with read lock;  
Query OK, 0 rows affected (0.00 sec)

开始备份

[root@localhost ~]# mysqldump -u root -p -A -B --master-data=1 | gzip > /123/test.sql.gz

将备份传输到新数据库进行恢复

[root@localhost ~]# scp /123/test.sql.gz 192.168.3.101:/root/

恢复数据

[root@localhost ~]# gunzip test.sql.gz

   [root@localhost ~]# mysql  -u root -p < test.sql

注:出现下面错误说明没有关闭slave,关闭命令stop slave

This operation cannot be performed with a running slave; run STOP SLAVE first

恢复成功,可以使用可视化查看

原文地址:https://www.cnblogs.com/cypress/p/8613567.html