MySQL常见问题汇总

1、"Host is not allowed to connect to this MySQL server"
方法1:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问数据的权限

方法2:update user set host = '%' where user = 'root';

重启mysql 服务

2、mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `action` at row: 4064488
原因:dumping table 太大,链接超时

解决方案:可在启动mysql时设置比较大的timeout值

或使用root登录mysql

mysql> show global variables like '%timeout%';

set global net_read_timeout = 120;

set global net_write_timeout = 900;

3、查看线下机器mysql负载
mysqladmin -h127.0.0.1 -Pport -uuser -ppasswd extended-status -r -i 1|egrep -i "com_select|com_insert|com_update|com_delete|com_replace"

对于瞬时值
mysqladmin -h127.0.0.1 -Pport -uuser -ppasswd extended-status -i 1|egrep -i "threads_connected|threads_running"

其他方法查看mysql的负载高的原因:

general_log 打开之后写数据库日志需要打开IO,对数据库自身性能会有稍许的影响,不完全统计每次按pk查询会慢多少:0.0000022s。

编辑MYSQL配置文件my.cnf,加上以下几行:
log_slow_queries=/usr/local/mysql/data/log_slow_queries.log //慢语句日志保存目录
long_query_time=10 //记录SQL查询超过10S的语句
log-queries-not-using-indexes=1 //记录没有使用索引的sql

这样,慢语句就被记录在日志文件中了.
tail -f /usr/local/mysql/data/log_slow_queries.log 查看日志.
四个参数
Query_time: 0 Lock_time: 0 Rows_sent: 1 Rows_examined: 54
分别意思为:查询时间 锁定时间 查询结果行数 扫描行数
主要看那些扫描行数超多的语句.然后去数据库加上对应的索引

如果MySQL在本机连接速度很快,但远程连接速度慢则在/etc/my.cnf的[mysqld]中添加一项
skip-name-resolve
这样连接时MySQL就不会对连接来的IP或域名进行DNS解析,从而使用速度加快

或者

在mysql中执行语句:

show variables like '%slow%';
+---------------------------+-----------------------------------------------------------------+
| Variable_name | Value |
+---------------------------+-----------------------------------------------------------------+
| log_slow_admin_statements | OFF |
| log_slow_slave_statements | OFF |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /home/work/.jumbo/var/lib/mysql/nj01-build-en-s-bak088-slow.log |
+---------------------------+-----------------------------------------------------------------+

set slow_query_log=on;

set global slow_query_log_file='/home/work/mysql/log/nj01-build-en-s-bak088-slow.log';

4、MySQL锁
Mysql3中锁特性如下:

表级锁:开销小,加锁块;不会出现死锁,锁定粒度大,发生锁冲突的概率最高,并发度最低。

行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发性也最高。

页面锁:开销和加锁界于表锁和行锁之间,会出现死锁;锁定粒度界与表锁和行锁之间,并发一般。

5、MySQL引擎
参考资料:【整理】MySQL引擎 - 白草黒尖 - 博客园

MySQL存储引擎InnoDB与Myisam的六大区别 - Junn的个人页面 - OSCHINA - 中文开源技术交流社区

MyISAM

MYISAM 它不支持事务, 是表级锁,就是说读写都是相互阻塞的。

它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果执行大量的SELECT,MyISAM是更好的选择。

适用场景:

(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。

InnoDB

是行级锁。

InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,innoDB才使用行级锁,否则InnoDB将使用表锁,在实际开发中应当注意。

数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表,对于支持事物的InnoDB类型的表,影响速度的主要原因是AUTOCOMMIT默认设置是打开的,而且程序没有显式调用BEGIN开始事务,导致每插入一条都自动Commit,严重影响了速度。可以在执行SQL前调用BEGIN,多条SQL形成一个事物(即使AUTOCOMMIT打开也可以),将大大提高性能。

适用场景:

(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。

InnoDB表比MyISAM表更安全。

在两者选择时需考虑以下问题:

你的数据库有外键吗?

你需要事务支持吗?

你需要全文索引吗?

你经常使用什么样的查询模式?

你的数据有多大?

思考上面这些问题可以更快的找到合适的方向,但那并不是绝对的。如果需要事务处理或是外键,那么InnoDB 可能是比较好的方式。如果需要全文索引,那么通常来说 MyISAM是好的选择,因为这是系统内建的,然而,其实并不会经常地去测试两百万行记录。所以,就算是慢一点,可以通过使用Sphinx从InnoDB中获得全文索引。

6、安全更新限制
a) 设置DB model为safe_update
mysql有个叫SQL_SAFE_UPDATES的变量,为了数据库更新操作的安全性,此值默认为1,所以才会出现更新失败的情况。

查看变量设置:

mysql> show variables like 'sql_safe%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| sql_safe_updates | ON |
+------------------+-------+
1 row in set (0.06 sec)


下面是SQL_SAFE_UPDATES变量为0和1时的取值说明:

SQL_SAFE_UPDATES有两个取值0和1, 或ON 和OFF;

SQL_SAFE_UPDATES = 1,ON时,不带where和limit条件的update和delete操作语句是无法执行的,即使是有where和limit条件但不带key column的update和delete也不能执行。

SQL_SAFE_UPDATES =0,OFF时,update和delete操作将会顺利执行。那么很显然,此变量的默认值是1。

所以,出现1175错误的时候,可以先设置SQL_SAFE_UPDATES的值为0 OFF,然后再执行更新;

b)querey前加 --safe_updates
7、 Deny Sql when using LOCK TABLES
mysqldudmp -u 数据库用户名 -p 数据库密码 数据库 --skip-lock-tables > 备份数据库.sql

