灰儿 发表于 2007-2-17 10:26:50

linux下如何导入导出MySQL数据库

一、导出:
用mysqldump命令行
命令格式
mysqldump -u 用户名 -p 数据库名 > 数据库名.sql
范例:
mysqldump -u root -p abc > abc.sql
(导出数据库abc到abc.sql文件)
提示输入密码时,输入该数据库用户名的密码。

二、导入:
用MySQL命令行
命令格式
mysql -u 用户名 -p 数据库名

三、直接COPY
如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。
3.1 将原始数据库用tar打包为一个文件
tar -zcvf mydb.tar.gz mydb
3.2 创建空数据库
3.3 解压
在临时目录中解压,如:
cd /tmp
tar -zxvf 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/*

//--------------------------------------------------------------------------------------------------------
1.mysqldump -u 用户名 -p 数据库名 > 导出的文件名  mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 

2.mysql导出数据库一个表  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名  mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql  

3.mysql导出一个数据库结构  mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql  -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table  

4.mysql导入数据库  常用source 命令  进入mysql数据库控制台,  如mysql -u root -p  mysql>use 数据库  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

mysql>source d:wcnc_db.sql
//-------------------------------------------------------------------------------------------------------------
一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):
1、导出数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/mysqldump -uroot -p abc > abc.sql
敲回车后会提示输入密码
2、只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/mysqldump -uroot -p -d abc > abc.sql

二、导入数据库
1、首先建空数据库
mysql>create database abc;
2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql
注意:有命令行模式,有sql命令

灰儿 发表于 2007-2-17 10:33:20

Re:MYSQL,导入.sql数据库文件的方法

因导出sql文件

在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述。

上传sql文件

前面说过了,我们没有在云主机上安装ftp,怎么上传呢?

打开ftp客户端软件,例如filezilla,使用服务器IP和root及密码,连接时一定要使用SFTP方式连接,这样才能连接到linux。注意,这种方法是不安全的,但我们这里没有ftp,如果要上传本地文件到服务器,没有更好更快的方法。

我们把database.sql上传到/tmp目录。

连接到linux,登录mysql

使用putty连接到云主机。putty的使用方法这里就不介绍了。

连接之后,登录mysql

代码如下:

>mysql -u root -p
>password:


注意,如果你之前建立了其他的mysql用户,可以选择合适的用户登录。关于mysql的命令行,你可以在其他地方学习。

把上传上去的sql导入到数据库中

按照下面的三个步骤,快速导入这个sql文件

代码如下:


mysql>use yourdatabasename;
mysql>set names utf8;
mysql>source /tmp/database.sql;

然后屏幕上就会不断的滚,最后提示导入成功。

最后,记得将database.sql删除。

灰儿 发表于 2007-2-17 10:35:37

Re:MYSQL,导入.sql数据库文件的方法

如果是Windows的话,从命令提示符下到MYSQL文件目录中的Bin文件夹下,执行命令
mysql -u root -p databasename < db.sql
其中root是你MYSQL的用户名,databasename是你数据库的名称,而db.sql你是的文件.注意你必须把db.sql放到bin文件夹下才可以.当然文件的位置可以换.

示例:
在CMD中输入下列命令:
C:\>MySQL -h localhost -u root -p mydb2 < e:\MySQL\mydb2.sql
然后输入密码,就OK了。

如果是LINUX的话,直接输入
mysql databasename < db.sql

就可以了,系统默认mysql命令为系统命令

页: [1]
查看完整版本: linux下如何导入导出MySQL数据库