linux下MySQL安装登录及操作

linux下MySQL安装登录及操作

 

二、安装Mysql

 

1、下载MySQL的安装文件

安装MySQL需要下面两个文件:

MySQL-server-4.0.16-0.i386.rpm   

MySQL-client-4.0.16-0.i386.rpm

下载地址为:http://www.mysql.com/downloads/mysql-4.0.html, 打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的上述两个rpm文件。

 

2、安装MySQL

rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是 –ivh ,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停 止。

1)安装服务器端

在有两个rmp文件的目录下运行如下命令:

[root@test1 local]# rpm -ivh MySQL-server-4.0.16-0.i386.rpm

显示如下信息。

warning: MySQL-server-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5

Preparing...       ########################################### [100%]

1:MySQL-server     ########################################### [100%]

。。。。。。(省略显示)

/usr/bin/mysqladmin -u root password 'new-password'

/usr/bin/mysqladmin -u root -h test1 password 'new-password'

。。。。。。(省略显示)

Starting mysqld daemon with databases from /var/lib/mysql

如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。

[root@test1 local]# netstat -nat

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address      Foreign Address     State   

tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN   

上面显示可以看出MySQL服务已经启动。

2)安装客户端

运行如下命令:

[root@test1 local]# rpm -ivh MySQL-client-4.0.16-0.i386.rpm

warning: MySQL-client-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5

Preparing...    ########################################### [100%]

1:MySQL-client  ########################################### [100%]

显示安装完毕。

用下面的命令连接mysql,测试是否成功。

三、登录MySQL

 

登录MySQL的命令是mysql, mysql 的使用语法如下:

mysql [-u username] [-h host] [-p[password]] [dbname]

username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于 初始没有密码,第一次进时只需键入mysql即可。

[root@test1 local]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1 to server version: 4.0.16-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

出现了“mysql>”提示符,恭喜你,安装成功!

增加了密码后的登录格式如下:

mysql -u root -p

Enter password: (输入密码)

其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。

 

注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。

 

四、MySQL的几个重要目录

 

MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。

 

下面就介绍一下这几个目录。

 

1、数据库目录

/var/lib/mysql/

 

2、配置文件

/usr/share/mysql(mysql.server命令及配置文件)

 

3、相关命令

/usr/bin(mysqladmin mysqldump等命令)

 

4、启动脚本

/etc/rc.d/init.d/(启动脚本文件mysql的目录)

五、修改登录密码

 

MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。

 

1、命令

usr/bin/mysqladmin -u root password 'new-password'

格式:mysqladmin -u用户名 -p旧密码 password 新密码

 

2、例子

例1:给root加个密码123456。

键入以下命令 :

[root@test1 local]# /usr/bin/mysqladmin -u root password 123456

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

 

3、测试是否修改成功

1)不用密码登录

[root@test1 local]# mysql

ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)

显示错误,说明密码已经修改。

2)用修改后的密码登录

[root@test1 local]# mysql -u root -p

Enter password: (输入修改后的密码123456)

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4 to server version: 4.0.16-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

成功!

这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。

 

4、获取mysql安装路径

例如:

mysql> show variables like '%basedir%';

+---------------+-------------------------------------------------------+

| Variable_name  | Value                                                  |

+---------------+-------------------------------------------------------+

| basedir         | /data/mysql-herosg/mysql-5.0.67-linux-x86_64-glibc23/      |

+---------------+-------------------------------------------------------+

六、启动与停止

 

1、启动

MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。

[root@test1 init.d]# /etc/init.d/mysql start

 

2、停止

/usr/bin/mysqladmin -u root -p shutdown

 

3、自动启动

1)察看mysql是否在自动启动列表中

[root@test1 local]# /sbin/chkconfig –list

2)把MySQL添加到你系统的启动服务组里面去

[root@test1 local]# /sbin/chkconfig – add mysql

3)把MySQL从启动服务组里面删除。

[root@test1 local]# /sbin/chkconfig – del mysql

七、更改MySQL目录

 

MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:

 

1、home目录下建立data目录

cd /home

mkdir data

 

2、把MySQL服务进程停掉:

mysqladmin -u root -p shutdown

 

3、把/var/lib/mysql整个目录移到/home/data

mv /var/lib/mysql /home/data/

这样就把MySQL的数据文件移动到了/home/data/mysql下

 

4、找到my.cnf配置文件

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

 

5、编辑MySQL的配置文件/etc/my.cnf

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:

vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之)

# The MySQL server

[mysqld]

