一次简单的MySQL数据库导入备份

任务目的:把现网数据库(MySQL5.5,windows)中的内容导入到测试数据库(MySQL5.1,linux)中

1.由于对MySQL并不熟悉,一上来我先考虑方案是用现成的数据库管理工具来处理。我先后用Navicat Premium和SQLyog都失败。每次都是导出时成功,但导入时总是出现各种错误中断。
2.粗略估计失败的原因可能是
(1)版本问题,但已经排除。
(2)内容导致的,因为项目表里面不都是简单的文本数据,里面含有大量的二进制数据、视图、函数和触发器数据需要导出
(3)历史遗留乱码导致。由于该项目是又由一个老项目扩建修改而成。有些表结构在复制中存在乱码使得导入时出错
3.工具不好用所以决定用MySQL命令来处理
导出:
mysqldump.exe -uroot -proot --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob  -x house >\x
导入
mysql>source /x
4.导入时表和数据都正常了。但是在导入自定义函数时报log_bin_trust_function_creators错误。解决方法是
set global log_bin_trust_function_creators = 1;
不过这种办法在重启后就是失效了,永久解决方案是直接修改my.ini
在[mysqld]加上log_bin_trust_function_creators=1
5.导入成功,任务完成

由于以前没操作过测试服务器,发现里面装了两个MySQL服务。直接使用mysql命令登录的并不是我要用的,所以需要先找到MySQL的mysql.sock地址
ps aux |grep mysqld
先看进程找到记下找到地址--socket=/tmp/mysql.sock
mysql -uroot -p  -P3306 -S/tmp/mysql.sock
这样就登录到了需要的MySQL。问题解决。

时间: 2024-10-26 15:16:25

一次简单的MySQL数据库导入备份的相关文章

linux系统上Mysql数据库导入导出操作

需求:把MySQL数据库目录中的dz数据库备份到/home/dz_bak.sql ,然后再新建一个数据库dzbak,最后把/home/dz_bak.sql 导入到数据库dzbak中.操作如下:以下操作均在终端命令行下进行 1.mysqldump -u root -p dz > /home/dz_bak.sql        #导出数据库     123456     #输入数据库密码     扩展:     mysqldump -u root -p dz pre_portal_comment >

mysqldump常用于MySQL数据库逻辑备份

mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: mysqldump -uroot -p123 test > test.dump 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句. B. --opt 如果加上--opt参数则生成的du

[知了堂学习笔记]_Java代码实现MySQL数据库的备份与还原

通常在MySQL数据库的备份和恢复的时候,多是采用在cmd中执行mysql命令来实现. 例如: mysqldump -h127.0.0.1 -uroot -ppass test > d:/test.sql ---备份test数据库到 D 盘 mysql -h127.0.0.1 -uroot -ppass test< test.sql ---将D备份的数据库脚本,恢复到数据库中 更多命令参看:http://www.cnblogs.com/xcxc/archive/2013/01/30/28828

Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁

Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁 一丶安装 pip install PyMySQL 二丶pymysql连接数据库 ### 语法: import pymysql # 导入py模块 conn= pymysql.connect("数据库ip","用户","密码","数据库" ) # 打开数据库连接 cursor.execute("SELECT VERSI

Python数据库操作 Mysql数据库导入导出和授权#学习猿地

# Mysql数据库导入导出和授权 ### 数据导出 #### 1.数据库数据导出 ```shell # 不要进入mysql,然后输入以下命令 导出某个库中的数据 mysqldump -u root -p tlxy > ~/Desktop/code/tlxy.sql ``` 导出一个库中所有数据,会形成一个建表和添加语句组成的sql文件 之后可以用这个sql文件到别的库,或着本机中创建或回复这些数据 #### 2.将数据库中的表导出 ```shell # 不要进入mysql,然后输入以下命令 导

MySQL数据库-完全备份及恢复

MySQL数据库-完全备份及恢复 数据库备份的分类 物理角度: 冷备份:也称脱机备份,特点:关掉数据库再备份 热备份:也称联机备份,特点:开启数据库再备份 温备份:数据库只有可读权限的状态下备份 逻辑角度: 对数据库的对象的备份,例如数据表,及数据表中的一些sql语句等 备份策略角度: 完全备份:每次对数据进行整体的备份 差异备份:在第一次完整备份a数据后,以后的每次的备份是a+b,b就是针对于a数据发生变化的数据,称之为'差异数据'.缺点:b的数据内存会越来越大b+=b,导致数据恢复缓慢.恢复

mysql数据库导入导出及修改数据库名命令

概述 mysql 数据库导入导出,有两种方式 1)先导出SQL脚本,再导入(导入导出又分两种:1. 命令. 2. 工具.这里我们只介绍命令). 2)直接拷贝数据库文件(此方法不推荐). 一.mysql数据库导入 1.  已有数据库,可以直接用mysql命令 命令格式 mysql -u用户名 -p密码 数据库名 <  sql文件路径 示例:mysql -uroot -p12345678  test <  /root/test.sql 2.  创建新数据导入 mysql -uroot -p1234

mysql数据库导入和导出

Mysql数据中,使用时,总是会碰见导入和导出情况,所以如何正确的导入导出,非常重要!下面根据工作中用到的方法,会不管补充: 导入: 直接在Mysql中导入: mysql>use databaseName; mysql> load data infile 'filePath' into table 'tableName' 如果直接使用sql脚本文件,可使用source: 进入mysql数据库控制台,如mysql -u root -p  mysql>use 数据库 然后使用source命令

Windows Server服务器端MySQL数据库自动备份

1.给root账户授权所有sql权限 grant all privileges on *.* to [email protected]"%" identified by "."; flush privileges; 2.建立bat批处理文件 @echo off set path=%path%;D:\Program Files\MySQL\MySQL Server 5.5\bin set y=%date:~0,4% set m=%date:~5,2% set d=%d