MySQL数据库的备份:导入/导出

1. 连接到本机上的MYSQL
    进入mysql安装目录下的bin目录下,例如: D:\mysql\bin,再键入命令mysql -uroot -p,回车后提示你输密码,

    如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符

    是:mysql>
2. 连接到远程主机上的MYSQL
    假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:
    mysql -h10.0.0.1 -uroot -p123
   (注:u与root可以不用加空格,其它也一样)
3. 退出MYSQL命令
     exit (回车) 
4. 修改密码:
    格式:mysqladmin -u用户名 -p旧密码 password 新密码
    (1) 给root加个密码123:

    mysqladmin -uroot -password 123
    (注:因为开始时root没有密码,所以-p旧密码一项就可以省略了)
    (2) 再将root的密码改为456
    mysqladmin -uroot -p123 password 456
5. 增加新用户:

     注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符。
     格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
     (1) 增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删

     除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
     grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
     但上述增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电

     脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。

     (2) 增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、

     修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2

     的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
     grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

     如果你不想test2有密码,可以再打一个命令将密码消掉。
     grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

6. 显示命令
     (1) 显示数据库列表:
     show databases;
    刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,

    实际上就是用这个库进行操作。
    (2) 显示库中的数据表:
    use mysql; //打开库
    show tables;

    (3) 显示数据表的结构:
    describe 表名;
    (4) 建库:
    create database 库名;
    (5) 建表:
    use 库名;
    create table 表名 (字段设定列表);

    (6) 删库和删表:
    drop database 库名;
    drop table 表名;

    (7) 将表中记录清空:
    delete from 表名;
    (8) 显示表中的记录:
    select * from 表名;

7. 导入/导出

    (1) 导出整个数据库
 mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    mysqldump -u root -p 123456 > 20120508.sql

    (2) 导出一个表

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

    mysqldump -u root -p dmwdp users> dmwdp_users.sql
    (3) 导出一个数据库结构
    mysqldump -u root -p -d --add-drop-table dmwdp >dmwdp.sql
    说明:-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
    (4) 导入数据库:

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

    导入方式2:mysql -uroot -D数据库名< 备份的数据库文件
    mysql-uroot -p -Dtest < dmwdp.sql;

    (5) 导出某个表的部分数据

    mysqldump命令中带有一个 --where/-w 参数,它用来设定数据导出的条件,使用方式和SQL查询命令中的

    where基本上相同,有了它,就可以从数据库中导出你需要的那部分数据了。

    命令格式如下:

    mysqldump -host -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径

    例子:

    从test数据库的test_data表中导出id大于100的数据到 /tmp/test.sql 这个文件中

    mysqldump -uroot -p123456 test test_data --where=" id > 100" > /tmp/test.sql

8. MySQL Maven Respository

    http://download.softagency.net/mysql/Downloads/

    http://mirrors.dotsrc.org/mysql/Downloads/MySQLGUITools/

猜你喜欢

转载自springsfeng.iteye.com/blog/1522764