Comment installer, configurer, administrer le multi-instance MySQL ?
RDBMS Expertise - Page 49
-
Configurer le multi instance MySQL
-
Des petits scripts ?
Qui qui veut des petits scripts ...?
-
Compresser les logs
Voici un scripts en SHELL qui permet de compresser les logs de plus de 7 jours :
#!/bin/bash
. /etc/profile
. ~/.bash_profile# this script is used to compress logs having more 7 days.
if [ -z $LOGS ] ;
then
echo "subject:Application " ${DB_CONFIG_TYPE} ${DB_NAME} " : gzip logs postgres FAIL" > /tmp/Mail_gzip_ko
echo "From:josselin@hotmail.com" >> /tmp/Mail_gzip_ko
echo "logs are not compressed" >> /tmp/Mail_gzip_ko
mail josselin@hotmail.com < /tmp/Mail_gzip_ko
rm /tmp/Mail_gzip_ko
exit 0
fiif [ -n $LOGS ] ;
then
find $LOGS/ -size 0 -type f -name "*.log" -exec rm {} ;
find $LOGS/ -size 0 -type f -name "*.csv" -exec rm {} ;
find $LOGS/ -type f -name "*.log*" -mtime +100 -exec rm {} ;
find $LOGS/ -type f -name "*.csv*" -mtime +100 -exec rm {} ;
find $LOGS/ -type f -name "*.log" -mtime +1 -exec /usr/bin/gzip {} ;
find $LOGS/ -type f -name "*.csv" -mtime +1 -exec /usr/bin/gzip {} ;
fi -
Vacuum Freeze [ PSQL]
-<Req:
pfw_oltp=# SELECT freez
pfw_oltp-# ,greatest(age(c.relfrozenxid),age(t.relfrozenxid)) as max
pfw_oltp-# ,ROUND(100*(greatest(age(c.relfrozenxid),age(t.relfrozenxid)))::float/freez::float) AS perc
pfw_oltp-# FROM pg_class c
pfw_oltp-# LEFT JOIN pg_class t ON c.reltoastrelid = t.oid
pfw_oltp-# JOIN (SELECT setting AS freez FROM pg_settings WHERE name = 'autovacuum_freeze_max_age') AS foo ON (true)
pfw_oltp-# WHERE c.relkind = 'r' order by greatest(age(c.relfrozenxid),age(t.relfrozenxid)) desc limit 1;
->Res:
freez | max | perc
-----------+-----------+------
200000000 | 188290452 | 94
-
Trouver les tables sans clés primaires [MySQL]
Fier de moi , voici la requête que j'ai trouvé pour mon équipe...
La requête suivante permet de trouver toutes les tables MySQL qui ne possèdent pas de clés primaires :
USE INFORMATION_SCHEMA;
SELECT
TABLES.table_name
FROM TABLES
LEFT JOIN KEY_COLUMN_USAGE AS c
ON (
TABLES.TABLE_NAME = c.TABLE_NAME
AND c.CONSTRAINT_SCHEMA = TABLES.TABLE_SCHEMA
AND c.constraint_name = 'PRIMARY'
)
WHERE
TABLES.table_schema <> 'information_schema'
AND TABLES.table_schema <> 'performance_schema'
AND TABLES.table_schema <> 'mysql'
AND c.constraint_name IS NULL;
-
Trouver facilement et gratuitement des bons bouquins sur Postgresql
Ici vous trouvez de bons supports numériques pour Postgresql.
-
Comment l'autovacuum est-il configurer sur Postgresql ?
Pour voir comment l'autovacuum est configuré sur PostGresql taper les commandes suivantes :
select * from pg_settings where name like 'autovacuum%';
et
select relname, reloptions from pg_class;
-
Sécuriser MySQL- supprimer les utilisateurs inutiles
Pour sécuriser MySQL et supprimer les utilisateurs anonymes qui sont par défaut installés sur MySQL (inutiles) :
shell>
mysql_secure_installation
Sinon il est possible de faire comme suit :
select user, host from user;
+-------------+-------------------------+
| user | host |
+-------------+-------------------------+
| root | ::1 |
| | localhost |
| |mrs-prd-contibdd-1 |
Quand la base est mise en service ces 3 users sont détruits :
delete from user where user='';
delete from user where host='::1';
source :
http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
-
MDP Root
A partir de la version 5.7 de MySQL le mot de passe root temporaire est dans la log d'erreur :
sudo grep 'temporary password' /var/log/mysqld.log
-
Mettre à jour MySQL
Upgrade MySQL :
shell>
sudo yum update mysql-server
voir les composants installés :shell>
sudo yum list installed | grep "^mysql"
source :
http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/