Estás en Inicio / Editorial / Software Libre
10.05.2002
En este taller vamos a explicar los pasos a seguir para compilar MySQL en Linux y así poder usarlo con PHP.
Obtenemos login como root con el comando su -l:
[shell]$ su -l Password: [shell]#
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:
[shell]# groupadd mysql [shell]# 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:
[shell]# gunzip mysql-3.x.x.tar.gz [shell]# tar -xvf mysql-3.x.x.tar
Preparamos las fuentes para compilarlas:
[shell]# cd mysql-3.x.x [shell]# ./configure –prefix=/usr/local/mysql
Si todo ha ido bien, estaremos en condiciones de compilar MySQL:
[shell]# make && make install && echo "Bien compilado e instalado"
Si todo ha ido bien, deberemos ejecutar el script mysql_install_db:
[shell]# cd scripts [shell]# ./mysql_install_db
Si nada ha fallado, seguimos con la configuración. Ahora cambiamos los propietarios de los directorios
[shell]# chown -R root /usr/local/mysql [shell]# chown -R mysql /usr/local/mysql/var [shell]# chgrp -R mysql /usr/local/mysql
Una vez habido entregado los directorios a sus propietarios, creamos el archivo de configuración:
[shell]# cd .. [shell]# cp support-files/my-medium.cnf /etc/my.cnf
Probamos el servidor:
[shell]# /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:
[shell]# /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:
[shell]# ln /usr/local/mysql/bin/mysql /usr/bin/mysql [shell]# ln /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
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:
[shell]# 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í:
[shell]# 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
Documento redactado por Ferdy gracias a Herminio Heredia Santos para Maestros del Web.
Califica esta nota:
Fernando José Pereda Garcimartín
Colaborador de Maestros del Web y uno de los moderadores en Foros del Web
Si eres nuevo en Maestros del Web y te agradan nuestras publicaciones, te invitamos a suscribirte a nuestro Feed.
Sindícanos en: Google Reader, Bloglines, My Yahoo o My MSN | ¿Qué es el Feed?
22 comentarios en total.
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
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
Maestros del Web es el punto de encuentro para los entusiastas de la red.
Creative Commons by-nc-sa 3.0 | Política de Privacidad | CMS: Wordpress