mysql 远程写入 老是丢数据怎么办

mysql 远程写入 老是丢数据怎么办,第1张

具体的解决步骤如下,希望能帮助遇到同样问题的同学们:

找到并修改my.cnf文件。在不同的Linux系统下,my.cnf放在不同的位置。这里以Ubuntu Server做示例,其他系统请根据情况自行找到my.cnf的路径。一般只会存放在/etc/my.cnf或者/etc/mysql/my.cnf下。

首先用vim打开my.cnf:

vim /etc/mysql/my.cnf

看看是否有绑定本地回环地址的配置,如果有,注释掉下面这段文字:(在文字之前加上#号即可)

bind-address = 127.0.0.1

然后找到[mysqld]部分的参数,在配置后面建立一个新行,添加下面这个参数:

skip-name-resolve

保存文件并重启MySQL:

/etc/init.d/mysql restart

这样就会发现,问题已经解决了!远程连接不会丢失了。

补充 mysql连接不原因

1. 首先要排查网络问题和防火墙的问题

这个是必须的, 你要是连MySQL的服务器都连不上, 那还访问什么? 怎么检查呢? ping一下

ping 192.168.0.11 ping 的通的话, 再去检查一下 3306端口是不是被防火墙给挡掉了

ping 192.168.0.11:3306 或者干脆把防火墙关掉,service iptables stop (Redhat ) 或 ufw disable(ubuntu)

这一步没问题的话, 开始下一步:

2. 要排查有没有访问权限 说到访问权限, MySQL分配用户的时候会指定一个host, 比如我的 host 指定为 192.168.0.5 , 那么这个账号就只能 5 这一台机器访问, 其他的机器用这个账号访问会提示没有权限。 host 指定为 % 则表示允许所有的机器访问。

一般来说出于安全方面的考虑,遵循最小权限原则, 权限的问题就不多讲了, 不会的自己查手册。 确定了权限没问题的话进行下一步:

3. 要排查MySQL的配置

检查mysql的配置文件, Linux下MySQL的配置文件叫 my.cnf windows下的叫 my.ini,检查这个配置项: –bind-address=IP

SELECT * FROM table_name LIMIT [offset ,] rows

优化前:

原理:mysql会先查询出10000010(一千万零一十)条数据,然后丢弃前10000000(一千万)条数据,返回最后10(十)条数据,所以偏移量越大,性能就越差。

方法一、

使用 主键索引 进行关联查询

方法二、

每次记录当前页的 最后一条id ,作为下一页的查询条件

一、正常情况下没有人会翻到几千页,我们可以通过限制可以翻页的数量解决这个问题,如:百度、谷歌。

二、手机端可以使用下拉方式进行滚动翻页,每次记录当前页的最后一条id,作为下一页的查询条件。ES可以使用scroll API


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7214793.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存