------------------------- INTRODUCCION ----------------------------------
MySQL es un gestor de bases de datos el cual nos permise crear bases de datos las cuales podremos agregarle informacion, donde dicha informacion puede formar parte de un sistema o de una amplia base de conocimientos (muchos datos), las principales ventajas de MySQL es, que es un Getsor de Bases de Datos Gratuioto y Compatible en cualquier Plataforma, ademas los lenguajes de programacion web, como: PHP, incorporan funcionas las cuales nos brindan una forma facil de comunicarnos con nuestra Base de Datos en MySQL y empezar a interactuar con ella.
He realizado este Manual-Practico, debido a la necesidad que tengo por utilizar una BDD en mi PC/Laptop, y muchas veces sin darnos cuenta, nuestros Sistemas Linux, incorporan esta herramienta (gestor), pero no sabemos como echarlo a andar, y pues nos la pasamos descragando archivo de mysql, los cuales nunca logramos hacer que funcionen

....
Sin percatarnos que el Gestor MySQL ya esta en nuestro Sistema Linux, solo es cuestion de configurar permisos, archivos y usuarios para poder tener accedo a nuestra base de datos.
A continuacion les platico la forma mas simple de como instalar, configurar, conectar a nuestra Base de Datos MySQL que ya biene en neustro Sistema Linux ( Slackware, en especial ). Pero a pesar de que uses otra Distribucion, este manual te servira como referencia para levantar tu Gestor MySQL en tu propio Linux

.
------------------------- DESCARGA E INSTALACION ----------------------------------
Descargamos el paquete tgz de msysql, directamente de
http://linuxpackages.net.
- Mysql 5.0.16 [
Descargar]
Instalamos el paquete.
Código:
shell# installpkg mysql-5.0.16-i486-1.tgz
OJO: los que no usen
Slackware tienen que descargar el source code de MySQL, que eseria este:
mysql-standard-x.x.x-linux-i686.tar.gz (las Xs son la version)
Posteriormente hacer esto:
Código:
shell# tar -xvzf mysql-standard-x.x.x-linux-i686.tar.gz
shell# mv mysql-standard-x.x.x-linux-i686 mysql //renombramos carpeta
shell# mv mysql /usr/local/
[hr]
-------------------------------- CONFIGURACION DE ARCHIVO .CNF --------------------------------Ahora procedemos a realizar (copiar) nuestro archivo de configuracion para mysql, en este caso, en todos los Linux, ahi varios archivos de configuracion en el directorio
/etc, por lo tanto haremos esto:
OJO: los que NO usen Slackware, tiene el file de configuracio en:
/usr/local/mysql/support-files/, y NO necesitan tener la carpeta
/var/lib/ ya que su equivalencia seria
/usr/local/mysql/bin/, solo la carpeta
/var/run/mysql (crearla en su defecto).
Código:
shell# cd /etc
shell# cp my-medium.cnf my.cnf //copiamos my-medium.cnf como my.cnf
A continuacion lo editamos y quedaria asi:
Código:
shell# vi my.cnf
[client]
port = 3306
socket = /var/run/mysql/mysq/sock
[mysqld]
port = 3306
socket = /var/run/mysql/mysql.sock
datadir = /var/lib/mysql
...
..
..
Una vez modificado, pasamos a copiarlo a otro sitio.
Código:
shell# cp my.cnf /usr
Bien, hasta el momento nuestro MySQL se podra conectar una vez instalada la BDD, entonces vamosa instalar la Base de Datos.
Código:
shell# mysql_install_db
OJO: los que no usen Slackware, tienen que ejecutar:
/usr/loca/mysql/bin/mysql_install_dbListo !!.. BDD Instalada, solo queda establecer privilegios y grupos de directorios, limpirar datos de usuarios, algunas cosillas ya gregas nuestro usuario.
Y para los que NO usen Slackware deben agregar la direccion del mysql a la variable de ambiente PATH, asi:
Código:
shell# export PATH=$PATH:/usr/local/mysql/
Asi podran conectarse a mysql de forma normal (shell# mysql).
[hr]
-------------------------------- ESTABLECIENDO GRUPOS Y PRIVILEGIOS DE DIRECTORIOS -------------------------------- Los que no usen Slackware, cambien permisos en
/usr/local/ a la carpeta
mysql.
Código:
shell# cd /var/run/
shell# ls -l //listamos, y debe aparecer asi...
drwxr-x--- 3 mysql mysql 4096 2006-07-23 23:09 mysql
...
....
shell# chgrp -R users mysql
shell# chown -R mysql mysql
shell# chmod -R 0755 mysql
Activar Demonio de Mysql.
Código:
Forma 1: para los que tiene Slackware
shell# /etc/rc.d/rc.mysql start
Forma 2: Para todos
shell# mysqld_safe &
[hr]
-------------------------------- LIMPIANDO USUARIOS, ACCESOS ILEGALES, ESTABLECIENDO CONTRASEÑAS PARA ROOT -------------------------------- Código:
shell# mysql
mysql> drop database test;
mysql> use mysql;
mysql> delete from db;
mysql>flush privileges;
mysql> quit
shell# mysql -u root
mysql> use mysql;
mysql> select user, host, password from user;
+-----------+--------------+---------------+
| user | host | password |
+-----------+--------------+---------------+
| root | localhost | |
| | localhost | |
+-----------+--------------+---------------+
2 rows in set (0.00 sec)
mysql> delete from user where not ( host="localhost" AND user="root");
mysql> select user, host, password from user;
+-----------+--------------+---------------+
| user | host | password |
+-----------+--------------+---------------+
| root | localhost | |
+-----------+--------------+---------------+
1 rows in set (0.00 sec)
mysql> flush privileges;
mysql> quit
Ahora ya tenemos un solo user, que es el
root, y no podremos acceder a MYSQL asi de simple, sino que utilizaremos el user ROOT ya que es el unico que nos permite acceder al prompt de mysql ( oviamente no existe contraseña aun ).
Código:
shell# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) //esto es bueno, ya que NADIE accedera a menos que tenga un USER
shell# mysql -u root
mysql> set password for root@localhost = password('mipassword');
mysql> use mysql;
mysql> select user, host, password from user;
+-----------+--------------+------------------------------------------+
| user | host | password |
+-----------+--------------+------------------------------------------+
| root | localhost | *AD5156SA1DA5S61D |
+-----------+--------------+------------------------------------------+
1 rows in set (0.00 sec)
mysql> flush privileges;
mysql> quit
shell# mysql -u root
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) //perfect... solo se accedera a menos que ponga contrasena ^_^
shell# mysql -u root -p
Password:
mysql> use mysql;
mysql> flush privileges;
mysql> quit
[hr]
-------------------------------- AGREGANDO USUARIO(S) A MYSQL --------------------------------Ahora solo falta agregar un usuario o los que queramos

