Remi C
19/05/2007, 08h59
Migrer MySQL 3.23
Bonjour,
-----------------------------------------------------------------------------------------------
Voici un message que j'ai envoye sur la liste [sd] d'OVH. Je le publie ici egalement, ca pourrait etre util :-)
-----------------------------------------------------------------------------------------------
La solution que j'ai trouve la plus simple au niveau de la migration MySQL c'est de laisser la version 3.23 d'OVH et d'installer la version 5. Il y a donc deux serveurs MySQL sur le dedie et je fais mes migrations et test de code tranquilement. J'ai fais ca le mois dernier et le seul probleme que j'ai rencontre jusqu'a aujourd'huis a ete lors d'un reboot de la machine ou 3.23 n'a pas redemarrer tout seul :-( Bon c'est pas terrible comme nouvelle mais quand la migration sera terminee je n'aurai plus besoin de 3.23.
Pour ne pas interferer l'installation d'OVH j'ai cree un nouvel utilisateur mysql5 et un nouveau groupe mysql5. De cette facon la nouvelle install utilise le user mysql5. Chacun chez soit :-)
La seule modification de l'install 3.23 d'OVH consiste a changer de place my.cnf. On le place dans le dossier /var/lib/mysql ce qui ne gene en rien puisqu'on respect les condition de MySQL. Si on effectue pas ce changement MySQL5 prendra la configuration de MySQL3.23 en demarrant. Pas cool :-(
ATTENTION -> lors des prochaines releases, si PHP est recompile prenez garde a bien rajouter
--with-mysqli=/usr/local/mysql-5.0.37 \
dans la configuration de la compilation du patch d'OVH avant de le lancer. En fait vous devrez mettre cette ligne a deux endroits differents. Dans :
# install PHP for apache
et dans :
# install PHP for cgi use
Cette install de MySQL5 est compilee pour avoir le support UTF8 et pour travailler aussi avec une connexion par socket.
J'espere que ce modeste HowTo pourra en aider quelques un. J'ai moi meme trouve enormement d'aide sur cette liste et je tiens a tous vous remercier :-D Evidemment je suis ouvert a toutes remarque, personne n'est parfait hehehe :-)
Remi
www.sebaly.com
--------------------------------------------------------------------------------
05/2007
-----------------------------------------
MANUALES UTILES
MANUELS UTILS
-----------------------------------------
http://mysql.osuosl.org/doc/refman/5...k-install.html
http://mysql.osuosl.org/doc/refman/5...e-servers.html
http://mysql.osuosl.org/doc/refman/5...x-servers.html
Eventuellement:
http://mysql.osuosl.org/doc/refman/5...qld-multi.html
---------------------------------------------------------------------
INSTALACION COMPILACION MYSQL5 DEJANDO MYSQL3.23 - SERVIDOR OVH
INSTALATION COMPILATION MYSQL5 EN LAISSANT MYSQL3.23 - SERVEUR OVH
---------------------------------------------------------------------
# Server Version REDHAT OVH Release 1.77
# Cambiamos de sitio el my.cnf del MySQL 3.23
# On change d'endroit le my.cnf de MySQL 3.23
remi> cp /etc/my.cnf /var/lib/mysql
remi> chmod 660 /var/lib/mysql/my.cnf
remi> chown mysql.mysql /var/lib/mysql/my.cnf
# Preparamos la carpeta de los logs
# On prepar le dossier pour les logs
remi> mkdir /var/log/mysql-5.0.37
remi> chmod 775 /var/log/mysql-5.0.37
remi> chgrp mysql5 . /var/log/mysql-5.0.37
# Creamos un usuario nuevo para MySQL 5
# On cree un utilisateur nouveau pour MySQL 5
shell> groupadd mysql5
shell> useradd -g mysql5 mysql5
# Descomprimimos los ficheros que nos hemos bajados
# Decompretion des fichiers
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> cd mysql-VERSION
# Configuracion para la compilacion
# Configuration pour la compilation
remi> ./configure --prefix=/usr/local/mysql-5.0.37 \
--with-unix-socket-path=/usr/local/mysql-5.0.37/mysql5037.sock \
--with-tcp-port=5037 \
--localstatedir=/usr/local/mysql-5.0.37 \
--with-charset=utf8 \
--with-collation=utf8_bin \
--with-extra-charsets=all
#Compilacion
#Compilation
shell> make
shell> make install
# Confguracion final
# Confguration final
shell> cp support-files/my-medium.cnf /usr/local/mysql-5.0.37/my.cnf
shell> cd /usr/local/mysql-5.0.37
shell> bin/mysql_install_db
shell> chown -R root .
shell> chown -R mysql5 var #Sale error #Une erreur apparait
shell> chgrp -R mysql5 .
# Tambien damos los derechos correctos a la carpeta donde se ha instalado MySQL5
# On met correctement les droits sur le dosier ou nous avons installe MySQL5
remi> chgrp mysql5 . /usr/local/mysql-5.0.37/
remi> chmod 777 /usr/local/mysql-5.0.37/
# Copiamos el script para que MySQL 5 se arranca como servicio (copiar sobre una sola linea)
# On copie le script pour que MySQL 5 demarre comme service (copier sur une seule ligne)
remi_es> cp /path/donde/descomprimimos/mysql/support-files/mysql.server /etc/init.d/mysql5037
remi_fr> cp /path/ou/on/a/decompresse/mysql/support-files/mysql.server /etc/init.d/mysql5037
# Activamos el servicio para que MySQL 5 se arranca de forma automatica cuando se reinicia el servidor
# On active le service pour que MySQL 5 demarre automatiquement quand le serveur ce reinicie
chkconfig --add mysql5037
# Verificamos
# On verifie
chkconfig --list
# Hacemos una prueba de arrancar a ver si esta todo correcto
# On essai de demarrer pour voir si tout est correcte
shell> bin/mysqld_safe --user=mysql5 &
# Apagar MySQL 5
# On arrete MySQL 5
remi> /etc/init.d/mysql5037 stop
# Arrancar MySQL 5 para siempre
# On demarre MySQL 5 pour toujours
remi> /etc/init.d/mysql5037 start
# Cuando todo esta OK, cambiamos el password de root (copiar sobre una sola linea)
# Quand tout est correcte on change le password de root (copier sur une seule ligne)
remi> /usr/local/mysql-5.0.37/bin/mysqladmin --socket=/usr/local/mysql-5.0.37/mysql5037.sock -u root password 'new-password'
remi> /usr/local/mysql-5.0.37/bin/mysqladmin --socket=/usr/local/mysql-5.0.37/mysql5037.sock -u root -h nsxxxx.ovh.net password 'new-password'
-----------------------------------------------------------------
HACEMOS UN ALIAS PARA QUE PODAMOS UTILIZAR mysqL5 Y mysqladmin5
ON FAIT UN ALIAS POUR POUVOIR UTILISER mysql5 ET mysqladmin5
-----------------------------------------------------------------
# Editamos .bashrc del root
# On edite .bashrc de root
remi> pico /root/.bashrc
# Copiamos estas lineas para los aliases (justo abajo de alias mv='mv -i')(copiar sobre una sola linea empezando por alias)
# On copie ces lignes pour les alias (juste en dessous de alias mv='mv -i')(copier sur une seule ligne en commencant par alias)
alias mysql5='/usr/local/mysql-5.0.37/bin/mysql --socket=/usr/local/mysql-5.0.37/mysql5037.sock'
alias mysqladmin5='/usr/local/mysql-5.0.37/bin/mysqladmin --socket=/usr/local/mysql-5.0.37/mysql5037.sock'
# Hacemos un logout y volvemos a entrar en SSH para que los aliases funcionan
# On fait un logout et on se roconnect avec SSH pour que les alias fonctionnent
remi> exit
-----------------------------------------
CONFIGURACION MYSQL5 (my.cnf)
CONFIGURATION MYSQL5 (my.cnf)
-----------------------------------------
# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /usr/local/mysql-5.0.37) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 5037
socket = /usr/local/mysql-5.0.37/mysql5037.sock
datadir = /usr/local/mysql-5.0.37/data
user = mysql5
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 5037
socket = /usr/local/mysql-5.0.37/mysql5037.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
user = mysql5
log-slow-queries = /var/log/mysql-5.0.37/slow-query.log
#old-passwords
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
==>> Arg' le forum se plaind du message trop long. Le message complet est ici: http://www.chillet.com/mysql3.23_et_..._dedie_ovh.txt
Bonjour,
-----------------------------------------------------------------------------------------------
Voici un message que j'ai envoye sur la liste [sd] d'OVH. Je le publie ici egalement, ca pourrait etre util :-)
-----------------------------------------------------------------------------------------------
La solution que j'ai trouve la plus simple au niveau de la migration MySQL c'est de laisser la version 3.23 d'OVH et d'installer la version 5. Il y a donc deux serveurs MySQL sur le dedie et je fais mes migrations et test de code tranquilement. J'ai fais ca le mois dernier et le seul probleme que j'ai rencontre jusqu'a aujourd'huis a ete lors d'un reboot de la machine ou 3.23 n'a pas redemarrer tout seul :-( Bon c'est pas terrible comme nouvelle mais quand la migration sera terminee je n'aurai plus besoin de 3.23.
Pour ne pas interferer l'installation d'OVH j'ai cree un nouvel utilisateur mysql5 et un nouveau groupe mysql5. De cette facon la nouvelle install utilise le user mysql5. Chacun chez soit :-)
La seule modification de l'install 3.23 d'OVH consiste a changer de place my.cnf. On le place dans le dossier /var/lib/mysql ce qui ne gene en rien puisqu'on respect les condition de MySQL. Si on effectue pas ce changement MySQL5 prendra la configuration de MySQL3.23 en demarrant. Pas cool :-(
ATTENTION -> lors des prochaines releases, si PHP est recompile prenez garde a bien rajouter
--with-mysqli=/usr/local/mysql-5.0.37 \
dans la configuration de la compilation du patch d'OVH avant de le lancer. En fait vous devrez mettre cette ligne a deux endroits differents. Dans :
# install PHP for apache
et dans :
# install PHP for cgi use
Cette install de MySQL5 est compilee pour avoir le support UTF8 et pour travailler aussi avec une connexion par socket.
J'espere que ce modeste HowTo pourra en aider quelques un. J'ai moi meme trouve enormement d'aide sur cette liste et je tiens a tous vous remercier :-D Evidemment je suis ouvert a toutes remarque, personne n'est parfait hehehe :-)
Remi
www.sebaly.com
--------------------------------------------------------------------------------
05/2007
-----------------------------------------
MANUALES UTILES
MANUELS UTILS
-----------------------------------------
http://mysql.osuosl.org/doc/refman/5...k-install.html
http://mysql.osuosl.org/doc/refman/5...e-servers.html
http://mysql.osuosl.org/doc/refman/5...x-servers.html
Eventuellement:
http://mysql.osuosl.org/doc/refman/5...qld-multi.html
---------------------------------------------------------------------
INSTALACION COMPILACION MYSQL5 DEJANDO MYSQL3.23 - SERVIDOR OVH
INSTALATION COMPILATION MYSQL5 EN LAISSANT MYSQL3.23 - SERVEUR OVH
---------------------------------------------------------------------
# Server Version REDHAT OVH Release 1.77
# Cambiamos de sitio el my.cnf del MySQL 3.23
# On change d'endroit le my.cnf de MySQL 3.23
remi> cp /etc/my.cnf /var/lib/mysql
remi> chmod 660 /var/lib/mysql/my.cnf
remi> chown mysql.mysql /var/lib/mysql/my.cnf
# Preparamos la carpeta de los logs
# On prepar le dossier pour les logs
remi> mkdir /var/log/mysql-5.0.37
remi> chmod 775 /var/log/mysql-5.0.37
remi> chgrp mysql5 . /var/log/mysql-5.0.37
# Creamos un usuario nuevo para MySQL 5
# On cree un utilisateur nouveau pour MySQL 5
shell> groupadd mysql5
shell> useradd -g mysql5 mysql5
# Descomprimimos los ficheros que nos hemos bajados
# Decompretion des fichiers
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> cd mysql-VERSION
# Configuracion para la compilacion
# Configuration pour la compilation
remi> ./configure --prefix=/usr/local/mysql-5.0.37 \
--with-unix-socket-path=/usr/local/mysql-5.0.37/mysql5037.sock \
--with-tcp-port=5037 \
--localstatedir=/usr/local/mysql-5.0.37 \
--with-charset=utf8 \
--with-collation=utf8_bin \
--with-extra-charsets=all
#Compilacion
#Compilation
shell> make
shell> make install
# Confguracion final
# Confguration final
shell> cp support-files/my-medium.cnf /usr/local/mysql-5.0.37/my.cnf
shell> cd /usr/local/mysql-5.0.37
shell> bin/mysql_install_db
shell> chown -R root .
shell> chown -R mysql5 var #Sale error #Une erreur apparait
shell> chgrp -R mysql5 .
# Tambien damos los derechos correctos a la carpeta donde se ha instalado MySQL5
# On met correctement les droits sur le dosier ou nous avons installe MySQL5
remi> chgrp mysql5 . /usr/local/mysql-5.0.37/
remi> chmod 777 /usr/local/mysql-5.0.37/
# Copiamos el script para que MySQL 5 se arranca como servicio (copiar sobre una sola linea)
# On copie le script pour que MySQL 5 demarre comme service (copier sur une seule ligne)
remi_es> cp /path/donde/descomprimimos/mysql/support-files/mysql.server /etc/init.d/mysql5037
remi_fr> cp /path/ou/on/a/decompresse/mysql/support-files/mysql.server /etc/init.d/mysql5037
# Activamos el servicio para que MySQL 5 se arranca de forma automatica cuando se reinicia el servidor
# On active le service pour que MySQL 5 demarre automatiquement quand le serveur ce reinicie
chkconfig --add mysql5037
# Verificamos
# On verifie
chkconfig --list
# Hacemos una prueba de arrancar a ver si esta todo correcto
# On essai de demarrer pour voir si tout est correcte
shell> bin/mysqld_safe --user=mysql5 &
# Apagar MySQL 5
# On arrete MySQL 5
remi> /etc/init.d/mysql5037 stop
# Arrancar MySQL 5 para siempre
# On demarre MySQL 5 pour toujours
remi> /etc/init.d/mysql5037 start
# Cuando todo esta OK, cambiamos el password de root (copiar sobre una sola linea)
# Quand tout est correcte on change le password de root (copier sur une seule ligne)
remi> /usr/local/mysql-5.0.37/bin/mysqladmin --socket=/usr/local/mysql-5.0.37/mysql5037.sock -u root password 'new-password'
remi> /usr/local/mysql-5.0.37/bin/mysqladmin --socket=/usr/local/mysql-5.0.37/mysql5037.sock -u root -h nsxxxx.ovh.net password 'new-password'
-----------------------------------------------------------------
HACEMOS UN ALIAS PARA QUE PODAMOS UTILIZAR mysqL5 Y mysqladmin5
ON FAIT UN ALIAS POUR POUVOIR UTILISER mysql5 ET mysqladmin5
-----------------------------------------------------------------
# Editamos .bashrc del root
# On edite .bashrc de root
remi> pico /root/.bashrc
# Copiamos estas lineas para los aliases (justo abajo de alias mv='mv -i')(copiar sobre una sola linea empezando por alias)
# On copie ces lignes pour les alias (juste en dessous de alias mv='mv -i')(copier sur une seule ligne en commencant par alias)
alias mysql5='/usr/local/mysql-5.0.37/bin/mysql --socket=/usr/local/mysql-5.0.37/mysql5037.sock'
alias mysqladmin5='/usr/local/mysql-5.0.37/bin/mysqladmin --socket=/usr/local/mysql-5.0.37/mysql5037.sock'
# Hacemos un logout y volvemos a entrar en SSH para que los aliases funcionan
# On fait un logout et on se roconnect avec SSH pour que les alias fonctionnent
remi> exit
-----------------------------------------
CONFIGURACION MYSQL5 (my.cnf)
CONFIGURATION MYSQL5 (my.cnf)
-----------------------------------------
# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /usr/local/mysql-5.0.37) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 5037
socket = /usr/local/mysql-5.0.37/mysql5037.sock
datadir = /usr/local/mysql-5.0.37/data
user = mysql5
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 5037
socket = /usr/local/mysql-5.0.37/mysql5037.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
user = mysql5
log-slow-queries = /var/log/mysql-5.0.37/slow-query.log
#old-passwords
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
==>> Arg' le forum se plaind du message trop long. Le message complet est ici: http://www.chillet.com/mysql3.23_et_..._dedie_ovh.txt