8、修改mysql启动接口
show global variables like 'port';

vi ~/.jumbo/etc/mysql/my.cnf

添加 port=8902

重启服务

${JUMBO_ROOT}/share/mysql/mysql.server start

9、启动MySQL服务报错,The server quit without updating PID file
查看启动报错日志: ~/.jumbo/var/lib/mysql/szth-inf-bch-sandbox02.szth.err

10、mysql安装后,初始root密码有误
暂时解决方案: /etc/my.conf

[mysqld]

./mysqld_safe --skip-grant-tables &

11、Got error 28 from storage engine
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/Kingairy/article/details/136227740

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/553189.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器视觉系统:电容表面瑕疵缺陷检测的精准“守望者”

在电子行业中,电容器作为关键元件,其质量和性能对于整个产品的稳定性和可靠性至关重要。电容器的表面质量直接影响其性能和寿命,因此,对电容表面瑕疵缺陷的精确检测显得尤为重要。近年来,随着机器视觉技术的飞速发展&a…

Linux设置真实IP

1.查看ens33网卡信息 vi /etc/sysconfig/network-scripts/ifcfg-ens33 #添加以下内容 BOOTPROTODHCP #协议类型 dhcp bootp none ONBOOTyes #启动时是否激活 yes | no#修改文件完成后,重启网络 service network restartping www.baidu.com #验证网络是否生效 ifco…

[卷积神经网络]YoloV8

一、YoloV8 1.网络详解 ①backbone部分:第一次卷积的卷积核缩小(由3变为6);CSP模块的预处理卷积从3次变为2次;借鉴了YoloV7的多分支堆叠结构(Multi_Concat_Block)。 所小第一次卷积的卷积核尺寸会损失部分感受野&#…

鸢尾花数据集分类(决策树,朴素贝叶斯,人工神经网络)

目录 一、决策树 二、朴素贝叶斯 三、人工神经网络 四、利用三种方法进行鸢尾花数据集分类 一、决策树 决策树是一种常用的机器学习算法,用于分类和回归任务。它是一种树形结构,其中每个内部节点表示一个特征或属性,每个分支代表这个特征…

特步赞助可能“惹乱子”,北京半马进入官方调查阶段

北京半马风波的发酵超乎想象,从4月14日事件发生到现在,舆论已经从对赛事本身的质疑,上升到一些其他的层面。 从最新的信息来看,北京体育局、北京半马组委会表态称事情还在调查,舆论则大多倾向于“特步幕后操盘、外籍选…

抖去推短视频矩阵系统----源头开发

为什么一直说让企业去做短视频矩阵?而好处就是有更多的流量入口,不同平台或账号之间可以进行资源互换,最终目的就是获客留咨,提单转化。你去看一些做得大的账号,你会发现他们在许多大的平台上,都有自己的账…

Ubuntu 20.04 LTS 在3588安卓主板上测试yolov8-1.0版本的yolov8n-seg模型

0. 创建虚拟环境 #!< 创建虚拟环境yolov8 $ sudo pip install virtualenv $ sudo pip install virtualenvwrapper $ mkvirtualenv yolov8 -p /usr/bin/python3.81. 将yolov8n-seg.pt转换为yolov8n-seg.onnx文件 #!< 创建项目目录yolov8-rknn并下载yolov8n-seg.pt模型文…

MATLAB环境下基于随机期望最大化的多分量信号瞬时频率估计方法

