现在使用的两台服务器已经安装了MySQL,全是rpm包装的,能正常使用。
为了避免不必要的麻烦,主从服务器MySQL版本尽量保持一致
环境:192.168.0.1 (Master)
192.168.0.2 (Slave)
MySQL Version:Ver 14.14 Distrib 5.1.48, for pc-linux-gnu (i686) using readline 5.1
server-id = 1 //数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值
log-bin=mysql-bin //启用二进制日志
binlog-do-db=data //需要同步的二进制数据库名
binlog-ignore-db=mysql //不同步的二进制数据库名这个同步后听说很麻烦,我没有同步
log-bin=/var/log/mysql/updatelog //设定生成的log文件名
log-slave-updates //把更新的记录写到二进制文件中
slave-skip-errors //跳过错误,继续执行复制
2、建立复制所要使用的用户
mysql>grant replication slave on *.* to identified by '********'
3、重启mysql
/usr/bin/mysqladmin -uroot shutdown
/usr/bin/mysql_safe &
4、现在备份Master上的数据
锁定后我直接tar.gz data这个库文件
mysql>FLUSH TABLES WITH READ LOCK
cd /var/lib/mysql
tar data.tar.gz data
接着直接执行了远程scp
scp ./data.tar.gz
5、登录Slave数据库服务器,修改my.cnf
server-id = 3 //2已经被用在另一个服务器上了,如果以后要再加Slave号接着往后数就OK了
数据库是支持多用户访问的,因此需要一种机制保证多个用户同时读取和修改数据时,数据不会被破坏或者失效。在MySQL中,使用锁来保证并发连接情况下的数据准确性。InnoDB中的锁定技术往往是基于索引实现的,如果SQL中没有利用到索引的话,往往会执行全表扫描,触发表锁。所以从效率上来说,我们应该建立合适的索引,减少锁的数据行提高并发。
从锁的粒度上来说,可以将锁分为表锁和行锁;我们主要讨论行锁的应用。
从行锁的角度上来说,InnoDB存储引擎实现了两种标准的行级锁,共享锁(读锁)和排他锁(写锁)。
共享锁:当一个事务获取了某行数据的共享锁后,其他事务依然可以对这行数据加共享锁,但是不能加排他锁。
排他锁:当一个事务获取了某行数据的排他锁后,其他事务不可以对这行数据加任何锁。
从锁的范围来说,行锁还可以分成record lock、gap lock、next-key lock。
record lock:索引的记录锁,是建立在索引记录上的,如果没有索引的情况,往往会触发表锁。
gap lock:加在索引记录间隙上的锁。
next-key lock:record lock+gap lock的组合,用来在RR级别解决幻读的问题;所以通常在insert时,会锁定相邻的键。
回答于 2 小时前
通过数据库网关连接罗克韦尔1756-L72的以太网端口标签方式采集数据,将数据存入MySQL数据库,以下描述具体的 *** 作步骤。PLC数据MQTT多主题发布/订阅西门子PLC数据采集到数据库
网关模块安装在设备侧,不用电脑软件,随设备上电启动自动运行,保证设备数据采集与设备运行同步,简单高效的完成了数据采集;已批量用于多种行业的智能工厂,大大提高MES等工业互联网项目的实施效率。IGT-DSER带有两种数据缓存功能:
1. 高频次采集数据缓存,打包后一次性上报到数据库;
2. 断网、服务器维护上报异常时,将数据缓存,待故障解除后重新上报到数据库
网关支持西门子、三菱、欧姆龙、施耐德等几乎所有的PLC品牌,通过以上参数软件自行切换即可;关于网关模块的详细介绍可查看CSDN的这篇文章,或者到这里下载PDF手册。以下是详细的 *** 作步骤:
首先用Navicat连接服务器数据库,建立一个数据表,名称为'abplcdata',数据表设计视图如下:
然后在PC上运行网关的参数设置软件,网线连接IGT-DSER网关的网口1,先配置网络参数(默认IP:192.168.1.244,确认PC的网口与网关默认IP同网段),通过‘工具’->‘搜索在线网关’,搜索到网关后,修改IP地址等参数,具体如下:
网口1.PLC设备末段IP设置为0表示有多台同系列同网段的PLC,每台PLC的IP地址在PLC数据地址表里面配置,后面有描述;设置完成后通过‘参数’->‘参数写入到网关’,下载参数,会有以下提示:
点‘是(Y)’即可,参数下载成功后将网关断电,网口1接入PLC的交换机网络,同时修改PC的网口参数为PLC同网段,重新搜索网关读取参数后,通过‘功能’->‘数据上报与下载’进入数据服务配置页面,选择SQL远程数据库,配置数据库地址、PLC标签的参数;
配置完成后要下载参数,通过‘工具’->‘重启网关’,重启后,网关即进入工作状态,通过读取参数可查看网关的实际数据,双击配置表对应的数据序号可查看数据值,如下图:
序号001是日期时间,取自网关的RTC时钟;002和003是PLC的控制器二维数组;004、005和006是控制器一维数组;007为程序变量,字符串类型;008是程序数组;009是控制器变量,BOOL类型;
设备/站号栏目的数值9,表示PLC的IP地址(192.168.0.9)末段(前三段与网关的网口1相同),如果需要增加另外的同系列同网段PLC,在这里设置对应的IP末段地址即可,不同的PLC对应不同的数据表,或者不同的记录行;
需要注意配置表‘数据地址’栏是PLC的数据标签,不能错误,否则读不到数据,所以最好是通过PLC的编程软件从PLC导出CSV文件,然后复制到配置表,如下图:
再打开Navicat查看数据库中的数据,如下图:
这样就完成了数据采集,没间隔5秒网关会自动上报一次数据,这个周期可以调整,也可以设置成触发模式,根据数据变化上报数据;
相关资源:利用PLC实现数据采集_plc数据采集并存入数据库,plc数据采集-专业...
————————————————
版权声明:本文为CSDN博主「肉褚」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42302872/article/details/113655413
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)