Instalé MySQL en Mac OS X
14.11.09. Por ooscarr (ooscarr)Mac OS X viene con Apache y PHP, pero sólo la versión server incluye MySQL, y hasta ahora no lo había instalado.
Puedes compilar MySQL tú mismo, como con PostgreSQl, pero para qué.
Descarga e instalación
1. Descarga MySQL
Ve a la página http://dev.mysql.com/downloads/mysql/ y descarga la última versión para Mac OS X. La versión x86 en formato DMG es la recomendada.
Si estás usando un Mac con un procesador de 64 bits (como un Core 2 Duo o Core i5, i7) y tienes algún Leopardo (OS X 10.5 u OS X 10.6) mejor descarga la versión de 64 bits para ir acorde a Apache2 que se ejecuta a 64 bits.
2. Leer antes de instalar
Si usas Mac OS X Server te recomiendo que leas el archivo Readme.txt que viene con el DMG para leer la documentación (en inglés) ya que Mac OS X Server viene con MySQL pre-instalado.
Aún si no usas la versión server, puede que ya tengas MySQL previamente instalado. Revisa si lo tienes instalado buscando algún archivo o carpeta con la palabra "mysql" en la carpeta /usr/local ó en Librería/StartupIyems, ya sea con el Finder (Menú Ir
> Ir a la carpeta...
) o con el Terminal:
ls /usr/local
ls /Library/StartupItems
Otra opción es ejecutar el comando de apagar el servidor MySQL que podría estar corriendo (y que es necesario hacerlo antes de comenzar la instalación) con el comando:
mysqladmin shutdown
Si no existe el comando, estamos bien. De todos modos, el instalador archivará una versión antigua de MySQL con la extensión .bak (siempre que el servidor MySQL haya sido parado antes de instalar).
3. Asistente de instalación
Ahora instala el paquete de instalación que NO se llama "MySQLStartupItem.pkg" y el rutinario Siguiente, Siguiente, Instalar, Finalizar.
El instalador te puede decir que no hay espacio, es un bug; retrocede y vuelve a intentarlo y no debería pasar.
Ojo, el instalador requiere un usuario llamado "mysql", pero los buenos de Apple lo crearon durante la instalación del sistema operativo. :-)
Configurar Mac OS X
Iniciar servidor
Iniciar y apagar MySQL es mucho más fácil y gráfico si se instala el panel de preferencias del sistema abriendo el archivo MySQL.prefPane incluido en la DMG de instalación de MySQL.
Con esto, iniciar o detener el servidor MySQL es muy sencillo; basta presionar un botón en el panel de Preferencias del sistema MySQL, incluso se puede configurar para que se inicie automáticamente cuando arranque el sistema sin necesidad de modificar archivos de sistema.
PHP
Apple fue lo suficientemente amable para compilar php con soporte para MySQL
así que sólo hay que configurar el archivo php.ini.
Primero ve a la carpeta /etc ó /private/etc, si ves algún archivo llamado php.ini no sigas el siguiente comando que consiste en crear una copia del archivo php.ini.default para usarlo como php.ini. Las intrucciones para el Terminal son las siguientes:
cd /etc
sudo cp php.ini.default php.ini
Edita el archivo recién creado con permisos de administrador con la instrucción:
sudo pico php.ini
Presiona control + W, busca
mysql.default_socket, y hazlo que se vea como esto:mysql.default_socket = /tmp/mysql.sockGuarda los cambios presionando control X, luego presiona Y, luego presiona enter.
Si tenías el Compartir web corriendo, reinicia Apache desactivándolo y volviéndolo a activar.
Si quieres hacer una prueba, crea el siguiente archivo:
<?php
$con = mysql_connect("localhost","root","");
if (!$con){
die('No se pudo conectar porque: ' . mysql_error());
} else{
echo "Conectado exitosamente";
}
mysql_close($con);
?>
Guárdalo como probando.php en tu carpeta ~/Web o ~/Sites, entra a http://localhost/~USUARIO/probando.php y si sale
Conectado exitosamente
Entonces todo salió bien. Si no, quizás todavía no has configurado Apache para que funcione con PHP o qué sé yo.
Configurar bases de datos inciales
Durante la instalación por defecto de MySQL, se crearon unas cuentas de usuario:
- root
- El usuario root tiene acceso de super-usuario a todas las bases de datos, sólo se puede conectar desde el computador local y por defecto no lleva contraseña.
- Cuentas anónimas
- Dos cuentas de usuario anónimas son creadas y tampoco llevan contraseña, y sólo se puede conectar a ellas desde el local-host.
Estas cuentas tienen todos los privilegios para la base de datos de prueba (
test) y para otras bases de datos con nombres que empiezan contest_.
Cambiar las contraseñas por defecto
Primero debes averiguar cuáles son las cuentas que se crearon; para eso, voy al Terminal y primero me conecto como root:
/usr/local/mysql/bin/mysql -u root
...listo las cuentas con la consulta:
mysql> SELECT Host,User FROM mysql.user ORDER BY User DESC;
En mi caso me entregó lo siguiente:
+------------------+------+ | Host | User | +------------------+------+ | localhost | root | | MacBook.local | root | | 127.0.0.1 | root | | localhost | | | MacBook.local | | +------------------+------+ 5 rows in set (0.00 sec)
Como se ve, hay 3 cuentas root (127.0.0.1, MacBook.local, y localhost; y 2 anónimas (localhost y MacBook.local)
Las cuentas anónimas se pueden eliminar, pero como ignoro si me servirán algún día, mejor le cambiaré sus contraseñas solamente.
Para cambiar estas 5 contraseñas que están en blanco por el momento, escribo las siguientes consultas:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('contraseña_root');
mysql> SET PASSWORD FOR 'root'@'MacBook.local' = PASSWORD('contraseña_root');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('contraseña_root');
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('contraseña_anónima');
mysql> SET PASSWORD FOR ''@'MacBook.local' = PASSWORD('contraseña_anónima');
Obviamente, reemplazando contraseña_root por la clave que le quieras poner al super-usuario, y las contraseña_anónima por la de las cuentas anónimas.
Desde ahora, la próxima vez que ingreses a MySQL con una cuenta que requiera contraseña, deberás agregar el parámetro -p al final, por ejemplo:
/usr/local/mysql/bin/mysql -u root -p
Si se te olvida la contraseña, consulta el manual.
Crear nueva base de datos
Ahora voy a crear una base de datos nueva llamada "db_name". Para eso, entro a MySQL como root y escribo:
CREATE DATABASE IF NOT EXISTS db_name;
Crear un nuevo usuario
Pata crear un nuevo usuario escribimos (como root MySQL):
CREATE USER 'ooscarr'@'localhost' IDENTIFIED BY 'obscure';
Con esto se creará el usuario "ooscarr" con la contraseña "obscure" para que se conecte desde localhost. Si queremos que pueda acceder desde otro equipo, habría que hacer lo mismo que se hizo anteriormente con los dominios o la dirección IP listados, que en mi caso sería:
CREATE USER 'ooscarr'@'MacBook.local' IDENTIFIED BY 'obscure';
CREATE USER 'ooscarr'@'127.0.0.1' IDENTIFIED BY 'obscure';
Asignar base de datos a un usuario
Ya, finalmente, le damos el permiso al usuario "ooscarr" recién creado para que administre la base de datos db_name, por ejemplo, con la siguiente sentencia SQL:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON db_name.*
TO 'ooscarr'@'localhost';
Y como uno se puede imaginar:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON db_name.*
TO 'ooscarr'@'MacBook.local';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON db_name.*
TO 'ooscarr'@'127.0.0.1';
Para salir de MySQL escribimos exit; y para salir del Terminal, tipeamos logout.
Instalar software para trabajar con MySQL
Existen herramientas más cómodas para utilizar una base de datos MySQL, como son las interfaces gratuitas phpMyAdmin, Netbeans IDE y la sensacional Sequel Pro, entre otros.
Importante
En el futuro si lo actualizas, asegúrate de hacerle un dump a tus bases de datos, ya que haciendo una instalación sobre una instalación existente destruirá tu directorio de datos.
Referencias
- Manual de MySQL 5 - 2.5. Instalar MySQL en Mac OS X
- Apple Developer Connection - MySQL on Mac OS X
- Apache, MySQL, and PHP on Leopard (Mac OS 10.5)
- MySQL 5.1 Reference Manual - 2.7. Installing MySQL on Mac OS X
- Setting up PHP, MySQL, and Apache in Mac OSX Leopard
- ySQL Administrator on Mac OSX Leopard: A Few Tips and Tricks
- Manual de MySQL 5 - 13.1.3. Sintaxis de
CREATE DATABASE


0 comentarios (RSS
) :
Referencias a este artículo:
Página principal