Monday, May 6, 2013

La construcción de fuente MySQL :: MariaDB :: Percona

Original Post: http://anothermysqldba.blogspot.com/2013/05/building-from-source-mysql-mariadb.html



Es posible ejecutar más de un servidor MySQL en el mismo servidor. A veces las personas les gustaría instalar otra versión de una base de datos en el mismo hardware con fines de prueba, así como las evaluaciones.
Instalación de las bases de datos de origen y de instalaciones personalizadas para cada uno es más fácil de lo que pueda parecer a algunos. Yo sugeriría revisar MySQL Sandbox primero, sin embargo, ya que permite a las evaluaciones y pruebas para hacer muy rápidamente y fácilmente. Sin embargo, la instalación de la fuente funcionó mejor para mí cuando hice algunas comparaciones. A continuación se muestra el proceso que he usado. Voy a estar buscando para construir futuras entradas del blog con estas bases de datos una vez que sintonizo entonces configuraciones.



Esta es la información predeterminada de mysql.com . Yo ya había instalado MySQL, así que no ejecuto el siguiente, pero yo quería esto aquí como referencia. Usted puede comparar estos pasos para el MySQL, MariaDB y las instalaciones de origen Percona abajo también veo cómo he actualizado los pasos predeterminados con el fin de obtener las tres versiones de la base de datos que se ejecuta en la misma caja. (No hay valor de la producción aquí fue hecho solo para probar el proceso.)

# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql mysql

# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make
shell> make install
# End of source-build specific instructions

# Postinstallation setup
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data

# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &

# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server


If you prefer to use the script mysql.server para el arranque y parada, asegúrese de revisar y modificar en consecuencia.
# Preconfiguration setup
shell> groupadd oracle_mysql
shell> useradd -r -g
 # Preconfiguration setup
shell> groupadd oracle_mysql
shell> useradd -r -g
 oracle_mysql oracle_mysql 
oracle_mysql 
# Beginning of source-build specific instructions
shell> tar zxvf MariaDB -VERSION .tar.gz
shell> cd MySQL-VERSION
shell> cmake .
shell> make
shell> make install DESTDIR=" /usr/local/
 # Beginning of source-build specific instructions
shell> tar zxvf MariaDB -VERSION .tar.gz
shell> cd MySQL-VERSION
shell> cmake .
shell> make
shell> make install DESTDIR=" /usr/local/
 tmp-oracle_mysql "
# End of source-build specific instructions

I do not like the results
-- Installing: /usr/local/ tmp-oracle_mysql / usr / local / mysql /
If DESTDIR is should install into that location not start with user under that location. This is a MySQL original issue as it does this with all versions of MySQL.

# Fix the odd/bug setup
shell> cd /usr/local/
 If DESTDIR is should install into that location not start with user under that location. This is a MySQL original issue as it does this with all versions of MySQL.

# Fix the odd/bug setup
shell> cd /usr/local/
 tmp-oracle_mysql
shell> mv usr/local/mysql/ ../ oracle_mysql ;
shell> cd ../; # rm -Rf oracle_mysql-tmp

# Postinstallation setup
shell> cd /usr/local/ oracle_mysql 
shell> chown -R
 
shell> chown -R
 oracle_mysql .
shell> chgrp -R oracle_mysql .

# Next command is optional
shell> cp support-files/my-small.cnf /etc/
 # Next command is optional
shell> cp support-files/my-small.cnf /etc/
 oracle_mysql .cnf
shell> vi /etc/ oracle_mysql .cnf

port = 3309

socket = /tmp/ oracle_mysql .sock

