2012-05-16 9 views
5

Necesito una forma genérica para instalar MySQL 5.5 en casi cualquier sistema operativo Linux desde un usuario no root. Por lo tanto, pensé instalar MySQL desde su fuente e instalarlo donde quiera que lo necesite.¿Cómo instalar MySQL 5.5 utilizando Source desde un usuario de Linux no root?

¿Es realmente posible instalar MySQL en un usuario que no sea root? ¿Alguien tiene alguna idea para esto? Por favor, comparta su experiencia para el mismo.

La principal limitación aquí es que necesito instalar MySQL 5.5 desde cualquier usuario no root de una manera Genérica y posiblemente para casi cualquier sistema operativo Linux.

Cualquier sugerencia sería apreciada.

Gracias.

CONCLUSIÓN He probado con Ubuntu-11.10, que finalmente fue capaz de instalar MySQL 5.5 de usuario no root con la restricción de que MySQL no es accesible desde indicador de la consola/mando. Como mysqld funciona correctamente, se puede acceder fácilmente a MySQL a través de cualquier herramienta GUI que se conecte a MySQL a través de conectores JDBC. Si se intenta acceder a MySQL desde el símbolo del sistema mediante la raíz

mysql -u -p

comando que estaba dando problemas fallo de segmentación. Una cosa más que probé para Fedora Linux también del usuario Non-Root, en que mysqld estaba fallando y no puede acceder a mysql de todos modos :(.

Respuesta

1

Me imagino que esto debería ser posible pero no necesariamente fácil de hacer. construir desde el origen y cambiar el archivo Makefile para que el destino de la instalación apunte al directorio local del usuario, además, creo que tendría que perder el tiempo con otras opciones de configuración predeterminadas en MySQL, que también se pueden cambiar desde los archivos de configuración. Al final, debería poder iniciar mysqld siempre que no se vincule a ningún puerto por debajo de 1000 (que es el caso de todos modos ya que MySQL se ejecuta de manera predeterminada en el puerto 3306).

5

Debe personalizar estas tres variables :

MYSQL_DATADIR 
SYSCONFDIR 
CMAKE_INSTALL_PREFIX 

Ejemplo:

$ cd <mysql_src_dir> 
$ cmake -i . 
    Would you like to see advanced options? [No]:Yes 
    Please wait while cmake processes CMakeLists.txt files.... 
    ... 
    Variable Name: CMAKE_INSTALL_PREFIX 
    Description: install prefix 
    Current Value: /usr/local/mysql 
    New Value (Enter to keep current value): /home/user/mysql 
    ... 
    Variable Name: MYSQL_DATADIR 
    Description: default MySQL data directory 
    Current Value: /usr/local/mysql/data 
    New Value (Enter to keep current value): /home/user/mysql/data 
    ... 
    Variable Name: SYSCONFDIR 
    Description: config directory (for my.cnf) 
    Current Value: /usr/local/mysql/etc 
    New Value (Enter to keep current value): /home/user/mysql/etc 
$ make 
$ make install 

En lugar de cmake -i . puede utilizar cmake -D MYSQL_DATADIR=/home/user/mysql/data -D SYSCONFDIR=/home/user/mysql/etc -D CMAKE_INSTALL_PREFIX=/home/user/mysql .

+0

Gracias por su respuesta. Finalmente lo he instalado, he cambiado la contraseña de root y luego, cuando intenté iniciar sesión, muestra un mensaje de bienvenida e inmediatamente después aparece un error: "falla de segmentación". – SmartSolution

+0

Acabo de pelear con CMake por una compilación MySQL no root y encontré que múltiples argumentos '-D' no eran compatibles con mi versión de CMake. Lección aprendida: Obtenga la última versión de CMake antes de probar lo anterior. – kevinarpe

Cuestiones relacionadas