分析表中锁信息

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)相关推荐

  1. mysql远程主机强迫关闭了一个现有连接_asp.net连接mysql出现了远程主机强迫关闭了一个现有的连接。!!!...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [SocketException (0x2746): 远程主机强迫关闭了一个现有的连接.] System.Net.Sockets.Socket.Recei ...

  2. .net+mysql关闭连接_asp.net连接mysql出现了远程主机强迫关闭了一个现有的连接。!!!...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [SocketException (0x2746): 远程主机强迫关闭了一个现有的连接.] System.Net.Sockets.Socket.Recei ...

  3. mysql远程主机强迫关闭了_HAProxy出现远程主机强迫关闭了一个现有的连接 的错误及解决...

    使用haproxy作为sql server 的负载均衡器. 使用了文档中的示例配置项: timeout client 50s timeout server 50s 采用这个配置项,有时会出现" ...

  4. sonarqube 启动不了,异常提示:远程主机强迫关闭了一个现有的连接

    启动sonarqube 6.7.1 报下面的错误: 2018.01.24 10:10:56 WARN app[][o.e.t.n.Netty4Transport] exception caught o ...

  5. python 网络编程 socket 报错 ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

    服务端: # -*- coding: utf-8 -*- """ @File : 191226_基于UDP协议的socket_server端.py @Time : 201 ...

  6. Adb connection Error:远程主机强迫关闭了一个现有的连接

    [2013-07-19 09:32:07 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接. [2013-07-19 09:32:08 -  ...

  7. python post 远程主机强迫关闭了一个现有的连接_ConnectionResetError:[WinError10054远程主机强迫关闭一个现有连接...

    最近在使用Airtest这套框架尝试web自动化界面测试的时候,在脚本之前都可正常运行的情况下,偶有的时候遇到连接错误,报错:Connection abourted. ConnectionResetE ...

  8. C#中UDP通信过程中出现:远程主机强迫关闭了一个现有的连接0x80004005】的解决方法

    在UDP通信过程中, 使用try...catch语句接受数据时,总是会出现一个错误: System.Net.Sockets.SocketException (0x80004005): 远程主机强迫关闭 ...

  9. 【转】解决WCF大数据量传输 ,System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接...

    开发中所用的数据需要通过WCF进行数据传输,结果就遇到了WCF大量传输问题 也就是提示System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接 网上解决 ...

最新文章

  1. RegularExpressions(4) RegularExpressions 成员(一)
  2. 超全的数据库建表/SQL/索引规范,适合贴在工位上!
  3. .Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译
  4. 《Redis官方文档》 FAQ
  5. 大数据培训:Zookeeper集群管理与选举
  6. 美国国会针对中国的网络间谍行动展开辩论
  7. 三七互娱李逸飞:未来将关注元宇宙等新业态 创新构建核心优势
  8. python学习课后练习题_python初步学习-练习题
  9. LoadRunner压力测试:详细操作流程
  10. 日常开支记账,自动统计用它就够了
  11. 学妹面试拼刀刀被问Java策略模式是什么鬼?哈哈哈哈
  12. STM32学习----ADC(数模转换)
  13. 【Python百日进阶-Web开发-Feffery】Day429 - fac实例:dash多页面相互点击状态保存
  14. (转载)基于LBS地图的开发,满足地图上有头像的需求
  15. python基础学习与应用
  16. ubuntu WPS 提示“系统缺失字体symbol、wingdings、wingdings 2、wingdings 3、webding”的解决方法
  17. 会计学原理学习笔记——第三章——账户与复式记账(3.6生产准备业务核算——制造费用与完工产品成本计算与核算)
  18. WinRAR如何保护压缩包的文件不被修改
  19. 一个CSDN程序员苦逼的一天又一天——part2
  20. VBA 更新自定义安装的加载宏文件版本

热门文章

  1. C#LeetCode刷题之#278-第一个错误的版本(First Bad Version)
  2. fiddler基础入门
  3. canvas文本居中对齐_如何使用文本对齐来居中图像:居中
  4. azure 使用_如何使用JavaScript在Azure上开始使用SignalR
  5. crf模型 java_定制你自己的CRF模型
  6. 进度计划软件哪个好用_斑马进度计划软件学习视频-资源管理
  7. 踩内存是什么意思啊_abs防抱死制动系统是什么意思?
  8. odac安装_ODAC安装及环境变量配置
  9. Python帮你把B站上喜欢的视频下载下来
  10. 互斥锁(python 版)