Linux mysql备份与还原

1 备份整库 注意箭头指向右 >

-- 登录到数据库服务器,选择一个目录,执行下列备份语句,如果报mysqldump不存在,则进入到mysql安装目录bin目录下执行

mysqldump -uroot -pxxx bunuo>bunuo_temp.sql -- 生成文件就在当前目录下

 

2 将备份(bunuo_temp.sql)文件上传到临时服务器某个位置

 

3 登录到中间服务器创建mysql临时库,从linux连接mysql
mysql -uroot -pxxx

4 mysql命令行创建临时库,mysql命令行下执行下列创建语句
CREATE DATABASE bunuo_temp DEFAULT CHARACTER SET utf8;


5 上传bunuo_temp.sql到临时服务器上,在文件所在目录下执行恢复语句,将备份库导入临时服务器,恢复库时的箭头指向左 <

退出mysql命令行,进入linux服务命令行操作
mysql -uroot -pxxx bunuo_temp<bunuo_temp.sql


备注:如果报mysql不存在,则需要进入mysql安装目录bin目录下,并且将备份文件也传到该目录下,再执行恢复语句

 

6 备注

(1) 备份文件中前面的文件不能删除,否则导入时会报ERROR-1231

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

 

 

 

 

ERROR-1231

 

 

 

(2) 报ERROR-1231是因为max_allowed_packet设置过小导致

show variables like '%max_allowed_packet%';
select @@max_allowed_packet;

set global max_allowed_packet = 1024*1024*1024;  -- byte

 

(3) 只导出表结构语句

mysqldump -uroot -pxxx -d 数据库名 > 数据库名.sql

 

(4) 登录到命令行导入备份

mysql -uroot -pxxx

mysql>use test;

mysql>source /xxx/xxx/test.sql;

 

posted @ 2022-04-12 17:06  Latiny  阅读(1221)  评论(0编辑  收藏  举报