Hoy hablaremos algo relacionado a base de datos, especificamente la instalación de MySQL. Para ello utilizaremos como sistema operativo Ubuntu.
Paso 1: Algo muy importante es actualizar el repositorio del sistema operativo
#sudo apt-get update
Paso 2: Instalaremos los paquetes mysql-sever, mysql-common y mysql-client
#sudo apt-get install mysql-sever mysql-common mysql-client
Paso 3: Comprobar la instalación
#ps -ef|grep mysql
Debe mostrar algo parecido a esto
mysql 1690 1 3 17:49 ? 00:00:00 /usr/sbin/mysqld
También se puede utilizar el siguiente comando
#sudo netstat -tap | grep mysql
Debe mostrar algo parecido a esto
tcp 0 0 localhost:mysql *:* ESCUCHAR 1690/mysqld
Paso 4: Conectarse a MySQL.
#mysql -u root -p
Introducir el password que se especifico en la instalación de MySQL, nos mostrará el siguiente mensaje
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Paso 5: Crear o restaurar una base de datos
Si no cuenta con backup de una base de datos, puedes crearla con el siguiente comando
mysql> create database dbtest;
Si deseas restaurar una base de datos, ejecuta el siguiente comando, donde ‘bk’ es el directorio donde se encuentran los backups, en tu caso especificar la ruta donde tienes tu backup
mysql> exit
#mysql -u root -p < /bk/dbtest-Atila-20120908-1642.sql
#mysql -u root -p
Paso 6: Dar permiso para acceder a nuestra base de datos desde otros host
mysql> GRANT ALL PRIVILEGES ON dbtest.* TO usuario@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> flush privileges;
Si se deseas dar permiso a una equipo con un IP especifico(ejm: 192.168.5.113), para que pueda acceder a la base de datos, hacer lo siguiente
mysql> GRANT ALL PRIVILEGES ON dbtest.* TO usuario@'192.168.5.113' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> flush privileges;
Si se desea dar acceso a toda la red local(no es lo recomendable), hacer lo siguiente
mysql> GRANT ALL PRIVILEGES ON dbtest.* TO usuario@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> flush privileges;
Para verificar los usuarios y permisos creados:
mysql> select Host,User,Password from mysql.user;
+---------------+------------------+-------------------------------------------+
| Host | User | Password |
+---------------+------------------+-------------------------------------------+
| localhost | root | *571E3BE003B3C46169D7487C6ADB903D96B92409 |
| ubuntu | root | *571E3BE003B3C46169D7487C6ADB903D96B92409 |
| 127.0.0.1 | root | *571E3BE003B3C46169D7487C6ADB903D96B92409 |
| localhost | debian-sys-maint | *3C6354DF9A1AF534EB9B879FFABCE8CB7CDFA419 |
| 192.168.5.113 | usuario | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| localhost | usuario | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| % | usuario | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+---------------+------------------+-------------------------------------------+
7 rows in set (0.00 sec) mysql>exit
Paso 7:
Si deseas revisar el log, puedes hace lo siguiente
#vi /var/log/mysql/error.log
Si deses optimizar la configuración de MySQL, debes editar el siguiente archivo
#vi /etc/mysql/my.cnf
En un posterior post, colocare algunos tips para optimizar el servicio de MySQL.
Paso 8: Para detener, iniciar o reiniciar el servicio.
#sudo service mysql stop
mysql stop/waiting
#sudo service mysql start
mysql start/running, process 2120
#sudo service mysql restart
mysql start/running, process 2200
Bueno, espero les sirva de algo lo compartido, agradecer a los compañeros de trabajo donde se aprendio un poco de todo Roger, Manuel y Juanjo.