Différences entre les versions de « Mysql multi instance »
De BlaxWiki
Aller à la navigationAller à la recherche| (2 versions intermédiaires par 2 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
Il est possible d'installer une seule fois mysql et d'avoir plusieurs instances (donc plusieurs bases mysql) qui tournent sur différents ports. Il va falloir faire un script d'init et | Il est possible d'installer une seule fois mysql et d'avoir plusieurs instances (donc plusieurs bases mysql) qui tournent sur différents ports. Il va falloir faire un script d'init et | ||
un fichier de conf par instance. On pourrait aussi installer 3 mysql pour que chacun ait son binaire. | un fichier de conf par instance. On pourrait aussi installer 3 mysql pour que chacun ait son binaire. | ||
Les paramètres ports, pid et socket doivent etre uniques; pour les logs il est préférable que chacun ait ses logs. | Les paramètres ports, pid et socket doivent etre uniques; pour les logs il est préférable que chacun ait ses logs. Pour se connecter avec mysql ou faire un mysqldump, il faut préciser | ||
le port et la socket. | |||
Ici on a 3 instances : my-demo port 3309, my-prod port 3306 et my-preprod 3308. | Ici on a 3 instances : my-demo port 3309, my-prod port 3306 et my-preprod 3308. | ||
* Script d'init | * Script d'init | ||
Cela dépend des versions de mysql, ici nous sommes en 5.5 | Cela dépend des versions de mysql, ici nous sommes en 5.5 (à adapter pour chacune des instances) | ||
<pre> | <pre> | ||
au début du fichier | au début du fichier | ||
| Ligne 75 : | Ligne 76 : | ||
socket = /tmp/mysql-prod.sock | socket = /tmp/mysql-prod.sock | ||
</pre> | </pre> | ||
[[Catégorie:Software]] | [[Catégorie:Software]] | ||
Version actuelle datée du 30 janvier 2013 à 12:03
Il est possible d'installer une seule fois mysql et d'avoir plusieurs instances (donc plusieurs bases mysql) qui tournent sur différents ports. Il va falloir faire un script d'init et un fichier de conf par instance. On pourrait aussi installer 3 mysql pour que chacun ait son binaire. Les paramètres ports, pid et socket doivent etre uniques; pour les logs il est préférable que chacun ait ses logs. Pour se connecter avec mysql ou faire un mysqldump, il faut préciser le port et la socket. Ici on a 3 instances : my-demo port 3309, my-prod port 3306 et my-preprod 3308.
- Script d'init
Cela dépend des versions de mysql, ici nous sommes en 5.5 (à adapter pour chacune des instances)
au début du fichier ++ basedir=/opt/applis/mysql ++ datadir=/opt/datas/preprod/mysql ++ conf=/etc/my-preprod.cnf ++ pid_file=/opt/datas/demo/mysql/mysql.pid ++ server_pid_file=/opt/datas/demo/mysql/mysql.pid Supprimer la ligne conf= (ligne 187), entre # Try to find basedir in /etc/my.cnf et print_defaults= Au niveau du start, rajouter l'argument --defaults-file=$conf sur la ligne de $bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file...
- Fichier de configuration
:::::::::::::: /etc/my-demo.cnf :::::::::::::: [mysqld] log-error = /var/log/mysql/error-demo.log slow-query-log = 1 slow-query-log-file = /var/log/mysql/slowquery-demo.log wait_timeout = 60 query_cache_size = 16777216 tmp_table_size = 67108864 max_connections = 200 thread_cache_size = 128 max_heap_table_size = 33554432 table_cache = 512 query_cache_limit = 2097152 port = 3308 socket = /tmp/mysql-demo.sock :::::::::::::: /etc/my-preprod.cnf :::::::::::::: [mysqld] log-error = /var/log/mysql/error-preprod.log slow-query-log = 1 slow-query-log-file = /var/log/mysql/slowquery-preprod.log wait_timeout = 60 query_cache_size = 16777216 tmp_table_size = 67108864 max_connections = 200 thread_cache_size = 128 max_heap_table_size = 33554432 table_cache = 512 query_cache_limit = 2097152 port = 3307 socket = /tmp/mysql-preprod.sock :::::::::::::: /etc/my-prod.cnf :::::::::::::: [mysqld] log-error = /var/log/mysql/error-prod.log slow-query-log = 1 slow-query-log-file = /var/log/mysql/slowquery-prod.log wait_timeout = 60 query_cache_size = 16777216 tmp_table_size = 67108864 max_connections = 200 thread_cache_size = 128 max_heap_table_size = 33554432 table_cache = 512 query_cache_limit = 2097152 port = 3306 socket = /tmp/mysql-prod.sock