port   = 3306

#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)

socket  = /home/data/mysql/mysql.sock   (加上此行)

 

6、修改MySQL启动脚本/etc/rc.d/init.d/mysql

最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

[root@test1 etc]# vi /etc/rc.d/init.d/mysql

#datadir=/var/lib/mysql    (注释此行)

datadir=/home/data/mysql   (加上此行)

 

7、重新启动MySQL服务

/etc/rc.d/init.d/mysql start

或用reboot命令重启Linux

如果工作正常移动就成功了,否则对照前面的7步再检查一下。

 

八、MySQL的常用操作

 

注意:MySQL中每个命令后都要以分号;结尾。

 

1、显示数据库

mysql> show databases;

+----------+

| Database |

+----------+

| mysql  |

| test   |

+----------+

2 rows in set (0.04 sec)

Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。

 

2、显示数据库中的表

mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro )

Database changed

 

mysql> show tables;

+-----------------+

| Tables_in_mysql |

+-----------------+

| columns_priv  |

| db       |

| func      |

| host      |

| tables_priv   |

| user      |

+-----------------+

6 rows in set (0.01 sec)

 

3、显示数据表的结构:

describe 表名;

 

4、显示表中的记录:

select * from 表名;

例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。

Select * from user;

 

5、建库:

create database 库名;

例如:创建一个名字位aaa的库

mysql> create databases aaa;

6、建表:

use 库名;

create table 表名 (字段设定列表);

例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段

use aaa;

mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);

可以用describe命令察看刚建立的表结构。

mysql> describe name;

 

+-------+---------+------+-----+---------+----------------+

| Field | Type  | Null | Key | Default | Extra     |

+-------+---------+------+-----+---------+----------------+

| id  | int(3) |   | PRI | NULL  | auto_increment |

| xm  | char(8) | YES |   | NULL  |        |

| xb  | char(2) | YES |   | NULL  |        |

| csny | date  | YES |   | NULL  |        |

+-------+---------+------+-----+---------+----------------+

 

7、增加记录

例如:增加几条相关纪录。

mysql> insert into name values('','张三','男','1971-10-01');

mysql> insert into name values('','白云','女','1972-05-20');

可用select命令来验证结果。

mysql> select * from name;

+----+------+------+------------+

| id | xm  | xb  | csny    |

+----+------+------+------------+

| 1 | 张三 | 男  | 1971-10-01 |

| 2 | 白云 | 女  | 1972-05-20 |

+----+------+------+------------+

 

8、修改纪录

例如:将张三的出生年月改为1971-01-10

mysql> update name set csny='1971-01-10' where xm='张三';

 

9、删除纪录

例如:删除张三的纪录。

mysql> delete from name where xm='张三';

 

10、删库和删表

drop database 库名;

drop table 表名;

 

九、增加MySQL用户

 

格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:

 

mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";

例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。

 

例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。

 

mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";

 

用新增的用户如果登录不了MySQL,在登录时用如下命令:

 

mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)

 

十、备份与恢复

 

1、备份

 

例如:将上例创建的aaa库备份到文件back_aaa中

 

[root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容)

