本文目录一览:
- mysql数据库没用备份如何恢复
- 如何MYSQL数据库的文件恢复原来数据库
- 如何导入mysql数据库? 我把以前mysql数据库文件直接拷贝出来了,然后重装了mysql,如何导入新的mysql中?
- mysql误导入了数据,把原来的数据覆盖掉了,这个有办法还原吗?
- mysql整个数据库被删除了怎么恢复
- 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,之后只好把整个日志的记录拿回来本地进行恢复。 之后自己也做了一个简单的测试,对数据进行恢复,具体如下:
- 新建一个表:
CREATE TABLE `lynn`.`sn_test` ( `name` VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `age` INT(3) NOT NULL ) ENGINE=MYISAM;
- 插入多条数据:
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');
- 查看数据并删除:
SELECT * FROM sn_test; -- +-------+-----+ -- | name | age | -- +-------+-----+ -- | lynn1 | 1 | -- | lynn2 | 2 | -- | lynn3 | 3 | -- | lynn4 | 4 | -- +-------+-----+ DELETE FROM sn_test; SELECT * FROM sn_test; -- Empty set
- 使用
mysqlbinlog
恢复数据:
查看mysqlbinlog mysql-bin.000006 > 1.sql
1.sql
里面数据插入的记录,把删除之前的数据进行恢复:
重新登录,查看数据,OK,已经成功恢复了。 对于数据库操作,应该注意如下问题:mysqlbinlog mysql-bin.000006 --start-position=2471 --stop-position=2876 | mysql -uroot -p123
- 要常备份(全备,增量备份),出了问题可以最快恢复数据;
- 操作数据库前,要把需要操作的数据库或者表dump出来;
- 需要把bin-log打开,就算没有做上面的两步,也可以通过日志恢复数据。
如何MYSQL数据库的文件恢复原来数据库
你好,直接把Mysql文件放回对应的数据库目录下,直接覆盖就好了。 希望你的问题能解决,望采纳。
如何导入mysql数据库? 我把以前mysql数据库文件直接拷贝出来了,然后重装了mysql,如何导入新的mysql中?
- 将数据库文件拷贝到相关目录:
对于FreeBSD:cd mydb/ cp * /var/lib/mysql/mydb/
cp * /var/db/mysql/mydb/
- 权限设置:
将拷贝过去的文件的属主改为
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整个数据库被删除了怎么恢复
- 找个别的机器安装个同版本的mysql,或从已安装同版本的其他机器上(非同版本的也可以试下):
拷贝
mysql/data/mysql
目录到你的mysql/data/
下吧。 - 试着启动mysql服务,如果能启动了,理论上应该丢失的只有用户、授权等一些系统信息,不影响你的使用的数据; 如果不能启动,看错误日志,争取启动了。
- 赶紧把数据备份一份出来,重新把所有库(只是你后来创建的业务相关的库,不包括mysql库)都删了,重新导入一遍。理论上不这样也可以,但只是非生产重要的环境下。
- 重新做用户授权。
sql2000重装后怎以把怎么把以前的数据库文件导入
- 导出整个数据库:
mysqldump -u 用户名 -p 数据库名 > 导出的文件名 # 示例: mysqldump -u dbuser -p dbname > dbname.sql
- 导出一个表:
mysqldump -u 用户名 -p 数据库名 表名 > 导出的文件名 # 示例: mysqldump -u dbuser -p dbname users > dbname_users.sql
- 导出一个数据库结构:
mysqldump -u dbuser -p -d --add-drop-table dbname > d:/dbname_db.sql
-d
:没有数据;--add-drop-table
:在每个create语句之前增加一个drop table。
- 导入数据库:
常用
source
命令: 进入mysql数据库控制台,如:
然后选择数据库:mysql -u root -p
然后使用USE 数据库;
source
命令,后面参数为脚本文件(如这里用到的.sql
):SOURCE d:/dbname.sql;