当前位置:主页 > 技术专题 > 数据库 >

    MYSQL数据库备份恢复

    2010-09-24 11:27 作者:admin 来源:admin 浏览次数:

    -
    数据库版本类型: MySQL 5.0.x 社区版本
    数据库重要命令:mysqldump ;mysql
    系统环境: Windows xp Sp2
    示例数据库: Demo (内部表可自己任意建立)
    数据库用户名: root (也可以是具有管理操作权限的用户名)
    数据库登录密码: dbuserkey
    测试环境中mysql已在环境变量中设置成功即 可在命令行中输入mysql启动mysql数据库引擎
    A,完全导出Demo所有数据和结构 (完全备份)
    在任目录中(比如 D:\mydb )建立批处理文件backup.bat,内容如下:
    mysqldump -uroot -pdbuserkey --add-locks --opt Demo>D:\mydb\Demo.sql;
    @pause
    B,完全导入Demo所有数据和结构 (完全恢复)
    在与backup.bat同目录中建立批处理文件restore.bat 内容如下:
    mysql -uroot -pdbuserkey demo<D:\mydb\Demo.sql;
    @pause
    C,测试
    开启mysql数据库引擎 net start mysql
    运行 A中批处理 会看到D:\mydb下生成Demo.sql
    然后执行 Drop Database Demo命令删除Demo数据库
    建立Demo数据库 Create Database Demo;
    运行 B 中比处理 即可恢复所有数据和结构
    D,常用命令
    登录或连接mysql数据库服务
    mysql -h主机地址 -u用户名 -p用户密码;
    推出mysql 数据库连接
    Exit
    停止本地mysql数据库服务
    Net stop mysql
    修改密码
    mysqladmin -u用户名 -p旧密码 passWord 新密码;
    显示数据库列表
    Show Database;
    使用数据库
    Use DatabaseName;
    显示当前选择数据库
    Select Database();
    打开表
    Show TableName;
    显示数据表的结构
    Describe TableName;
    当前数据库包含的表信息:
    Show Tables; (注意:最后有个s)
    建立数据库
    Create DataBase databaseName;
    建立表
    Use databaseName;
    Create Table tableName (字段设定列表);
    删库和删表
    Drop Database databaseName;
    Drop Table tableName;
    将表中记录清空
    Delete From tableName;
    表名字更改
    Rename Table tableA to tableB;
    SQL结构化查询语句命令见mysql doc 文档
    Mysql创建删除用户
    Grant select,insert,update,delete on *[(数据库)].* to 用户名@登录主机 identified by "密码"
    命令方式的.注意每行后边都跟个 ; 表示一个命令语句结束.
    格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
    ==以下来自网络==
    例1,增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询,插入,修改,删除的权限.首先用以root用户连入MYSQL,然后键入以下命令:
    grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
    例1增加的用户是十分危险的,你想如某个人知道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 "";
    这样就创建了一个名为:phplamp 密码为:1234 的用户.
    然后登录一下.
    mysql>exit;
    mysql -u phplamp -p
    输入密码
    mysql>登录成功
    2.为用户授权.
    //登录MYSQL(有ROOT权限).我里我以ROOT身份登录.
    mysql -u root -p
    密码
    //首先为用户创建一个数据库(phplampDB)
    mysql>create database phplampDB;
    //授权phplamp用户拥有phplamp数据库的所有权限.
    >grant all PRivileges on phplampDB.* to phplamp@localhost identified by '1234';
    //刷新系统权限表
    mysql>flush privileges;
    mysql>其它操作
    /*
    如果想指定部分权限给一用户,可以这样来写:
    mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
    //刷新系统权限表.
    mysql>flush privileges;
    */
    3.删除用户.
    mysql -u root -p
    密码
    mysql>Delete FROM user Where User="phplamp" and Host="localhost";
    mysql>flush privileges;
    //删除用户的数据库
    mysql>drop database phplampDB;
    4.修改指定用户密码.
    mysql -u root -p
    密码
    mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
    mysql>flush privileges;
    5.列出所有数据库
    mysql>show database;
    6.切换数据库
    mysql>use '数据库名';
    7.列出所有表
    mysql>show tables;
    8.显示数据表结构
    mysql>describe 表名;
    9.删除数据库和数据表
    mysql>drop database 数据库名;
    mysql>drop table 数据表名;
    10. 显示表的结构
    describe "tabaleName";
    cmd下连接mysql:
    mysql -uroot -p 回车 注意密码不要打在-p后面
    注:-参数符与值之间无空格

联系方式 | 收费标准 | 上门服务 | 公司简介 | 汇款账户

回天时代有限公司

杭州公司: 杭州市文三路388号钱江科技大厦10楼1016室

华东总部:上海市徐汇区漕溪北路41号汇嘉大厦12楼E室(太平洋一期12楼)

咨询热线:400-889-1122(全国),0512-66099871(苏州),021-58358765(上海),0571-88218821(杭州) 24小时热线:13524645444,案:浙ICP备06024533号