[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

 

2、恢复

 

[root@test mysql]# mysql -u root -p ccc < back_aaa

 

mysqldump用法几例

 

================================

几个常用用例:

1.导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名   

mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

2.导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

3.导出一个数据库结构

    mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql

-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

4.带语言参数导出

   mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt databse > d4.sql

5.导入数据库

    常用source 命令

    进入mysql数据库控制台,

    如mysql -u root -p

 

    mysql>use 数据库

    然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

mysql>source d:\wcnc_db.sql

 

6.备份详解

定期的备份可使我们数据库崩溃造成的损失大大降低。在MySQL中进行数据备份的方法有两种,一种是使用mysqldump程序,一种是使用mysqlhotcopy、cp、tar或cpio等打包程序直接拷贝数据库文件。mysqldump程序备份数据库较慢,但它生成的文本文件便于移植。使用mysqlhotcopy等程序备份速度快,因为它直接对系统文件进行操作,需人为协调数据库数据的备份前后一致性。

 

使用mysqldump备份数据库其实就是把数据库转储成一系列CREATE TABLE和INSERT语句,通过这些语句我们就可重新生成数据库。使用mysqldump的方法如下:

 

% mysqldump --opt testdb | gzip > /data/backup/testdb.bak

#--opt选项会对转储过程进行优化,生成的备份文件会小一点,后的管道操作会进行数据压缩

% mysqldump --opt testdb mytable1,mytable2 | gzip > /data/backup/testdb_mytable.bak

#可在数据库后接数据表名,只导出指定的数据表,多个数据表可用逗号分隔

 

 

--opt选项还可激活--add-drop-table选项,它将会在备份文件的每条CREATE TABLE前加上一条DROP TABLE IF EXISTS语句。这可方便进行数据表的更新,而不会发生“数据表已存在”的错误。

 

用mysqldump命令还可直接把数据库转移到另外一台服务器上,不用生成备份文件。重复执行可定期更新远程数据库。

 

% mysqladmin -h remote_host create testdb

% mysqldump --opt testdb | mysql -h remote_host testdb

另外还可通过ssh远程调用服务器上的程序,如:

% ssh remote_host mysqladmin create testdb

% mysqldump --opt testdb | ssh remote_host mysql testdb

 

通过直接拷贝系统文件的方式备份数据库,在备份时,要确保没有人对数据库进行修改操作。要做到这点,最好关闭服务器。如果不能关闭的,要以只读方试锁定有关数据表。下面是一些示例:

 

% cp -r db /backup/db                   #备份db数据库到/backup/db目录

% cp table_name.* /backup/db            #只备份table_name数据表

% scp -r db remotehot:/usr/local/mysql/data        #用scp把数据库直接拷贝到远程服务器

 

 

在把数据库直接拷贝到远程主机时,应注意两台机器必须有同样的硬件结构,或者将拷贝的数据表全部是可移植数据表类型。

 

使用mysqlhotcopy工具,它是一个Perl DBI脚本,可在不关闭服务器的情况下备份数据库,它主要的优点是:

 

它直接拷贝文件,所以它比mysqldump快。

可自动完成数据锁定工作,备份时不用关闭服务器。

能刷新日志,使备份文件和日志文件的检查点能保持同步。

 

下面是该工具的使用示例:

 

% mysqlhotcopy db    /bakcup/                   #把db数据库备份到backup/db目录里,会自动创建一个db目录

 

使用BACKUP TABLE语句进行备份,该语句最早出现在MySQL 3.23.25版本中,仅适用于MyISAM数据表。用法如下:

 

mysql> BACKUP TABLE mytable TO '/backup/db';           #把mytable数据表备份到/backup/db目录下

 

为了执行该语句,你必须拥有那些表的FILE权限和SELECT权限,备份目录还必须是服务器可写的。该语句执行时,会先把内存中的数据写入磁盘,再把各个数据表的.frm(表结构定义文件)、.MYD(数据)文件从数据目录拷贝到备份目录。它不拷贝.MYI(索引)文件,因为它能用另外两个文件重建。BACKUP TABLE语句备份时,依次锁定数据表,当同时备份多个数据表时,数据表可能会被修改,所以备份0完成时,备份文件中的数据和现时数据表中的数据可能会有差异,为了消除该差异,我们可用只读方式锁定数据表,在备份完成后再解锁。如:

 

mysql> LOCK TABLES tb1 READ,tb2 READ;

mysql> BACKUP TABLE tb1,tb2 TO 'backup/db';

mysql> UNLOCK TABLES;

 

使用BACKUP TABLE语句备份的数据表可用RESTORE TABLE重新加载到服务器。

 

InnoDB和BDB数据库也可用mysqldump和直接拷贝法进行备份。使用直接拷贝法时应注意需把组成InnoDB和BDB数据库的所有文件都拷贝下来,如InnoDB的.frm文件、日志文件和表空间配置文件;BDB的数据文件、日志文件等。

 

使用镜像机制进行备份,我们可用SLAVE STOP语句挂起从服务器的镜像,在从服务器上通过直接拷贝法或其它工具制作备份。备份完成,用SLAVE START重新启动镜像,从服务器重新与主服务器同步,接收备份时主服务器所做的修改。

 

在MySQL中没有为数据库重命名的命令,但我们可用mysqldump转储数据库,再创建一个新的空数据库,把转储文件加载到该新数据库,这样就完成数据库重命名的工作。如:

 

% mysqldump old_db >db.sql            #转储db数据库数据

% mysqladmin create new_db            #新建一个空的数据库

% mysql new_db < db.sql               #把db数据库的数据加载到新的数据库中

% mysqladmin drop old_db              #删除旧的数据库

 

一个更简单的重命名数据库的方法是直接修改数据库目录名,但该方法不适用于InnoDB和BDB数据库。注意,在更名后,需在权限表中更新相关数据表信息,需执行以下语句:

 

mysql> UPDATE db SET db='new_db' WHERE db='old_db';

mysql> UPDATE tables_priv SET db='new_db' WHERE db='old_db';

mysql> UPDATE columns_priv SET db='new_db' WHERE db='old_db';

mysql> UPDATE host SET db='new_db' WHERE db='old_db';

 

7..备份说明

一个比较详细的关于mysql 备份还原的教程

 

还原一个数据库:mysql -h localhost -u root -p123456 www

备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:\www2008-2-26.sql

//以下是在程序中进行测试

//$command = “mysqldump –opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile”;

$command=”mysqldump -h localhost -u root -p123456 guestbook > guestbook2-29.sql”;

system($command);

echo “success”;

 

************************************************

备份MySQL数据库的命令

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备份MySQL数据库为带删除表的格式

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

 

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份

 

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备份MySQL数据库某个(些)表

 

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备份多个MySQL数据库

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备份数据库结构

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备份服务器上所有数据库

mysqldump –all-databases > allbackupfile.sql

还原MySQL数据库的命令

 

mysql -hhostname -uusername -ppassword databasename < backupfile.sql

还原压缩的MySQL数据库

 

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

将数据库转移到新服务器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

 

几个常用用例:

1.导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u root -p dataname >dataname.sql

这个时候会提示要你输入root用户名的密码,输入密码后dataname数据库就成功备份在mysql/bin/目录中.

 

2.导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u root -p dataname users> dataname_users.sql

 

3.导出一个数据库结构

mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql

-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

 

4.导入数据库

常用source 命令

进入mysql数据库控制台,

如mysql -u root -p

 

mysql>use 数据库

 

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

mysql>source d:\wcnc_db.sql

 

mysqldump支持下列选项:

–add-locks

在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。

 

–add-drop-table

在每个create语句之前增加一个drop table。

 

–allow-keywords

允许创建是关键词的列名字。这由表名前缀于每个列名做到。

 

-c, –complete-insert

使用完整的insert语句(用列名字)。

 

-C, –compress

如果客户和服务器均支持压缩,压缩两者间所有的信息。

 

–delayed

用INSERT DELAYED命令插入行。

 

-e, –extended-insert

使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)

 