shell> scripts/mysql_install_db --defaults-file=/etc/oracle_mysql.cnf --basedir=/usr/local/oracle_mysql --skip-name-resolve --datadir=/var/lib/oracle_mysql --user=oracle_mysql
shell> chown -R oracle_mysql /var/lib/oracle_mysql /*

shell> # bin/mysqld_safe --defaults-file=/etc/ oracle_mysql .cnf --user= oracle_mysql --datadir=/var/lib/ oracle_mysql / --port=3309 &


shell> # bin/ mysql --port=3309 --socket=/tmp/ oracle_mysql .sock
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.31 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.








# Preconfiguration setup
shell> groupadd mariadb
shell> useradd -r -g mariadb mariadb

# Beginning of source-build specific instructions
shell> tar zxvf MariaDB -VERSION .tar.gz
shell> cd MariaDB-VERSION
shell> cmake .
shell> make
shell> make install DESTDIR=" /usr/local/ mariadb -tmp "
# End of source-build specific instructions

I do not like the results
-- Installing: /usr/local/ mariadb-tmp /usr/local/mysql/
If DESTDIR is should install into that location not start with user under that location. This is a MySQL original issue as it does this with all versions of MySQL.

# Fix the odd/bug setup
shell> cd /usr/local/ mariadb -tmp
shell> mv usr/local/mysql/ ../ mariadb ;
shell> cd ../; # rm -Rf mariadb -tmp

# Postinstallation setup
shell> cd /usr/local/mariadb
shell> chown -R mariadb .
shell> chgrp -R mariadb .


# Siguiente comando es opcional 
shell> support-files/my-small.cnf cp / etc / MariaDB. cnf

shell> vi / etc / MariaDB. cnf

port = 3308

socket = / tmp / MariaDB. sock

shell> scripts/mysql_install_db --defaults-file=/etc/mariadb.cnf --basedir=/usr/local/ mariadb --skip-name-resolve --datadir=/var/lib/mariadb --user= mariadb
shell> chown -R mariadb /var/lib/ mariadb /*

shell> # bin/mysqld_safe --defaults-file=/etc/ mariadb .cnf --user= mariadb --datadir=/var/lib/mariadb / --port=3308 &


shell> # bin/ mysql --port=3308 --socket=/tmp/ mariadb .sock
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 1
Server version: 5.5.30-MariaDB Source distribution

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.






# Preconfiguration setup
shell> groupadd percona
shell> useradd -r -g percona percona

# Beginning of source-build specific instructions
shell> tar zxvf Percona-Server -VERSION .tar.gz
shell> cd Percona-Server-VERSION
shell> cmake .
shell> make
shell> make install DESTDIR=" /usr/local/percona-tmp "
# End of source-build specific instructions

I do not like the results

-- Installing: /usr/local/percona-tmp/usr/local/mysql/

If DESTDIR is should install into that location not start with user under that location. This is a MySQL original issue as it does this with all versions of MySQL.

# Fix the odd/bug setup
shell> cd /usr/local/percona-tmp

shell> mv usr/local/mysql/ ../percona ;

shell> cd ../; # rm -Rf percona-tmp



# Next command is optional
shell> cp support-files/my-small.cnf /etc/ percona .cnf

shell> vi /etc/ percona .cnf

port = 3307

socket = /tmp/percona.sock




Configuración posterior a la instalación #
shell> cd / usr / local / Percona 
shell> chown-R Percona.
shell> chgrp-R Percona.

shell> scripts / mysql_install_db - defaults-file = / etc / percona.cnf - basedir = / usr / local / Percona - skip-name-resolve - datadir = / var / lib / Percona - user = Percona
shell> chown-R Percona / var / lib / Percona / *
shell> # bin / mysqld_safe - defaults-file = / etc / percona.cnf - user = Percona - datadir = / var / lib / Percona / - port = 3307  



shell> # bin / mysql - port = 3307 - socket = / tmp / percona.sock
Bienvenido al monitor de MySQL. Comandos terminan con, o \ g.
Su conexión MySQL id es 1
Versión del servidor: 5.5.30 distribución Fuente

Copyright (c) 2000, 2013, Oracle y / o sus filiales. Todos los derechos reservados.




Ahora tengo acceso a los 3 sabores o MySQL.
Para el acceso de clientes fáciles añadí a mi bashrc.:

  • alias Percona = '/ usr / local / Percona / bin / mysql - port = 3307 - socket = / tmp / percona.sock'
  • alias oracle_mysql = '/ usr / local / oracle_mysql / bin / mysql - port = 3309 - socket = / tmp / oracle_mysql.sock'
  • alias maria = '/ usr / local / MariaDB / bin / mysql - port = 3308 - socket = / tmp / mariadb.sock'