Compilando MySQL para Linux
En este taller vamos a explicar los pasos a seguir para compilar MySQL en Linux y así poder usarlo con PHP.
- Nos ponemos como root para empezar a trabajar
- Creamos el grupo y usuario mysql
- Descargamos las fuentes de MySQL y las descomprimimos
- Preparamos las fuentes para ser compiladas
- Compilamos e instalamos las fuentes
- Instalamos la Base de Datos
- Asignamos los direcorios a sus respectivos propietarios
- Copiamos el archivo de configuración a /etc
- Probamos MySQL
Adquirimos permisos de root para no tener ningún problema
Obtenemos login como root con el comando su -l:
$ su -l Password: #
Notar que el signo $ ha cambiado por #. Si es así, habremos obtenido permisos de root, cosa que usaremos para tareas muy determinadas, ya que podemos dañar el sistema.
Añadimos el grupo mysql y creamos el usuario mysql dentro del grupo mysql:
# groupadd mysql # useradd -g mysql mysql
Bajamos las fuentes y las preparamos para compilarlas
Descargamos las fuentes en formato .tar.gz ( tarball ) de http://www.mysql.com/. (NOTA: son unos 11 Mb)
Descomprimimos las fuentes:
# gunzip mysql-3.x.x.tar.gz # tar -xvf mysql-3.x.x.tar
Preparamos las fuentes para compilarlas:
# cd mysql-3.x.x # ./configure --prefix=/usr/local/mysql
Si todo ha ido bien, estaremos en condiciones de compilar MySQL:
# make && make install && echo "Bien compilado e instalado"
Instalando las Bases de Datos
Si todo ha ido bien, deberemos ejecutar el script mysql_install_db:
# cd scripts # ./mysql_install_db
Si nada ha fallado, seguimos con la configuración. Ahora cambiamos los propietarios de los directorios
# chown -R root /usr/local/mysql # chown -R mysql /usr/local/mysql/var # chgrp -R mysql /usr/local/mysql
Una vez habido entregado los directorios a sus propietarios, creamos el archivo de configuración:
# cd .. # cp support-files/my-medium.cnf /etc/my.cnf
Probamos el servidor:
# /usr/local/mysql/bin/safe_mysqld --user=mysql & Si no devuelve ningún error, entonces está todo bien.
Comprobamos la conexión con el servidor con el programa mysql:
# /usr/local/mysql/bin/mysql Si obtenemos la línea de comandos del servidor, entonces está todo correcto
Creamos
los enlaces a los clientes de MySQL:
# ln /usr/local/mysql/bin/mysql /usr/bin/mysql # ln /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
Añadiendo Usuarios al sistema MySQL
Si
has seguido todos los pasos hasta aquí, tendrás una BD llamada mysql que es en la que se administran todos los passwords y usuarios de MySQL, lo primero que haremos será cambiar la password del root ( que ahora está vacía ):
Cambiamos la password de root con el programa mysqladmin:
# mysqladmin -u root password nuevo_password
Ahora añadiremos algunos usuarios para ver como funciona este sistema:
Para añadir usuarios, usaremos el comando GRANT, que tiene esta sintaxis:
GRANT priv_type [(column list)] [, priv_tipe[(column_lis)] ...] ON {table_name | * | *.* | db_name.*} TO user_name [IDENTIFIED BY 'password'] [, user_name [IDENTIFIED BY 'password'] ...] [WITH GRANT OPTION]
Bueno, puede parecer m ás difícil de lo que es en realidad, imaginemos que queremos crear un usuario llamado Pedro con todos los permisos sobre su base de datos llamada pedro_db, y que solo pueda conectar desde cualquier máquina de dominio.com pues haremos algo así:
# mysql -p Enter password: mysql> GRANT insert,select,update,delete,create,drop,alter ON pedro_db.* TO pedro@"%.dominio.com" IDENTIFIED BY 'p3dr0';
Una explicación de lo anterior, vamos a darle permiso
a hacer ( insert, select, update … ) sobre cualquier tabla de pedro_db
a un usuario llamado pedro que conectará desde cualquier máquina de dominio.com,
cuya password será p3dr0.
Ahora vamos a crear otro superusuario llamado ferdy que tendrá todos los
privilegios, y que podrá conectar desde cualquier sitio:
mysql> GRANT ALL PRIVILEGES ON *.* TO ferdy@"%" IDENTIFIED BY 'gh4limones25tf' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO ferdy@localhost IDENTIFIED BY 'gh4limones25tf' WITH GRANT OPTION;
Con esto tendremos a nuestro nuevo superusuario.
Supongamos por último que queremos borrar a Pedro, pues como los usuarios se guardan en la base de datos mysql en la tabla user:
mysql> use mysql; mysql> DELETE FROM user WHERE user = 'pedro'; Pedro habrá desaparecido de nuestro sistema MySQL. Y teniendo en cuenta que Ferdy no debería tener tantos permisos le quitaremos los permisos sobre la base de datos usuarios:
mysql> REVOKE ALL PRIVILEGES ON usuarios.* FROM ferdy; Y Ferdy no tendrá permisos sobre la base de datos usuarios. La sintaxis de REVOKE es:
REVOKE priv_type [(column_list)] [, priv_type [(column_list)] ...] ON {table_name | * | *.* | db_name.*} FROM user_name [, user_name ...]
Y esto es todo lo básico que necesitas saber para empezar a trabajar con MySQL sobre Linux
Si has llegado hasta aquí entonces todo ha ido bien. Sólo me queda recomendarte el tutorial de MySQL
Documento redactado por Ferdy gracias a Herminio Heredia Santos para Maestros del Web.
Hola, he hecho todo lo que dice en este manual, pero no me funciona la compilación…cuando entro en el directorio de mysql y ejecuto ./configure –prefix=/usr/local/mysql …se me para y la última linea que me pone es….mysql ended…. y se me queda parpadeando, al dar a intro y hacer el make me dice que no hay ningun objeto o miembro para hacer un makefile…..he instalado todos los paquetes en el Red Hat 8.0 referentes a mysql,apache y php, y me he descargado todo los paquites, pero no consigo que funcione….a que puede ser debido….
Gracias por todo
falta mas informacion espero que lo mejores para sacar mis tareas que me solicitan
bueno bueno
excelente
Bueno en ese tutorial habla todo pero de instalacion desde codigo fuente y que pasa cuando estamos trabajando con rpm
Me paso lo mismo no pude pasar del paso 1 al 2 de la seccion Instalando las BD :S mala onda. :_( es una pena. tendre que acudia a otra fuente de info.
jau4ju4a mira el error es que no bajaste el source 😉 bajaste el archivo equivoco el source se encuentra en la parte inferior creo todas las demas son binario
ami me funko espero = ati
bueno yo soy muy nobato en esto..primeramente no se donde tengo que escribir esos codigos..
Pues hombre toda la informacion esta muy completa, aunque sugiero las sintaxis de los diferentes composiciones de una Base de Datos…
Gracias…
bueno me parece muy bien pero como entro al shell
me parecio muy bueno tu tutorial , me gustaria saber como restaurar a mysql manda error de user y password y en ocaciones no permite realizar un dump gracias
Tengo una duda.., tengo mysql ya instalado, una aplicación en php, pero no se logra ejecuar el sql, me faltara algun perimiso?.., si ejecuta la sql directo no hay problema…
hola, son nueva en esto pero me gustaria saber como exportar una bd mysql en windows a linux que cambios se hace porfa es urgente
un poco mas claro
Esta muy bueno pero lo estas haciendo para q version de linux???
QUISIERA SABER LA DIFERENCIA ENTRE SUSE LINUX Y RED HAT LINUX
no entiendo de como debo descargar esas fuentes de mysql, abro la pagina pero me pierdo, como hago o que ruta sigo??
lo necesito tal y como esta pero para fedora… gracias
[…] ver tutorial […]
bueno todo esta muy bien pero prodrian agregar un poco mas …?
no se, pueden ofrecer un video tutorial de como istalar mysql en linux
la verdad no me sirvio de nada
no hay acaso una manera grafica de usar todos los programas de linuz ? kiero saber como enlazar mi base datos de phpmyadmin con mi pagina web en php pero no meda las herramientas por que dice qeu estan bloqueadas
oops!!! olvidé el mail, bueno, xq no contestan? o si contestan? gracias
Estimados usuarios, quiero pedir su ayuda.
desafortunadamente por cuestiones economicas no contaba con pc ni acceso a internet y por lo tanto no tenia conocimietos sobre linux, en la universidad me han pedido que realice bases de datos en red en diferentes SO(linux y windows), ok, conozco windows, pero absolutamente nada de linux, apenas hace 2 dias ue consigo una pc viejita para trabajar (mia)(pentiun 3, 600 Mhz, 256 RAm, HP kayack), hoy esta misma noche, instala ubunto 7, les pido sean tan amables de ayudarme con guias y manaules que puedan obsequiarme para aprender este sistema, Pues me quedan 2 semans para la entrega de mi proyecto, loes agradeceria mucho la ayuda, lamentablemente no tengo acceso a internet , solo por cibers.., gracias de antemano.
[…] facilita mucho las cosas. Requiere servidor web con soporte para tecnología PHP y base de datos MySQL. Así de simple y así de poco se necesita para tener instalado en minutos un blog funcional y […]
Usted llego a una empresa y se encontró con el siguiente desafío:
1.) El sistema operativo de los clientes y servidores están Linux y el ERP es un software Web escrito en php y MySQL como Base de Datos, el cual trabaja en la Intranet de la compañía y los vendedores usan un modulo que sale a Internet; El gerente de la empresa se queja de que casi todo el personal nuevo que contrata no conoce Linux y desea migrar a Windows.
¿Que haría usted?, envíenos en un zip todos los archivos que involucren su solución, no olvidar el plan de trabajo
Esta mu bien pero, para Linux Min Elysa
1.) El sistema operativo de los clientes y servidores están Linux y el ERP es un software Web escrito en php y MySQL como Base de Datos, el cual trabaja en la Intranet de la compañía y los vendedores usan un modulo que sale a Internet; El gerente de la empresa se queja de que casi todo el personal nuevo que contrata no conoce Linux y desea migrar a Windows.
¿Que haría usted?, envíenos en un zip todos los archivos que involucren su solución, no olvidar el plan de trabajo
[…] vamos a explicar los pasos a seguir para compilar MySQL en Linux y así poder usarlo con PHP. Descargar este archivo Red de portales: ConocimientosWeb – Cursos online – Diario Tecnológico – Zips del […]
Hola,
La primera instalación nos funciono bien. Sin embargo tuvimos un evento en el servidor y necesitamos instalar nuevamente. NO genera el directorio /usr/local/mysql/var y cuando se intenta subir el servicio genera el siguiente error:
root@BDB01-44 init.d]# /etc/init.d/monmysql start
Starting MySQL.Manager of pid-file quit without updating fi[FALLÓ]
Que puede ser?
Christian Van der Herst tiene un pipi chiquitooooooooooo