相对于频率成分单一、周期性强的平稳信号来说&#xff0c;具有非平稳、非周期、非可积特性的非平稳信号更普遍地存在于自然界中。调频信号作为非平稳信号的一种&#xff0c;由于其频率时变、距离分辨率高、截获率低等特性&#xff0c;被广泛应用于雷达、地震勘测等领域。调频信…

.net反射(Reflection)

文章目录 一.概念&#xff1a;二.反射的作用&#xff1a;三.代码案例&#xff1a;四.运行结果&#xff1a; 一.概念&#xff1a; .NET 反射&#xff08;Reflection&#xff09;是指在运行时动态地检查、访问和修改程序集中的类型、成员和对象的能力。通过反射&#xff0c;你可…

SAP项目任务一览表

根据SAP Activate项目管理方法论的主要精神&#xff0c;浓缩到一些主要的团队和任务。 主要的团队有&#xff1a; 项目管理(办公室)Project Management(office)&#xff1a;项目经理团队&#xff0c;包括项目办公室。负责项目整体运行和监控&#xff0c;项目办公室负责项目的…

【MySQL 安装与配置】Window简单安装MySQL,并配置局域网连接

文章日期&#xff1a;2024.04.17 系统&#xff1a;Window10 || Window11 类型&#xff1a;安装与配置MySQL数据库 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&#xff08;直接解密即可&#xff09;&#xff08;crypto-js.js…

Stm32-hal库串口教程

工程是在上一节的LED的基础上修改的。 串口原理图 串口配置 led参考 CubelMX点灯-CSDN博客https://blog.csdn.net/anlog/article/details/137830323生成工程 编写包含文件 编写重定向代码 编写发送 编译下载 串口没有收到数据 查找原因 少配置了下图 再编译下载 收到数据…

【MySQL 数据宝典】【内存结构】- 002 Page管理机制

一、 Page 管理机制 Buffer Pool 的底层采用链表数据结构管理Page。在InnoDB访问表记录和索引时会在Page页中缓存&#xff0c;以后使用可以减少磁盘IO操作&#xff0c;提升效率。 1.1 Page 页的分类 free page &#xff1a; 空闲page&#xff0c;未被使用clean page&#xff…

Ubuntu 系统安装 VS Code 并配置 C++ 环境

Linux 系列教程&#xff1a; VMware 安装配置 Ubuntu&#xff08;最新版、超详细&#xff09;FinalShell 远程连接 Linux&#xff08;Ubuntu&#xff09;系统Ubuntu 系统安装 VS Code 并配置 C 环境 ➡️➡️ ➡️VS Code 官方教程&#xff1a;Using C on Linux in VS Code&…

Meta因露骨AI图片陷入困境

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

wsl安装与日常使用

文章目录 一、前向配置1、搜索功能2、勾选下面几个功能&#xff0c;进行安装二、安装WSL1、打开Windows PowerShell,查找你要安装的linux版本2、选择对应版本进行安装3、输入用户名以及密码 三、配置终端代理1、打开powershell,查看自己的IP把以下信息加入到~/.bashrc中 四、更…

目标检测——食品饮料数据集

一、重要性及意义 对食品和饮料进行目标检测的重要性和意义体现在多个方面&#xff1a; 商业应用与市场分析&#xff1a;目标检测技术在食品和饮料行业有着广泛的应用前景。通过对超市货架、餐馆菜单或广告海报中的食品和饮料进行自动识别和计数&#xff0c;商家可以获取关于产…

【C语言】——字符串函数的使用与模拟实现(下)

【C语言】——字符串函数的使用与模拟实现&#xff08;下&#xff09; 前言五、长度受限类字符串函数5.1、 s t r n c p y strncpy strncpy 函数5.2、 s t r n c a t strncat strncat 函数5.3、 s t r n c m p strncmp strncmp 函数 六、 s t r s t r strstr strstr 函数6.1、函…

go语言context

context在服务端编程基本都贯穿所有&#xff0c; Context 是请求的上下文信息。对于RPC Server来说&#xff0c;一般每接收一个新的请求&#xff0c;会产生一个新的Context&#xff0c;在进行内部的函数调用的时候&#xff0c;通过传递Context&#xff0c;可以让不同的函数、协…

常用的数据结构及算法

一、数据结构 &#xff08;一&#xff09;线性结构&#xff1a;一对一。 1.可以使用数组、链表来表示。数组又分为静态数组和动态数组两种。链表常用的是单链表。 2.两种特殊的线性结构&#xff1a;队列和栈。其中队列是先进先出&#xff08;排队&#xff09;&#xff0c;栈…
最新文章