1. MySQL数据库的导入,有两种方法:
1). 先到处数据SQL脚本,再导入;
2). 直接拷贝数据库目录和文件。
不同平台或MySQL版本,直接拷贝可能会不兼容,所以最好使用SQL脚本导入。
2. SQL脚本形式导入
2.1 导出SQL脚本
在源数据库服务器上,使用phpMyAdmin工具,或mysqldump(位于mysql/bin目录中)命令行,导出SQL脚本。
2.1.1 使用phpMyAdmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。
将导出的SQL文件保存下来。
2.1.2 使用mysqldump命令行
命令格式:
shell> mysqldump -u用户名 -p 数据库名 > 数据库名.sql
示例:
shell> mysqldump -uroot -p bookstore > d:\bookstore.sql // 导出数据库bookstore
2.2 创建空的数据库
通过主控界面/控制面板,创见一个数据库。假设数据库名为bookstore,数据库全权用户为root
2.3 将SQL脚本导入执行
同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。
2.3.1 用phpMyAdmin工具
从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。
在“SQL”菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。
注意:
phpMyAdmin对上载的文件大小有限制,php本省对上载文件大小也有限制,
如果原始SQL文件比较大,可以先用gzip对它进行压缩,对于SQL文件这样的文本文件,可获得1:5或更高的压缩率。
gzip使用方法:
# gzip xxxx.sql
得到:xxxx.sql.gz文件。
2.3.2 用mysql命令行
命令格式:
shell> mysql -u用户名 -p 数据库名 < 数据库名.sql
示例:
shell> mysql -uroot -p bookstore < d:\bookstore.sql
提示输入密码时,输入该数据库用户名的密码。
还有一种方在命令行中登陆到mysql 用source 命令
例:
mysql>source c:/database.sql
注:在用命令行导入sql中文时容易出现乱码的请况,如遇到这种情况只需要在你的sql 文件中加入 set name utf8即可
3. 方法二:直接拷贝
如果数据比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,慎用。
3.1 准备原始文件,用tar打包一个文件
3.2 创建空数据库
3.3 解压
在临时目录中解压,如:
# cd /tmp
# tar xvf bookstore.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/*