热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQL服务器性能优化策略与实践

本文探讨了MySQL服务器性能优化的策略与实践,重点关注MyISAM存储引擎的读锁定机制。通过具体案例分析,介绍了如何通过合理的锁管理提升查询效率,例如在表级读锁定(`LOCKTABLEt1READ`)后,如何处理并发连接请求,确保数据一致性和系统稳定性。同时,文章还讨论了在锁定期间执行查询操作的最佳实践,如使用`SELECT*FROMt1`时应注意的事项,以避免潜在的性能瓶颈。
7.1、myisam 读锁定
1、lock table t1  read
2、开启另一个mysql连接中断,接着去尝试:select * from t1
3、再insert、update和delete t1这张表,你会返现所有的数据都停留在终端上没有真正的去操作
4、读锁定对我们在做备份大量数据时非常有用
mysqldump -uroot -p123 test>test.sql

7.2、myisam 写锁定
1、lock table t1 write 
2、打开另一个MySQL终端,尝试去select、insert、update和delete这张表t1,你会返现都不能操作,都会停留在终端上,只有等第一个终端操作完成,第二个终端才能真正执行 。
3、可见表的写锁定比读锁定更严格
4、一般情况下我们很少去显示的去对表进行read和write锁定的,myisam会自动进行锁定的。

7.3、服务器的优化
1、四中字符集问题
my.cnf配置文件 utf-8
查看各种字符集的校验字符集
mysql>show character set;
2、binary log 日志问题
show variables like “%bin%”;
log_bin 是否为ON
my.cnf配置文件中修改log-bin=mysql-bin
3、slow log慢日志查询问题
show variables like “%slow%”;
show variables like “%long%”;
log_slow_queries 设置为ON
开启和设置慢查询时间
vi /etc/my.cnf
log_slow_queries=slow.log
long_query_time=5
4、socket文件问题
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
socket=/tmp/mysql.sock
skip-locking
重新启动一下mysql就能自动生成mysql.socket文件
mysqld_safe —user=mysql &
5、root 密码丢失
(1)service mysqld stop
(2)mysqld_safe —skip-grant-tables —user=mysql&
//跳过授权表mysql.user和mysql.db这些表
(3)mysql -uroot
(4)set password=password(“wei”);
用这一条语句结果报错,就是因为加了 —skip-grant-tables
       mysql>update user set password=password(“wei”) where user=“root” and host=“localhost”;
(5)mysql>set password for root@localhost=password(“wei”);
(6)mysql>set password=password(“wei”); 


推荐阅读
  • 程序连接MySQL数据库的多种方法详解 ... [详细]
  • MySQL 8.0 中的二进制日志格式详细解析及其官方文档参考。本文介绍了MySQL服务器如何使用不同的日志记录格式来记录二进制日志,包括早期版本中基于SQL语句的复制机制(即基于语句的日志记录)。此外,还探讨了其他日志记录方式,如基于行的日志记录和混合日志记录模式,并提供了配置和管理这些日志格式的最佳实践。 ... [详细]
  • Nginx入门指南:从零开始掌握基础配置与优化技巧
    Nginx入门指南:从零开始掌握基础配置与优化技巧 ... [详细]
  • 一键将应用部署至远程服务器,体验超乎想象的便捷与高效
    该插件作为IDEA的内置功能,用户可以直接启用,无需额外安装。通过简单的配置,即可实现应用的一键部署至远程服务器,极大地提升了开发效率和便捷性。插件支持镜像管理和容器管理,允许用户与容器进行交互,并且兼容Docker Compose,适用于复杂的多容器应用部署。总结部分详细介绍了插件的使用方法和优势,附带的参考资料和项目源码地址为用户提供更多学习和实践资源。 ... [详细]
  • 在使用 PHP 通过 SSL 安全连接到 MySQLi 数据库服务器时,遇到了一些技术难题。我的环境包括一个 Web 服务器和一个数据库服务器,两者均使用 OpenSSL 生成了证书。尽管证书内容一致,但在尝试从 Web 服务器使用 `mysql` 命令进行连接时,仍然遇到了问题。为了确保连接的安全性和稳定性,需要进一步检查证书配置和 PHP 的 SSL 设置,以排除潜在的配置错误或兼容性问题。 ... [详细]
  • MySQL 5.6 引入了全局事务标识符(GTID)和多线程复制机制,显著提升了数据库的可靠性和性能。GTID 作为一种新的事务标识方式,确保了事务在主从节点间的一致性,避免了传统基于日志位置的复制可能出现的问题。多线程复制则通过并行处理多个复制任务,大幅提高了复制效率,特别是在大型数据库环境中表现更为突出。这些新特性不仅增强了 MySQL 的高可用性和扩展性,还为数据库管理带来了更多灵活性和便利性。 ... [详细]
  • 网站前端开发的核心理念与必备技能解析 ... [详细]
  • 简介springboot开启事务很简单,只需要一个注解Transactional就可以了。因为在springboot中已经默认对jpa、jdbc、mybatis开启了 ... [详细]
  • 本文将深入探讨MySQL与MongoDB在游戏账户服务中的应用特点及优劣。通过对比这两种数据库的性能、扩展性和数据一致性,结合实际案例,帮助开发者更好地选择适合游戏账户服务的数据库方案。同时,文章还将介绍如何利用Erlang语言进行高效的游戏服务器开发,提升系统的稳定性和并发处理能力。 ... [详细]
  • 本文详细介绍了在 CentOS 6.7 x64 环境下配置 MySQL 5.6.29 的 GTID 主从复制方法。主库 IP 为 192.168.0.65,备库 IP 为 192.168.0.66。通过逐步指导,帮助读者顺利实现高可用性和数据一致性。 ... [详细]
  • 本文深入探讨了ASP.NET Web API与RESTful架构的设计与实现。ASP.NET Web API 是一个强大的框架,能够简化HTTP服务的开发,使其能够广泛支持各种客户端设备。通过详细分析其核心原理和最佳实践,本文为开发者提供了构建高效、可扩展且易于维护的Web服务的指导。此外,还讨论了如何利用RESTful原则优化API设计,确保系统的灵活性和互操作性。 ... [详细]
  • 利用 Python Paramiko 库在远程服务器上高效执行 Shell 脚本的方法与技巧 ... [详细]
  • 深入解析嵌套子查询、关联子查询与连接操作的差异及应用场景 ... [详细]
  • 2023年6月19日:重要日期回顾与展望
    13.1设置更改root密码更改MySQL数据库root密码1.首次进入数据库是不用密码的,如下所示: usrlocalmysqlbinmysql-uroot       使用绝对 ... [详细]
  • 设置与优化Windows Server 2003网络环境配置
    安装好了系统并部署了多台客户机,接下来配置网络,是所有的计算机能够联通 ... [详细]
author-avatar
用巛户khm8pcnjp9
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有