MySQL, en tant que l'une des bases de données relationnelles importantes du secteur, contient les données de base de nombreuses entreprises. Cependant, à mesure que la quantité de données continue d'augmenter, la stabilité et la sécurité de MySQL ont également été soumises à davantage de tests. Afin d’assurer le fonctionnement normal et la sécurité des données de MySQL, il est particulièrement important de maîtriser certaines compétences en matière de supervision Linux. Cet article explique comment utiliser Linux pour surveiller MySQL, vous aide à trouver et à résoudre les problèmes à temps et à garantir la stabilité opérationnelle de la base de données.
Il existe de nombreux outils pour surveiller les performances de MySQL. Les bons outils sont des outils utiles pour diagnostiquer les goulots d'étranglement des performances de MySQL et dépanner les serveurs. Dans le travail quotidien, nous utilisons souvent des outils tels que zabbix (à l'aide de scripts ou de plug-ins), Prometheus (couramment utilisé dans mon travail), MONyog, etc. Mais dans certains cas particuliers, ils ne répondent pas toujours parfaitement aux besoins courants des développeurs ou administrateurs MySQL, ou peuvent ne pas fonctionner correctement dans certains cas. Ce qui est passionnant, c'est que la communauté MySQL a créé divers outils open source pour combler ces lacunes. Aujourd'hui, je partage 4 outils de ligne de commande pour surveiller la disponibilité, la charge et les performances de la base de données MySQL sous Linux.
一、Mytop
Mytop est l'un des outils de surveillance de base de données MySQL open source et gratuits basés sur la ligne de commande, écrit par Jereme Zawodny en utilisant le langage Perl. Mytop s'exécute dans le terminal et affiche des statistiques sur les threads, les requêtes, les requêtes lentes, la disponibilité, la charge, etc., très similaires à la commande de surveillance Linux top. Cela aide indirectement les administrateurs à optimiser et à améliorer les performances de MySQL pour gérer un grand nombre de requêtes et réduire la charge du serveur.
mytop fournit des packages d'installation pour une variété de systèmes, tels que centos, arch linux, opensuse, etc.
1. Méthode d'installation
$ sudo apt install mytop #Debian/Ubuntu # yum install mytop #RHEL/CentOS # dnf install mytop #Fedora 22+ # pacman -S mytop #Arch Linux # zypper in mytop #openSUSE
2. Comment utiliser Mytop pour surveiller MySQL/MariaDB
Mytop nécessite les informations de connexion MySQL/MariaDB pour surveiller la base de données et se connecter au serveur en utilisant le nom d'utilisateur root par défaut. Vous pouvez spécifier les options nécessaires pour vous connecter au serveur de base de données au moment de l'exécution, soit sur la ligne de commande, soit dans le fichier ~/.mytop.
Exécutez simplement la commande suivante pour démarrer mytop et fournissez votre mot de passe d'utilisateur root MySQL/MariaDB lorsque vous y êtes invité. Cela se connectera à la base de données de test par défaut.
# mytop --prompt 密码:
Après avoir entré le mot de passe root MySQL, vous verrez la surveillance Mytop comme indiqué ci-dessous.
Si vous souhaitez surveiller une base de données spécifique, ajoutez simplement l'option -d, comme indiqué ci-dessous :
# mytop --prompt -d xuanyuan 密码:
Si vous disposez d'un administrateur spécifique pour chaque base de données, il vous suffit de préciser le nom d'utilisateur et le mot de passe pour vous connecter aux données.
mytop -u admin -p password_here -d tdb
Il existe toujours certains risques de sécurité liés à la spécification de mots de passe en texte clair dans l'interface de ligne de commande. Afin d'éviter de tels risques de sécurité,* nous pouvons utiliser le fichier de configuration ~/.mytop pour spécifier les options de connexion à la base de données.
# vi ~/.mytop 添加以下选项: user=root pass=password_here host=localhost db=test delay=4 port=3306 socket=
2, mtop
mtop (MySQL top) est un autre outil de surveillance de serveur MYSQL en temps réel open source similaire, basé sur une ligne de commande. Il est écrit en langage Perl et affiche des résultats similaires à mytop. mtop surveille les requêtes MySQL qui prennent le plus de temps à se terminer et met fin à ces requêtes de longue durée après un certain temps spécifié.
De plus, mtop contient des informations sur l'optimiseur de requêtes pour les requêtes en cours d'exécution et les requêtes terminées. Il affiche également les statistiques du serveur, les informations de configuration et quelques conseils de réglage utiles pour optimiser et améliorer les performances de MySQL. Mais malheureusement, mtop n'est pas activement maintenu et peut ne pas s'exécuter récemment. versions installées de MySQL.
Caractéristiques :
Affiche les requêtes du serveur MySQL en temps réel.
Fournissez des informations de configuration MySQL.
Afficher la fonction de zoom pour les requêtes de processus.
Fournissez des informations sur l'optimiseur de requêtes pour les requêtes et les requêtes "kill".
Fournissez des conseils de réglage MySQL.
Possibilité d'enregistrer la sortie dans le fichier de configuration .mtoprc.
Fournir une page de recommandation de l'administrateur système (« T »).
Ajoutez une requête/s au titre principal.
Ajout d'informations par seconde à l'écran des statistiques.
3.Innotop
Innotop est un autre bon outil de surveillance MySQL basé sur la ligne de commande, utilisé pour surveiller les serveurs MySQL locaux et distants exécutés sous le moteur InnoDB. Innotop inclut de nombreuses fonctionnalités et est livré avec différents types de modes/options, qui nous aident à surveiller divers aspects des performances de MySQL pour découvrir ce qui ne va pas avec le serveur MySQL.
1. Installez Innotop (surveillance MySQL)
Par défaut, les packages innotop ne sont pas inclus dans les distributions Linux telles que RHEL, CentOS, Fedora et Scientific Linux. Vous devez l'installer en activant le référentiel epel tiers et en utilisant la commande yum comme indiqué dans l'image ci-dessous :
# yum install innotop
要启动innotop,只需在命令行中键入“ innotop ”并分别指定选项-u(用户名)和-p(密码),然后按 Enter。
# innotop -u root -p 'tcm1nt'
2、Innotop 帮助
按“ ?” 获取命令行选项和用法的摘要。
切换到不同的模式: A Dashboard I InnoDB I/O Info Q Query List B InnoDB Buffers K InnoDB Lock Waits R InnoDB Row Ops C 命令摘要 L Locks S Variables & Status D InnoDB Deadlocks M Replication Status T InnoDB Txns F InnoDB FK Err O 打开表 U 用户统计 操作: d 更改刷新间隔 p 暂停 innotop k 终止查询连接 q 退出 innotop n 切换到下一个连接 x 终止查询 其他: TAB 切换到下一个服务器组/快速过滤您看到的内容 !显示许可证和保修 = 切换聚合 # 选择/创建服务器组 @ 选择/创建服务器连接 $ 编辑配置设置 \ 清除快速过滤器 按任意键继续
四、 mysqladmin
mysqladmin是一个默认的命令行 MySQL 客户端,预装在 MySQL 软件包,用于执行管理操作,例如监控进程、检查服务器配置、重新加载权限、当前状态、设置 root 密码、更改 root 密码、创建/删除数据库等。
要检查 mysql 状态以及正常运行时间,请从终端运行以下命令,请确保你有root的权限。
[root@localhost ~]# mysqladmin -u root -p version
通过本文的介绍,相信大家已经了解如何使用Linux监控MySQL,及时发现并解决问题,保障数据库的稳定性和安全性。在今后的实际操作中,希望大家能够灵活运用本文所介绍的监控工具和技巧,让MySQL在业务中发挥更大的价值,为企业的发展壮大保驾护航。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!