MySQL数据库优化技术之配置技巧总结_MySQL
本文实例讲述了MySQL数据库优化技术的配置方法。分享给大家供大家参考,具体如下:
(一)减少数据库访问
对于可以静态化的页面,尽可能静态化
对一个动态页面中可以静态的局部,采用静态化
部分数据可以生成XML,或者文本文件形式保存
使用数据缓存技术,例如: MemCached
(二)优化的检测方法
1.用户体验检测
2.Mysql状态检测
在Mysql命令行里面使用show status命令,得到当前mysql状态。
主要关注下列属性:
key_read_requests (索引读的请求数)(key_buffer_size设置影响)
key_reads(索引读响应数)
Key_blocks_used
Qcache_*
Open_tables(通过table_cache的设置影响)
Opened_tables
table_locks
3. 第三方工具检测
mysqlreport http://hackmysql.com/mysqlreport
mytop http://jeremy.zawodny.com/mysql/mytop/
系统及Mysql的Log
系统命令: top, sar
Mysql的Log: slow_query.log
(三)硬件方面的优化
硬件方面,最容易成为Mysql瓶颈的部分是磁盘,其次是CPU和内存
磁盘方面
使用更快的磁盘,会对Mysql有很好的帮助
使用更多的硬盘,通过Raid,可以提高单块磁盘速度的问题
对于Raid方式,建议采用Raid 0+1 或者 Raid 1+0
CPU
毫无疑问,更高主频的CPU和更多的CPU数量可以给Mysql更
高的性能
内存
更高的内存,往往可以让Mysql中的更多的数据缓存在内存中,
但是,一个重要的因素是,需要有正确的Mysql的配置
网卡
使用千兆网卡及千兆网络
(四)操作系统方面的优化
1.不使用交换区。如果内存不足,增加更多的内存或配置你的系统使用较少内存
2. 不要使用NFS磁盘
3.增加系统和MySQL服务器的打开文件数量
使用ulimit –n 65535
4.增加系统的进程和线程数量。
5.关闭不必要的应用,优化硬盘参数,使用hdparm测试
(五)应用级的优化
1.使用多服务器负载均衡(多台读和写,用复制技术进行数据同步)
2.表的分区 (自定义分区,mysql5.1开始支持自带分区功能)
3.使用数据缓存技术memcached
(六)Mysql配置的优化
1.key_buffer(=512):索引缓冲使用的内存数量
这对MyISAM表来说非常重要,设定在可用内存的25%-30%较好,通过检查状态值 Key_read_requests和 Key_reads,
可以知道key_buffer设置是否合理。比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好 ,否则说明 key_buffer 设置有点偏小
2.innodb_buffer_pool_size(= 512):索引缓冲使用的内存数量
3.table_cache (=1024):数据表缓存区的尺寸
每当 MySQL 访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。
通过检查运行峰值时间的 Open_tables 和 Opened_tables 状态值,可以决定是否需要调整 table_cache 的值。
如果你发现 open_tables 的值等于 table_cache,并且发现 opened_tables 状态值在不断增长,那么你就需要增加 table_cache 参数值了,
也不能盲目地把 table_cache 参数设置成很大的值,如果设置得太高,可能会造成文件描述符不足,从而造成性能不稳定或者连接失败。
4.sort_buffer_size (=256):指定排序用缓冲区的长度
该参数对应的分配内存是每连接独占!如果有100个连接,那么实际分配的总共排序缓冲区大小为100 × 6 = 600MB。
所以,对于内存在4GB左右的服务器推荐设置为6-8M
5.join_buffer_size :关联查询用缓冲区的长度
4G内存以上,建议大于32M,该参数对应的分配内存也是每连接独享!
6.max_connections (=1024):可以复用的线程数量
允许同时连接MySQL服务器的客户数量 ,可以观察和估计系统在峰值最大的并发连接数来设置
7.thread_cache(=*):可以复用的线程数量
一般设置为CPU数×2
8.innodb_buffer_pool_size(= 512):innodb表缓存池大小
这对Innodb表来说非常重要。Innodb相比MyISAM表对缓冲更为敏感。MyISAM可以在默认的 key_buffer_size 设置下运行的可以,
然而Innodb在默认的innodb_buffer_pool_size 设置下却跟蜗牛似的。
由于Innodb把数据和索引都缓存起来,无需留给操作系统太多的内存,因此如果只需要用Innodb的话则可以设置它高达 70-80% 的可用内存。
一些应用于 key_buffer 的规则有 -- 如果你的数据量不大,并且不会暴增,那么无需把innodb_buffer_pool_size 设置的太大了.
9.innodb_flush_logs_at_trx_commit(=1) :事务提交后的日志刷新模式
是否为Innodb比MyISAM慢1000倍而头大?看来也许你忘了修改这个参数了。默认值是 1,这意味着每次提交的更新事务(或者每个事务之外的语句)都会刷新到磁盘中,
而这相当耗费资源,尤其是没有电池备用缓存时。很多应用程序,尤其是从 MyISAM转变过来的那些,把它的值设置为 2 就可以了,也就是不把日志刷新到磁盘上,
而只刷新到操作系统的缓存上。日志仍然会每秒刷新到磁盘中去,因此通常不会丢失每秒1-2次更新的消耗。如果设置为0就快很多了,不过也相对不安全了,
MySQL服务器崩溃时就会丢失一些事务。设置为2指挥丢失刷新到操作系统缓存的那部分事务.
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL索引操作技巧汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
希望本文所述对大家MySQL数据库计有所帮助。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Apache se connecte à une base de données nécessite les étapes suivantes: Installez le pilote de base de données. Configurez le fichier web.xml pour créer un pool de connexion. Créez une source de données JDBC et spécifiez les paramètres de connexion. Utilisez l'API JDBC pour accéder à la base de données à partir du code Java, y compris l'obtention de connexions, la création d'instructions, les paramètres de liaison, l'exécution de requêtes ou de mises à jour et de traitement des résultats.

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données