-#, –debug[=option_string]

跟踪程序的使用(为了调试)。

 

–help

显示一条帮助消息并且退出。

 

–fields-terminated-by=…

 

–fields-enclosed-by=…

 

–fields-optionally-enclosed-by=…

 

–fields-escaped-by=…

 

–fields-terminated-by=…

 

这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义。

LOAD DATA INFILE语法。

 

-F, –flush-logs

在开始导出前,洗掉在MySQL服务器中的日志文件。

 

-f, –force,

即使我们在一个表导出期间得到一个SQL错误,继续。

 

-h, –host=..

从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。

 

-l, –lock-tables.

为开始导出锁定所有表。

 

-t, –no-create-info

不写入表创建信息(CREATE TABLE语句)

 

-d, –no-data

不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!

 

–opt

同–quick –add-drop-table –add-locks –extended-insert –lock-tables。

应该给你为读入一个MySQL服务器的尽可能最快的导出。

 

-pyour_pass, –password[=your_pass]

与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。

 

-P port_num, –port=port_num

与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)

 

-q, –quick

不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。

 

-S /path/to/socket, –socket=/path/to/socket

与localhost连接时(它是缺省主机)使用的套接字文件。

 

-T, –tab=path-to-some-directory

对于每个给定的表,创建一个table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据–fields-xxx和 –lines–xxx选项来定。

 

-u user_name, –user=user_name

与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。

 

-O var=option, –set-variable var=option

设置一个变量的值。可能的变量被列在下面。

 

-v, –verbose

冗长模式。打印出程序所做的更多的信息。

 

-V, –version

打印版本信息并且退出。

 

-w, –where=’where-condition’

只导出被选择了的记录;注意引号是强制的!

“–where=user=’jimf’” “-wuserid>1″ “-wuserid<1″

 

最常见的mysqldump使用可能制作整个数据库的一个备份:

mysqldump –opt database > backup-file.sql

 

但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的:

mysqldump –opt database | mysql –host=remote-host -C database

由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:

shell> mysqladmin create target_db_name

shell> mysql target_db_name < backup-file.sql

就是 shell> mysql 库名 < 文件名

 

 

 

posted @ 2014-06-26 12:01  kin2321  阅读(1684)  评论(0编辑  收藏  举报