词条信息

admin
admin
超级管理员
词条创建者 发短消息   

相关词条

热门词条

更多>>
什么是端口?到底是做什么的呢?
端口一般指两种,一种是硬件比如路由器或者交换机的插网线的端口,一种是软件的逻辑的概念,比如http的80端口!...
7种进阶方法让你快速测试端口连通性
Ping是Windows、Linux和Unix系统下的一个检查网络连通性的命令工具,对于大部分互联网用户来说很...
电脑开机,总需要按F1,是什么原因造成的?
一.主板掉电这个说法是行业内的叫法了,一般是主板的CMOS电池没电了导致的。也是最常见的一种提示你按F1的提示...
社保降费对个人有什么影响?
下调城镇职工基本养老保险单位缴费比例是政府给企业发的一个大红包,特别是对于企业来说是一个利好,但是对个人来说有...
车辆“出险”对下年保费的影响,到底有多大?
【出险对交强险的影响】【出险对商业险的影响】车辆“出险”对下年保费的影响,到底有多大?这里有必要先提下车险第三...

精选图集

更多>>
简易百科旧版 >>所属分类 >> MySQL   

mysql数据库的热备份

标签: mysql

顶[0] 发表评论(0) 编辑词条

  mysql数据库的热备份


  一、系统环境描述:


  1、两台数据库服务器,A和B;


  2、当前A正在使用,将作为主服务器,B为准备用来做备用数据库服务器;


  3、要进行热备份的数据库中含有类型为MyISAM和InnoDB的数据表;


  二、操作过程说明:


  1、首先要保证A、B的初始数据是完全同步的。因此,需要将A中的数据完整的复制到B中;


  由于多个服务器都在连接A,并实时的修改A中的数据,所以需要断开所有的会修改数据库数据的程序,或者采取锁表的方法(但这种操作可能会影响其他服务的正常运行)。然后使用mysqldump程序将A中的数据备份为脚本文件。


  方法:打开命令行窗口,输入mysqldump -uusername -ppassword --opt databasename > sqlstoragepath,其中,username为mysql的用户名,password为mysql的密码,databasename为要进行热备份的数据库的名称,sqlstoragepath为备份脚本的存放位置(c:\backup.sql)。


  2、在A中添加备份使用的授权账户;


  方法:通过命令行的方式登录到mysql,登录成功后,会出现“mysql>”的符号。输入:grant replication slave on *.* to 'username'@'slavedbIP' identified by 'password';(分号不能省略)。其中username和password为备份服务器在进行热备份时使用的用户名和密码;slaveIP为备份服务器的IP地址,标志该帐号只能在该IP地址上使用。


  3、停止A服务器的mysql服务;


  4、打开A服务器mysql安装目录下data目录,删除除文件夹之外的所有日志文件。然后打开databasename目录,删除其中的所有文件;


  5、打开A服务器mysql安装目录,修改my.ini文件,在[mysqld]段中加入以下配置信息,然后保存:


  #主服务器的服务器ID


  server-id=1


  #开启主服务器的二进制日志功能


  log-bin=binary_log


  #要忽略的数据库,即不需要进行热备份的数据库


  binlog-ignore-db=mysql,test


  #要进行热备份的数据库


  binlog-do-db=stv


  6、打开B服务器,并使用mysqladmin程序创建一个名为databasename的空数据库;


  方法:打开命令行窗口,输入mysqladmin create databasename


  7、停止B服务器的mysql服务;


  8、打开B服务器mysql安装目录下data目录,删除除文件夹之外的所有日志文件。然后打开databasename目录,删除其中的所有文件;


  9、打开B服务器mysql安装目录,修改my.ini文件,在[mysqld]段中加入以下配置信息,然后保存:


  #从服务器的服务器ID


  server-id=2


  #主服务器A的IP地址


  master-host=10.20.1.21


  #主服务器mysql使用的端口


  master-port=3306


  #备份帐号的用户名,即在步骤2中添加的授权帐号的用户名


  master-user=username


  #备份帐号的密码,即在步骤2中添加的授权帐号的密码


  master-password=slavedb


  #要进行热备份的数据库


  replicate-do-db=stv


  #当和主服务器断开连接时尝试连接的时间间隔


  master-connect-retry=60


  10、启动A服务器的mysql服务;


  11、启动B服务器的mysql服务;


  12、检查A服务器的状态;


  方法:mysql>showprocesslist;


  mysql>show master status;


  13、检查B服务器的状态;


  方法:mysql>show slave status\G;


  显示列表中必须存在: Slave_IO_Running: Yes


  Slave_SQL_Running: Yes


  14、打开A服务器,使用mysql命令,将之前备份出来的数据脚本重新导入数据库中;


  方法:打开命令行窗口,输入: mysql -uusername -ppassword databaseName < backup.sql


  15、导入数据成功后,检查B服务器是否同步导入数据;


  16、在A中进行数据的添加、修改、删除,检查B服务器是否有相应的变化;


  17、恢复其他服务;


  至此,MySQL数据库的热备份操作全部完成。


  说明,如果要备份的数据库中的表类型全部为MyISAM,则可以直接拷贝A服务器的data目录下要备份的数据库目录到B服务器的对应目录下。

 

 

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇mysql中文乱码解决办法
下一篇MySQL内嵌式yaSSL

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的百科词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>