mysql数据库数据还原
❶ 重装系统后如何还原Mysql数据的方法
没办法,只能重装系统了。环境装好后发现之前的数据库没有备份,于是直接把mysql/data下面的数据库直接拷贝到现在的mysql目录下面,打开navicat发现无法使用。在网上找到了一个不错的方法:1、先在运行中输入services.msc,找到MysQL的服务,将其停止;2、然后备份新安装的MY.INI和DATA这两个目录,直接将其原来mysql/data下的文件拷到新安装的mysql/data目录下即可;3、启动MysQL服务。该方法只在新安装的数据库与旧数据库版本相同的情况下实验成果。重新打开navicat,发现原来的数据库都可以使用了。是否有更好的方法?
❷ mysql数据库备份和还原
MySQL数据库备份与还原
备份和恢复数据
生成SQL脚本
在控制台使用mysqlmp命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。
mysqlmp –u用户名 –p密码 数据库名>生成的脚本文件路径
现在可以在C盘下找到mydb1.sql文件了!
注意,mysqlmp命令是在Windows控制台下执行,无需登录mysql!!!
执行SQL脚本
执行SQL脚本需要登录mysql,然后进入指定数据库,才可以执行SQL脚本!!!
执行SQL脚本不只是用来恢复数据库,也可以在平时编写SQL脚本,然后使用执行SQL 脚本来操作数据库!大家都知道,在黑屏下编写SQL语句时,就算发现了错误,可能也不能修改了。所以我建议大家使用脚本文件来编写SQL代码,然后执行之!
SOURCE C:\mydb1.sql
注意,在执行脚本时需要先行核查当前数据库中的表是否与脚本文件中的语句有冲突!例如在脚本文件中存在create table a的语句,而当前数据库中已经存在了a表,那么就会出错!
还可以通过下面的方式来执行脚本文件:
mysql -uroot -p123 mydb1<c:\mydb1.sql
mysql –u用户名 –p密码 数据库<要执行脚本文件路径
这种方式无需登录mysql!
❸ mysql 命令还原数据库
mysqlmp -hhostname -uusername -ppassword databasename > backupfile.sql备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqlmp -–add-drop-table -uusername -ppassword databasename > backupfile.sql直接将MySQL数据库压缩备份
mysqlmp -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz备份MySQL数据库某个(些)表
mysqlmp -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql同时备份多个MySQL数据库
mysqlmp -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql仅仅备份数据库结构
mysqlmp –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql备份服务器上所有数据库
mysqlmp –all-databases > allbackupfile.sql还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename将数据库转移到新服务器
mysqlmp -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
❹ 怎么恢复mysql数据库怎么恢复数据
简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行,就可回复原来的数据。
复杂情况下:
从另一台机上把MySQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和操作。经过如下几种情况的操作。
1. 在本地重装MySQL(安装目录D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql文件夹拷贝至D:\Program Files\MySQL\MySQL Server 5.0\。结果,失败:数据库连接错误。
2. 卸载后重装MySQL,将D:\Program Files\MySQL\MySQL Server 5.0\下的数据备份,只把mysql\data文件夹全部内容拷贝到D:\Program Files\MySQL\MySQL Server 5.0\data下。结果,失败:数据库连接错误。将备份的数据还完覆盖。结果,失败,还是连接不上数据库。
3. 卸载后重装MySQL,将mysql\data文件夹里的cf1,last文件夹(这两个是原来MySQL里的数据库)拷贝进D:\Program Files\MySQL\MySQL Server 5.0\data。连接成功,在Navicat for MySQL里看到数据库cf1和last,但是不能访问,因为数据全为零。明白了原来data里以数据库命名的文件存储的是数据库的表结构,不是元数据。下一步,把data文件夹里的ibdata1文件(3.4G大,明显存储了元数据)拷贝到D:\Program Files\MySQL\MySQL Server 5.0\data里,代替原来的ibdata1文件。重启电脑,打开Navicat for MySQL,连接成功,数据可以访问操作。
至此,操作终于成功。其实当初在那台机上把数据导出来,而不是现在直接把文件夹mysql复制过来会更容易恢复。但那台机已经重装了系统,也就是说MySQL失效了。
❺ 如何使用命令来备份和还原MySQL数据库
备份数据库
使用mysqlmp命令备份数据库
复制代码代码如下:
# 如果要将game数据库进行备份:
mysqlmp -u root -p game > game_backup.sql
# 如果希望备份所有的数据库:
mysqlmp -u root -p --all-databases > all_backup.sql
还原数据库
1、使用mysql命令还原数据库
将game_backup.sql 还原至 game 数据库:
复制代码代码如下:
mysql -u root -p game < game_backup.sql
2、使用source命令还原数据库
如果数据库过大,建议可以使用source命令
复制代码代码如下:
mysql> source game_backup.sql
❻ mysql删除被的数据库怎么还原
1 找个别的机百器安装个同版本的mysql或从已安装同版本的其他机器上(非同版本的度也可以试下):
拷贝 mysql/data/mysql 目录到你的mysql/data/ 下吧
2 试着启动mysql服务,如果能启动了,理论上应该丢失的只有用户、授权等一些知系统信息,不影响你的使用的数据;
如果不能启动,看错误日志,争取启动了。
3 赶紧把数据备份道一份出来,重内新把所有库(只是你后来创建的业务相关的库,不包括mysql库)都删了,重新导入一遍。理论上不这样也可以,但只是非容生产重要的环境下。
4 重新做用户授权。
以上步骤参考一下,试一下
❼ 怎么备份和还原mysql数据库
备份数据库
使用mysqlmp命令备份数据库
❽ MySQL的备份与还原,非常规备份,全量备份,增量备份
1:官方百万级别的测试数据库:
官方测试数据库github网址:https://github.com/datacharmer/test_db
下载到目录,解压即可,运行命令:
2:自己创建简单测试数据库:
快速随机生成测试语言的网站:https://generatedata.com/
选择sql和想生成的字段,点击生成Generate!生成即可。
在MySQL输入生成的语句即可。
3:测试备份还原时用到的命令
删库跑路测试(先备份好)
还原后查询库的表数据是否完整。
采用复制整个数据存放目录
1:查看数据库数据存放位置
有两种方法:
1):在数据库中用命令 show variables like 'datadir' 查看
2):在配置文件中查看,配置了 datadir 目录的可查看。没有配置的默认为 /var/lib/mysql/ 位置
Linux中查看配置文件
2:复制目录或者目录下某个数据库名
3:还原时直接复制文件夹到数据库目录即可
mysqlmp又可叫做全量备份。
参数 --databases 同 -B ,单独一个库,也可省略。
1、备份命令mysqlmp格式
格式:mysqlmp -h主机名 -P端口 -u用户名 -p密码 database 数据库名 > 文件名.sql
备份testDatabase数据库
2、备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
3、直接将MySQL数据库压缩备份
备份并压缩
4、备份MySQL数据库某个(些)表
备份testDatabase中的myTable表,不需要用参数 --databases 或者 -B
5、同时备份多个MySQL数据库
同时备份testDatabase和 employees两个库
6、备份服务器上所有数据库
参数 --all-databases 同 -A
7、还原MySQL数据库的命令
1) 不指定数据名还原,默认生成原数据库名称,还原所有数据库。
2) 指定数据名还原,还原指定单个数据库,需在数据库种预先创建一个testDatabase名称。
3) 还原压缩的MySQL数据库
4) 进入数据库用source导入
增量备份是针对于数据库的bin-log日志进行备份的,增量备份是在全量的基础上进行操作的。增量备份主要是靠mysql记录的bin-log日志。
1:查看是否开启bin-log日志
进入mysql输入命令可查看。
显示如下为开启状态,日志文件在/var/lib/mysql/以binlog.00001的格式保存。
如未开启,需要在配置文件种配置
2:查看目前使用的bin-log日志文件
进入mysql查看命令。
显示如下,目前使用的是binlog.000022文件,所有操作都记录在此文件。
查看当前testDatabase的表myTable数据如下,
3:刷新日志,使用新的日志文件(备份)
在命令端执行命令
日志文件从 binlog.000022 变为 binlog.000023
这时相当与已经备份成功,备份文件即为上次的binlog.000022日志文件。
4:删除数量,从日志还原数据
1) 删除ABC行
查询以及没有ABC行列。
2) 恢复数据ABC行
退出mysql,在命令端用mysqlbinlog命令恢复到binlog.000022日志状态。
进入数据库再次查看数据,ABC已经恢复。
增量备份完成。