AWS RDS MySQL / Magazine Demandes lentes

J'essaie d'analyser des requêtes lentes dans mon système et de lire que je devrais activer le "journal des demandes lentes". Je suis curieux comment je peux parcourir ce magazine quand j'utilise une instance MySQL, Placé sur RDS Amazon Web Service.
Invité:

Dominique

Confirmation de:

Saviez-vous qu'il y a une table de magazine lente? On l'appelle

mysql.slow_log

:

mysql> show create table mysql.slow_log\G
*************************** 1. row ***************************
Table: slow_log
Create Table: CREATE TABLE `slow_log` (
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int(11) NOT NULL,
`rows_examined` int(11) NOT NULL,
`db` varchar(512) NOT NULL,
`last_insert_id` int(11) NOT NULL,
`insert_id` int(11) NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`sql_text` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
1 row in set (0.01 sec)

mysql>

Commencer à enregistrer des requêtes lentes dans mysql.slow_log, Vous devez activer deux variables:

http://dev.mysql.com/doc/refma ... y_log
http://dev.mysql.com/doc/refma ... utput
Voici la situation

mysql> show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output | TABLE |
+---------------+-------+
1 row in set (0.01 sec)

mysql> show variables like 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | OFF |
+----------------+-------+
1 row in set (0.01 sec)

mysql>

http://dev.mysql.com/doc/refma ... utput
Déjà par défaut

TABLE

. Vous devrez allumer
http://dev.mysql.com/doc/refma ... y_log
. C'est ce que vous devriez faire:

Si votre instance RDS Pas de base de données de paramètres de groupe ...

Créer des instances AmazonRDS MySQL, qui utilise un groupe de paramètres de base de données.

Modifier le groupe de configuration de DB par réglage slow_query_log évaluer 1

Redémarrer l'instance BD

Si votre instance RDS a un groupe de paramètres de base de données ...

Modifier le groupe de configuration de DB par réglage slow_query_log évaluer 1

Redémarrer l'instance BD

Après avoir redémarré l'instance, entrez mysql Et exécutez cette demande.

mysql> SELECT SLEEP(15);

Depuis défaut pour
http://dev.mysql.com/doc/refma ... _time
se réconcilier 10 Secondes, requête

SELECT SLEEP(15);

Doit apparaître dans

mysql.slow_log

. Lire la documentation RDS, Pour savoir s'il y a des restrictions dans la table.

ATTENTION

Voici un avertissement équitable. Notification

mysql.slow_log

Ce fichier CSV. Il n'y a pas de clé dans la table. Bien que vous puissiez demander une table, il remplira la table de numériser. Ce serait bien si vous pouviez faire ce qui suit:

ALTER TABLE mysql.slow_log ENGINE=MyISAM;
ALTER TABLE mysql.slow_log ADD INDEX (start_time);

Ensuite, vous pouvez très rapidement demander des dates et des gammes de temps. J'ai essayé de le lancer et j'ai reçu ce qui suit:

mysql> ALTER TABLE mysql.slow_log ENGINE=MyISAM;
ERROR 1044 (42000): Access denied for user 'lwdba'@'%' to database 'mysql'
mysql>

Vérifiez la documentation RDS, Pour savoir si Amazon Fais le pour toi.

Essayer !!!

Blanche

Confirmation de:

Vous pouvez également copier la table dans une nouvelle dans une autre. db et en faire un nouveau MyISAM:

create table my_slow_logs as select * from mysql.slow_log;
alter table my_slow_logs engine=MyISAM;

(alors

select from my_slow_logs...

)

Amazon RDS Vous permet de faire si vous le faites en dehors de la base de données MySQL.

Pour répondre aux questions, connectez-vous ou registre