项目已经完成,后期就是维护之类的了.当然会包括数据库的维护. MySql有个功能Replication正好可以用于数据库同步备份,于是就准备这样弄了. 花了一点时间,终于弄出来了.记录备用: Linux数据库备份设置部分:(第一次设置) 1、数据库版本 两台服务器数据库版本
项目已经完成,后期就是维护之类的了.当然会包括数据库的维护.
MySql有个功能Replication正好可以用于数据库同步备份,于是就准备这样弄了.
花了一点时间,终于弄出来了.记录备用:
两台服务器数据库版本最好都保持一致,避免因版本问题带来的不可预知的错误。
数据库都安装好以后,在两台服务器都设置一个专门用于备份的帐号并授权(最好授予全部权限),两个帐号密码最还也设置为一样的。这里在主从数据库都添加了用于备份的帐户名,帐户名都为 backup,密码123123。
从主数据库把数据备份到备份数据库上,可以用navicat的Data Transfer,需要建立两个连接,分别在主、从数据库上,在备份数据库上建立新数据库,与需要备份的主数据库同名,注意编码规则什么的保持一致,然后, 从主数据连接这里选中主数据库,用数据功能把数据传输到备份数据库上,保持两个数据库的数据一致性。
也可以使用其他方法,保证备份前主从数据库的数据一致性就行。
修改主数据库配置文件,在Linux系统中,一般是在 /etc/my.cnf
在[mysqld]下面添加
server-id=1 #这个ID必须是唯一的,主数据库在前
log-bin=mysql-bin #记录日志
binlog-do-db=productInfo #记录日志的数据库名,就是要备份的数据库
修改完主数据库的配置后,保存,退出,重启主数据库服务。
然后在主数据库执行一句sql命令(数据库里有函数用来完成特定功能)
set globallog_bin_trust_function_creators=1;(MySql函数开启日志的方法,默认是不开启的,主从备份需要开启二进制log,而且mysql官方不建议这个写在配置文件里,所以用sql来执行)
在Linux系统中,一般是在 /etc/my.cnf
在[mysqld]下面添加
server-id=2 #从数据库ID
relay-log=mysqld-relay-bin #从数据库的日志文件
replicate-do-db=productInfo #需要备份的数据库名
修改完配置文件后,保存,退出,重启从数据库服务。
接下来的操作需要用sql命令来完成。
用MySql的root用户进入,执行sql命令:
stop slave;
CHANGE MASTER TO MASTER_HOST='192.168.1.200',MASTER_USER='backup', MASTER_PASSWORD='123123',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=98;
start slave;
退出mysql状态,在linux操作状态下去查看刚才的slave启动是否成功。
在目录 /usr/local/mysql/data 下的*.err,用cat命令查看这个错误日志文件,根据刚才启动slave的时间,在最后几行,看是否有错误提示。
因为MASTER_LOG_POS=98 这个属性表示的是从数据库开始备份的起始位置(从主数据库日志读取)一般不会第一次就很准确,需要查看错误提示后修改。
错误日志类似下面这样:(供参考)
080922 10:29:01 [Note] Slave SQL threadinitialized, starting replication in log 'mysql-bin.000778' at position2874108, relay log './relay-bin.003287' position: 2874245
080922 10:29:01 [Note] Slave I/O thread:connected to master 'replication@192.168.0.10:3306', replication started in log'mysql-bin.000778' at position 2874108
080922 10:29:01 [ERROR] Error reading packetfrom server: Client requested master to start replication from impossibleposition ( server_errno=1236)
080922 10:29:01 [ERROR] Got fatal error1236: 'Client requested master to start replication from impossible position'from master when reading data from binary log
我们上面的起始位置是98,如果不对,按照错误提示的修改(最好主数据库没有人操作,这样主数据库日志记录位置不会变动)
修改方法:
mysql用root用户进入,执行sql命令:
stop slave;
CHANGE MASTER TOMASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=从错误日志上提示的pos;
start slave;
这样的步骤可能需要重复不止一次。
当查看*.err,最后记录的日志提示都是note以及wrning没有error时,表示从数据库与主数据库同步成功。
在主数据库上做一些 insert update delete 这样的操作,然后检查从数据库数据是否发生改变。
当主数据库需要重启时,需要在重启后做如下操作。
主数据库数据用navicat的data transfer功能备份到从数据库。
查看最新的日志记录文件,第一次是mysql-bin.000001,第二次是mysql-bin.000002,以此类推。
查看目录 /usr/local/mysql/data 下面,主数据库ip地址 192.168.1.200
了解了最新的日志记录文件后,记下来(修改从数据库slave备份设置需要)。
然后在主数据库执行一句sql命令
set global log_bin_trust_function_creators=1;(MySql函数开启日志的方法,默认是不开启的,主从备份需要开启二进制log,而且mysql官方不建议这个写在配置文件里,所以用sql来执行)
mysql用root用户进入,执行sql命令:(假定主数据库最新的日志文件是mysql-bin.000005)
stop slave;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=98;
start slave;
然后参考初次设置从数据库slave的方法,查看 *.err,看是否启动同步成功,如果没有同步成功需要多重复几次,主要是根据错误日志的提示,修改MASTER_LOG_POS的值。
主从同步错误调整可参考http://www.linuxidc.com/Linux/2012-02/54729.htm
豆掰娱乐还为您提供以下相关内容希望对您有帮助:
手游架设 可以数据库设置
传奇手游(Linux服务器环境)数据库安装:选择MySQL 5.6版本,通过宝塔面板实现可视化管理。安全设置:修改root账户默认密码(示例为pwd123456),建议实际部署时使用强密码。数据初始化:导入服务端提供的SQL脚本,确保表结构与初始数据完整。连接优化:配置字符集为utf8mb4(支持完整Unicode字符)
linux服务器mysql数据库怎么配置
下载后放到Liunx服务器中,如图所示 安装MySQL Server的rpm包 rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_.rpm 安装过程如图所示 安装完成后会生成root用户的随机密码,请使用“cat /root/.mysql_secret”或类似命令进行查看。安装MySQL客户端 rpm -ivh MySQL-client-5.6.21-1.linux...
如何进行数据库备份和恢复 mysql
1.1 备份 开始菜单 | 运行 | cmd |利用“cd /Program Files/MySQL/MySQL Server 5.0/bin”命令进入bin文件夹 | 利用“mysqldump -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。1.2 还原 进入MySQL Comm...
微擎使用方法?
将下载的安装包解压后,将其内容上传到你的项目文件夹中。通过浏览器访问你的项目地址,开始安装过程。安装过程中,系统会引导你完成一系列步骤,包括数据库配置、管理员账号设置等。按照系统提示进行操作,直至安装完成。配置和使用:安装完成后,登录微擎后台管理系统。在后台管理系统中,你可以进行模块安装...
第二十二章:走进Linux世界——开源数据库Mysql — 数据库管理(命令...
重启mysql服务,无密码登录:使用systemctl restart mysqld命令重启mysql服务。使用mysql -uroot命令无密码登录mysql。修改root用户密码:登录后,执行UPDATE mysql.user SET authentication_string = PASSWORD('新密码') WHERE user = 'root' AND host = 'localhost';命令设置新密码(注意:在MySQL 5.7及...
怎么在linux上安装mysql
第三种方式是下载最新的mysql-5.6.27-linux-glibc2.5-i686.tar.gz,解压缩后,手动配置。主要包括配置:增加mysql用户和群组;拷贝my-default.inf文件为my.inf到/etc/下;安装并初始化/mysql-5.6.27/scripts/mysql_install_db --user=mysql --basedir=/... --datadir=/...;增加到服务...
mysql是什么数据库
1. 基础属性与架构MySQL采用关系型数据库模型,将数据分散存储于多个表中,通过表间关联提升查询效率与灵活性。其核心语言为标准SQL(结构化查询语言),支持复杂的数据操作与事务管理。作为开源软件,MySQL遵循GPL协议,提供社区版(免费)与商业版(付费)双授权模式,兼顾个人开发者与企业级需求。2. 性能...
linux下部署nacos
在Linux下部署Nacos的步骤如下:一、准备工作 下载Nacos:从GitHub下载Nacos项目,根据需求选择相应的版本文件,例如2.1.0版本。 安装JDK:确保服务器上已安装JDK,且版本符合Nacos要求。二、单机部署1. 解压项目:将下载的Nacos项目解压到服务器上。2. 准备数据库: 确保MySQL数据库版本为5.6.5及...
0基础教你部署大猿人中控系统最新版!
设置新建站点的运行目录为“/Public”,并将伪静态设置为“thinkphp”。导入源码文件压缩包内的SQL5.6.sql.gz文件至数据库。安装进程守护管理器:访问“软件商店”,搜索并安装“进程守护管理器3.0.3 stable”。在软件设置中添加6个守护进程,分别配置名称、命令和进程目录,确保所有进程都在网站的/...
织梦cms数据库链接不上怎么解决
验证数据库服务运行状态通过系统服务管理工具(如Windows任务管理器或Linux的systemctl status mysql命令)确认数据库服务(如MySQL)是否处于“运行中”状态。若服务未启动,需手动启动并设置开机自启;若缺乏权限,需联系服务器管理员或托管商协助处理。检查防火墙与端口访问权限服务器防火墙可能阻止外部访问数据...
Copyright © 2019- doubaijiu.com 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务