1) 先导出数据库SQL脚本 , 再导入;
2) 直接拷贝数据库目录和文件 。
在不同操作系统或MySQL版本情况下 , 直接拷贝文件的方法可能会有不兼容的情况发生 。
所以一般推荐用SQL脚本形式导入 。下面分别介绍两种方法 。
2. 方法一 SQL脚本形式
操作步骤如下:
2.1. 导出SQL脚本
在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump命令行,导出SQL脚本 。
2.1.1 用phpMyAdmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项 。
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项 。
将导出的SQL文件保存下来 。
2.1.2 用mysqldump命令行
命令格式
mysqldump -u 用户名 -p 数据库名数据库名.sql
范例:
mysqldump -u root -p abcabc.sql
(导出数据库abc到abc.sql文件)
提示输入密码时 , 输入该数据库用户名的密码 。
2.2. 创建空的数据库
通过主控界面/控制面板,创建一个数据库 。假设数据库名为abc,数据库全权用户为abc_f 。
2.3. 将SQL脚本导入执行
同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行 。
2.3.1 用phpMyAdmin工具
从控制面板,选择创建的空数据库 , 点“管理”,进入管理工具页面 。
在"SQL"菜单中 , 浏览选择刚才导出的SQL文件,点击“执行”以上载并执行 。
注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件
比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率 。
gzip使用方法:
# gzip xxxxx.sql
得到
xxxxx.sql.gz文件 。
提示输入密码时,输入该数据库用户名的密码 。
3 直接拷贝
如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容 , 要慎用 。
3.1 准备原始文件
用tar打包为一个文件
3.2 创建空数据库
3.3 解压
在临时目录中解压,如:
cd /tmp
tar zxf mydb.tar.gz
3.4 拷贝
将解压后的数据库文件拷贝到相关目录
cd mydb/
cp * /var/lib/mysql/mydb/
对于FreeBSD:
cp * /var/db/mysql/mydb/
3.5 权限设置
将拷贝过去的文件的属主改为mysql:mysql,权限改为660
chown mysql:mysql /var/lib/mysql/mydb/*
chmod 660 /var/lib/mysql/mydb/*
Mssql转换mysql的方法:
1.导表结构
使用MySQL生成create脚本的方法 。找到生成要导出的脚本,按MySQL的语法修改一下到MySQL数据库中创建该表的列结构什么的 。
2.导表数据
在MSSQL端使用bcp导出文本文件:
bcp “Select * FROM dbname.dbo.tablename;” queryout tablename.txt -c -Slocalhost\db2005 -Usa
其中”"中是要导出的sql语句,-c指定使用\t进行字段分隔,使用\n进行记录分隔,-S指定数据库服务器及实例,-U指定用户名,-P指定密码.
在MySQL端使用mysqlimport 导入文本文件到相应表中
mysqlimport -uroot -p databasename /home/test/tablename.txt
其中-u指定用户名,-p指定密码,databasename指定数据库名称,表名与文件名相同
MySQL备份与恢复:
MySQL备份恢复数据的一般步骤
备份一个数据库的例子:
1、备份前读锁定涉及的表
mysqlLOCK TABLES tbl1 READ,tbl1 READ,…
如果,你在mysqldump实用程序中使用--lock-tables选项则不必使用如上SQL语句 。
2、导出数据库中表的结构和数据
shellmysqldump --opt db_namedb_name.sql
- mysql游标和存储过程是什么 mysql游标表名为变量
- 如何使用cmd命令行提示符登录mysql服务器 cmd中登陆mysql
- mysql怎么设置时区 mysql时间显示设置
- 招聘要精通mysql
- mysql 65535 8192 限制 mysql限制资源使用
- mysql有topn
- mysql协议包解析 mysqlicp协议
- mysql子查询和连接查询 mysql子查询插入
- Mysql使用索引查询 mysql使用round
- mysql下到了c盘 mysql怎么不存到c盘
