mysql 远程主机强迫关闭了一个现有的连接_MySQL的explain优化(3)
分析表中锁信息
1)查看那些表加了锁
show open tables
1代表表加了锁
2)分析表锁的严重程度
show status like 'table%'
a. Table_locks_immediate,获取到的锁数量
b. Table_locks_waited,需要等待的锁数量(值越大,锁竞争越大)
建议,Table_locks_immediate / Table_locks_waited > 5000,使用InnoDB引擎
2. 行锁(InnoDB)
1)commit
mysql默认自动commit提交数据,oracle默认不会自动commit提交数据
2)关闭commit
第一种方式:set commit = 0;
第二种方式:start transaction;
第三种方式:begin;
a. 在MySQL数据库上操作,关闭了自动commit,在会话1中对A表中第二条数据增删改后,
没有进行commit/rollback时,在会话2中不能对A表中的第二条数据进行增删改操作。
只有会话1中对A表进行commit/rollback操作后,会话2才可以对A表第二条数据进行操作。
b. 在会话1中对B表第二条数据增删改操作,在会话2中对
B表第三条数据进行增删改操作,这两个操作互不影响。
3)行锁注意事项
a. 如果没有索引,行锁转为表锁
b. 行锁通过事务解锁;表锁通过unlock tables解锁,还可以通过事务解锁
4)InnoDB默认采用行锁
5)行锁分析
show status like '%innodb_row_lock%'
a. 通过 for update 对查询语句进行加锁,先关闭MySQL的commit
举例
会话0中使用以下语句查询
select * from table_name where id=2 for update
会话1中使用以下语句就不能修改数据
update table_name set name=lisi where id =2
二、MySQL主从复制
windows系统主机,linux系统从机
1)windows系统修改mysql的 my.ini文件
2)linux系统修改mysql的 my.cnf文件
3)windows关闭防火前
4)linux系统关闭防火墙
service iptables stop
5)设置mysql 允许远程连接(windows/linux)
grant all privileges on *.* to 'rootzhanghao'@'%' identified by
'rootmima' with grant option;
flush privileges;
6) windows主计算机授权的从计算机(从数据库)是哪个
grant replication slave,reload,super on *.* 'rootzhanghao'@'192.168.1.100%'
identified by 'rootmima';
flush privileges;
7)修改windows下的my.ini
#设置主机ID
server-id=1
#设置二进制文件的位置
log-bin="D:/mysql/data/erjinzhi"
#设置错误文件的位置
log-error="D:/mysql/data/error"
#忽略不用的数据库
binlog-ignore-db=mysqltest
#主从同步需要用到的数据库
binlog-do-db=testdatabase
8)看主数据库的信息
show master status
主从同步前看下主机信息position(二进制位置)
2. 以下操作是从机,linux系统
1)添加my.cnf相关信息
#设置从机ID
server-id=2
#设置二进制文件的位置
log-bin=congjifile
#主从同步需要用到的数据库
replicate-do-db=testdatabase
2)从机选择指定的主机是谁。my.cnf
change master to
master_host='192.168.1.99',
master_user='root',
master_password='mima'
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos=575;
解决:stop slave
3) 开启主从同步
start slave
4)检验从机状态
show slave status g
slave_io_running:yes
slave_sql_running:yes
5)看主从的ID
主机:show variables like '%server_id%'
从机:show variables like 'server_id'
修改相关ID即可:
stop slave
set global server_id=2
start slave
show slave status g
6)测试主从是否如何
在主机的数据库testdatabase下建一个表并插入数据,看看从机的数据库是否有一样的信息
三、拓展
mysql 远程主机强迫关闭了一个现有的连接_MySQL的explain优化(3)相关推荐
- mysql远程主机强迫关闭了一个现有连接_asp.net连接mysql出现了远程主机强迫关闭了一个现有的连接。!!!...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [SocketException (0x2746): 远程主机强迫关闭了一个现有的连接.] System.Net.Sockets.Socket.Recei ...
- .net+mysql关闭连接_asp.net连接mysql出现了远程主机强迫关闭了一个现有的连接。!!!...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [SocketException (0x2746): 远程主机强迫关闭了一个现有的连接.] System.Net.Sockets.Socket.Recei ...
- mysql远程主机强迫关闭了_HAProxy出现远程主机强迫关闭了一个现有的连接 的错误及解决...
使用haproxy作为sql server 的负载均衡器. 使用了文档中的示例配置项: timeout client 50s timeout server 50s 采用这个配置项,有时会出现" ...
- sonarqube 启动不了,异常提示:远程主机强迫关闭了一个现有的连接
启动sonarqube 6.7.1 报下面的错误: 2018.01.24 10:10:56 WARN app[][o.e.t.n.Netty4Transport] exception caught o ...
- python 网络编程 socket 报错 ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
服务端: # -*- coding: utf-8 -*- """ @File : 191226_基于UDP协议的socket_server端.py @Time : 201 ...
- Adb connection Error:远程主机强迫关闭了一个现有的连接
[2013-07-19 09:32:07 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接. [2013-07-19 09:32:08 - ...
- python post 远程主机强迫关闭了一个现有的连接_ConnectionResetError:[WinError10054远程主机强迫关闭一个现有连接...
最近在使用Airtest这套框架尝试web自动化界面测试的时候,在脚本之前都可正常运行的情况下,偶有的时候遇到连接错误,报错:Connection abourted. ConnectionResetE ...
- C#中UDP通信过程中出现:远程主机强迫关闭了一个现有的连接0x80004005】的解决方法
在UDP通信过程中, 使用try...catch语句接受数据时,总是会出现一个错误: System.Net.Sockets.SocketException (0x80004005): 远程主机强迫关闭 ...
- 【转】解决WCF大数据量传输 ,System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接...
开发中所用的数据需要通过WCF进行数据传输,结果就遇到了WCF大量传输问题 也就是提示System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接 网上解决 ...
最新文章
- RegularExpressions(4) RegularExpressions 成员(一)
- 超全的数据库建表/SQL/索引规范,适合贴在工位上!
- .Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译
- 《Redis官方文档》 FAQ
- 大数据培训:Zookeeper集群管理与选举
- 美国国会针对中国的网络间谍行动展开辩论
- 三七互娱李逸飞:未来将关注元宇宙等新业态 创新构建核心优势
- python学习课后练习题_python初步学习-练习题
- LoadRunner压力测试:详细操作流程
- 日常开支记账,自动统计用它就够了
- 学妹面试拼刀刀被问Java策略模式是什么鬼?哈哈哈哈
- STM32学习----ADC(数模转换)
- 【Python百日进阶-Web开发-Feffery】Day429 - fac实例:dash多页面相互点击状态保存
- (转载)基于LBS地图的开发,满足地图上有头像的需求
- python基础学习与应用
- ubuntu WPS 提示“系统缺失字体symbol、wingdings、wingdings 2、wingdings 3、webding”的解决方法
- 会计学原理学习笔记——第三章——账户与复式记账(3.6生产准备业务核算——制造费用与完工产品成本计算与核算)
- WinRAR如何保护压缩包的文件不被修改
- 一个CSDN程序员苦逼的一天又一天——part2
- VBA 更新自定义安装的加载宏文件版本
热门文章
- C#LeetCode刷题之#278-第一个错误的版本(First Bad Version)
- fiddler基础入门
- canvas文本居中对齐_如何使用文本对齐来居中图像:居中
- azure 使用_如何使用JavaScript在Azure上开始使用SignalR
- crf模型 java_定制你自己的CRF模型
- 进度计划软件哪个好用_斑马进度计划软件学习视频-资源管理
- 踩内存是什么意思啊_abs防抱死制动系统是什么意思?
- odac安装_ODAC安装及环境变量配置
- Python帮你把B站上喜欢的视频下载下来
- 互斥锁(python 版)