随着网站的运行MySQL数据库也越来越大,备份问题也日益凸显,使用phpmyadmin导出或导入时可能会因为超时文件过大等原因无法导入或导出。
下面说一下几个解决方法:
MySQL数据库导出
方法1:mysqldump命令
执行命令:
/usr/local/mysql/bin/mysqldump -u 用户名 -p 数据库名 > 文件名
如果数据库用户名有密码密码,执行后会提示输入密码。如果数据库用户名没有密码,就将命令中的“-p”参数删除。
示范:
比如我们要备份 MySQL 要用到 mysqldump 命令,对已经存在的名为 linux 的数据库,备份到的是 /root 目录下,备份的文件名是 linux.sql 。备份的位置和文件名,可以根据自己实际情况修改。
命令格式如下:
[root@linuxsir01 root]# mysqldump -u root -p linux > /root/linux.sql
Enter password:在这里输入数据库的密码
比如我想把 linux 的数据库备份到 /home/beinan,数据库的文件名为 linux001.sql,所以应该输入如下的命令。
[root@linuxsir01 root]#mysqldump -u root -p linux > /home/beinan/linux001.sql
Enter password:在这里输入数据库管理员root的数据库密码
或者命令中直接跟密码,此时-p后面不要有空格,需要紧跟密码(如果密码中有特殊字符,注意用单引号将密码引起来)
[root@linuxsir01 root]#mysqldump -u root -p'Laiqu%^&126' linux > /home/beinan/linux002.sql
注意:推荐使用MySQL root帐号进行操作,因为有些数据库可能设置了只能对应的用户进行操作。
MySQL数据库导入
方法1:mysql命令
执行命令:
/usr/local/mysql/bin/mysql -u 用户名 -p 数据库名 < 文件名
参数与mysqldump的使用一样。
注意:导入的数据库名需要已经存在。
直接导出所有数据库
这个是直接使用mysqldump命令导出MySQL所有数据库的命令,包括MySQL本身的一些库,例如用户等信息也一并导出。
优点:备份完整,用户名和密码也一并备份
缺点:导入之后可能会改动原有的数据库用户信息(覆盖/重复/修改密码)
#备份数据库
mysqldump -u用户名 -p密码 --lock-all-tables --all-databases > all.sql
#导入数据库
mysql -u用户名 -p密码 < all.sql
想要导出所有数据表,一般来说是需要root权限的,具体的信息可以在~/.my.cnf下找到。
这是评论测试
飞歌导航东方红烦得很
这是新的一条评论
未来一年,中国的移动支付市场会是什么样?