Mysql数据库使用mysqldump命令进行备份与恢复的方法

最简单的当然是使用phpmyadmin的导入导出功能,但这种方式对于比较大的数据库不是太好用。

对于比较大的数据库,使用mysql的mysqldump命令方式比较好:

以数据库名为test,用户名为root为例。

备份:
mysqldump -uroot -p test>testbak.sql

mysqldump有很多参数,但很多参数都是默认的,平时情况下基本都不用加上参数。

恢复:

首先当然是建立数据库,一般使用phpmyadmin来建立。
为了数据库安全性考虑,一般不会使用root帐号来使用数据库。而是“添加新用户”,添加一个和新增数据库名一样的用户。
同时选中create dababase with same name and rgant all privileges()。
以后就可以使用这个用户名来连接和管理新增的数据库了。

还是以数据库名为test,用户名为root为例。

mysql -uroot -p test<testbak.sql

通过这种方式恢复数据库一般不会在复制的时候出错。

但如果不是通过phpmyadmin方式来创建数据库,比如直接在mysql数据库存放路径下新增一个文件夹。

可能会报如下类似错误,当然数据库里面表不一样,报错内容不会完全一样。

ERROR 1005 (HY000) at line 25: Can’t create table ‘test’ (errno: 13)

基本上出现这种问题,一般是运行mysql的用户(比如通过ubuntu软件仓库安装mysql则该用户就是mysql:mysql,其他发行版或者编译安装的可能会不一样)没有该文件夹的写入权限。

我们只需要去数据库存放路径 ls -al,按照其他数据库的用户权限设置即可。

比如使用ubuntu默认软件仓库安装的mysql,则运行以下命令即可。

sudo chown -R mysql:mysql test

sudo chmod -R 700 test

You May Also Like

About the Author: 曾迅

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据