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;