L'installation de MySQL sur CENTOS implique les étapes suivantes: Ajout de la source MySQL YUM appropriée. Exécutez la commande YUM Install MySQL-Server pour installer le serveur MySQL. Utilisez la commande mysql_secure_installation pour créer des paramètres de sécurité, tels que la définition du mot de passe de l'utilisateur racine. Personnalisez le fichier de configuration MySQL selon les besoins. Écoutez les paramètres MySQL et optimisez les bases de données pour les performances.

La clé de l'installation de MySQL est d'élégance pour ajouter le référentiel MySQL officiel. Les étapes spécifiques sont les suivantes: Téléchargez la clé GPG officielle MySQL pour empêcher les attaques de phishing. Ajouter un fichier de référentiel MySQL: RPM -UVH https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Mise à jour du référentiel Cache: Yum Update Installation Mysql: Yum install install install starting starting mysql Service: SystemCTL start start mysqld starger bugo boartup Service mysql Service: SystemCTL start start mysqld starger bugo bo onthing staring Service mysql Service: SystemCTL Start Start MySQLD Set Out Up Boaching Staring Service MySQL Service: SystemCTL Start Start MysQL

Étapes pour sauvegarder automatiquement les données MySQL à l'aide de NAVICAT: installer et connecter au serveur MySQL. Créez une tâche de sauvegarde, spécifiant la source de sauvegarde, l'emplacement du fichier et le nom. Configurez les options de sauvegarde, y compris le type de sauvegarde, la fréquence et le temps de rétention. Configurez un plan de sauvegarde automatique, activez la sauvegarde automatique, définissez le temps et la fréquence. Aperçu les paramètres de sauvegarde et effectuez la sauvegarde. Surveiller les progrès et l'historique des sauvegardes.