.
Código:
shell# mysql -u root -p
mysql> use mysql;
mysql> grant select, insert, alter, update, delete, drop, create on *.* to usuario@localhost identified 'password';
mysql> select user, host, password from user;
+-----------+--------------+------------------------------------------+
| user | host | password |
+-----------+--------------+------------------------------------------+
| root | localhost | *AD5156SA1DA5S61D |
| usuario | localhost | *F51F5F51FDS516DF |
+-----------+--------------+------------------------------------------+
mysql> flush privileges;
mysql> quit
Con esto finalmente agregamos un usuario llamado:
"usuario", el cual le dimos privilegios de poder: insert, select, update, delete, drop, create...
[hr]
-------------------------------- TABLA DE PRIVILEGIOS --------------------------------Para que no quede duda sobre como dar OTROS permisos mas, aqui dejo la tablita de "permisos" que se le pueden dar a un usuario.
Código:
Host % % %
User phpuser phpuser phpuser
Select_priv Y Y Y
Insert_priv Y Y Y
Update_priv Y Y Y
Delete_priv Y Y Y
Create_priv Y Y Y
Drop_priv Y Y Y
Grant_priv N N N
References_priv Y Y Y
Index_priv Y Y Y
Alter_priv Y Y Y
[hr]
-------------------------------- FORMAS DE CONECTAR A MYSQL --------------------------------Son 2, y son las siguientes:
Código:
shell# mysql -u usuario -p //forma 1
Password:
mysql> quit
shell# mysql -p //forma 2
Password:
mysql> quit
[hr]
-------------------------------- AGRADECIMIENTOS --------------------------------
Foro.elHacker.net
Staff: el-brujo,
SoulLost,
Zeo, otros..... Gracias por Ayudarme tanto y por la existencia del foro
Foro EspacioLinux
Staff: Al equipo
Etel, que siempre estan al tanto del Foro, de nuestro bendito Linux

, y sobre todo el buen trato ^_^
Foro MCTekk
Staff: SparoHawk por tener una web de Anime tan interesante, por la atencion y buena raza
[hr]
-------------------------------- NOTAS DEL AUTOR --------------------------------
Este Manual-Practico fue realizado el
24 de Julio del 2006 por:
Diabliyo
darkdiabliyo@hotmail.com
http://elite-mexicana.blogspot.com/
http://darkdiabliyo.iespana.es/
Asi que cualquier queja y duda es bienvenida...
Cualquier Publicacion porfavor se pide que se conserve el nombre del Autor y se Respete la informacion

.
Slackware, el mejor !!!