mysql数据库分数据库恢复重新导入之前,如何重新导入数据库

发布时间:2022-11-18

本文目录一览:

  1. mysql数据库没用备份如何恢复
  2. 如何MYSQL数据库的文件恢复原来数据库
  3. 如何导入mysql数据库? 我把以前mysql数据库文件直接拷贝出来了,然后重装了mysql,如何导入新的mysql中?
  4. mysql误导入了数据,把原来的数据覆盖掉了,这个有办法还原吗?
  5. mysql整个数据库被删除了怎么恢复
  6. sql2000重装后怎以把怎么把以前的数据库文件导入

mysql数据库没用备份如何恢复

打开mysql的bin log功能: 对于mysql也是支持增量备份,但要打开mysql的bin log功能。 我们修改mysql的配置文件。Linux是/etc/my.cnf,Windows是mysql的安装目录/my.ini。 我们在[mysqld]下面加上log-bin一行代码,如下:

[mysqld]
log-bin=mysql-bin

加完后重启mysql即可。 某客户更新数据的时候,误删了数据库的内容,因为数据库做了主从,但是没有做备份(备份很重要啊!)幸好开启了bin-log,之后只好把整个日志的记录拿回来本地进行恢复。 之后自己也做了一个简单的测试,对数据进行恢复,具体如下:

  1. 新建一个表:
    CREATE TABLE `lynn`.`sn_test` (
      `name` VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
      `age` INT(3) NOT NULL
    ) ENGINE=MYISAM;
    
  2. 插入多条数据:
    INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn1', '1');
    INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn2', '2');
    INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn3', '3');
    INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn4', '4');
    
  3. 查看数据并删除:
    SELECT * FROM sn_test;
    -- +-------+-----+
    -- | name  | age |
    -- +-------+-----+
    -- | lynn1 | 1   |
    -- | lynn2 | 2   |
    -- | lynn3 | 3   |
    -- | lynn4 | 4   |
    -- +-------+-----+
    DELETE FROM sn_test;
    SELECT * FROM sn_test; -- Empty set
    
  4. 使用mysqlbinlog恢复数据:
    mysqlbinlog mysql-bin.000006 > 1.sql
    
    查看1.sql里面数据插入的记录,把删除之前的数据进行恢复:
    mysqlbinlog mysql-bin.000006 --start-position=2471 --stop-position=2876 | mysql -uroot -p123
    
    重新登录,查看数据,OK,已经成功恢复了。 对于数据库操作,应该注意如下问题:
  5. 要常备份(全备,增量备份),出了问题可以最快恢复数据;
  6. 操作数据库前,要把需要操作的数据库或者表dump出来;
  7. 需要把bin-log打开,就算没有做上面的两步,也可以通过日志恢复数据。

如何MYSQL数据库的文件恢复原来数据库

你好,直接把Mysql文件放回对应的数据库目录下,直接覆盖就好了。 希望你的问题能解决,望采纳。

如何导入mysql数据库? 我把以前mysql数据库文件直接拷贝出来了,然后重装了mysql,如何导入新的mysql中?

  1. 将数据库文件拷贝到相关目录:
    cd mydb/
    cp * /var/lib/mysql/mydb/
    
    对于FreeBSD:
    cp * /var/db/mysql/mydb/
    
  2. 权限设置: 将拷贝过去的文件的属主改为mysql:mysql,权限改为660
    chown mysql:mysql /var/lib/mysql/mydb/*
    chmod 660 /var/lib/mysql/mydb/*
    

mysql误导入了数据,把原来的数据覆盖掉了,这个有办法还原吗?

有多种方法,请参考以下方法: 方法一:安装一个mysql的客户端,比如Navicat,建好连接,打开要导入的数据库,点击导入向导,选择要导入的数据,选择要导入的目标表,在最后的选项中选择“附加到已有数据”。 方法二:先使用mysq命令行导入新数据到一张新表,新表结构与之前表一样。然后执行以下插入语句: 假定新表名为new_tb,原表名为old_tb,则:

INSERT INTO old_tb SELECT * FROM new_tb;

mysql整个数据库被删除了怎么恢复

  1. 找个别的机器安装个同版本的mysql,或从已安装同版本的其他机器上(非同版本的也可以试下): 拷贝mysql/data/mysql目录到你的mysql/data/下吧。
  2. 试着启动mysql服务,如果能启动了,理论上应该丢失的只有用户、授权等一些系统信息,不影响你的使用的数据; 如果不能启动,看错误日志,争取启动了。
  3. 赶紧把数据备份一份出来,重新把所有库(只是你后来创建的业务相关的库,不包括mysql库)都删了,重新导入一遍。理论上不这样也可以,但只是非生产重要的环境下。
  4. 重新做用户授权。

sql2000重装后怎以把怎么把以前的数据库文件导入

  1. 导出整个数据库:
    mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    # 示例:
    mysqldump -u dbuser -p dbname > dbname.sql
    
  2. 导出一个表:
    mysqldump -u 用户名 -p 数据库名 表名 > 导出的文件名
    # 示例:
    mysqldump -u dbuser -p dbname users > dbname_users.sql
    
  3. 导出一个数据库结构:
    mysqldump -u dbuser -p -d --add-drop-table dbname > d:/dbname_db.sql
    
    • -d:没有数据;
    • --add-drop-table:在每个create语句之前增加一个drop table。
  4. 导入数据库: 常用source命令: 进入mysql数据库控制台,如:
    mysql -u root -p
    
    然后选择数据库:
    USE 数据库;
    
    然后使用source命令,后面参数为脚本文件(如这里用到的.sql):
    SOURCE d:/dbname.sql;