欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql备份并转移数据

程序员文章站 2022-04-19 20:32:38
一、使用mysqldump进行备份 注:出现下面错误 解决: 测试迁移进行登录测试 数据库锁表:这个命令执行后所有库所有表都被锁定为只读(如果会话关闭,则自动解锁)解锁命令unlock tables 开始备份 将备份传输到新数据库进行恢复 恢复数据 [root@localhost ~]# 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

 

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