Instalar MySQL y phpMyAdmin para el sitio del servidor de MU
Guía completa para instalar MySQL y phpMyAdmin para el sitio web de un servidor de MU Online: la diferencia entre MySQL (para el sitio) y SQL Server (para el juego), cuándo instalar MySQL de forma dedicada en lugar de usar XAMPP o AppServ, el proceso paso a paso de instalación de MySQL Community Server en Windows, cómo configurar MySQL como servicio de Windows, la instalación de phpMyAdmin como interfaz gráfica, cómo crear la base de datos y el usuario dedicado para el sistema web de MU, cómo importar las tablas del sistema web, buenas prácticas de seguridad para MySQL en servidores de MU (contraseña de root, no exponer el puerto 3306, usuario dedicado), y cómo conectar el sistema web con el MySQL recién instalado.
MySQL es la base de datos que usan muchos sistemas web de MU Online para el sitio — noticias, configuraciones, y datos adicionales. Esta guía cubre la instalación dedicada de MySQL y phpMyAdmin.
MySQL es la base de datos que usan muchos sistemas web de MU Online para el sitio — noticias, configuraciones, y datos adicionales. Esta guía cubre la instalación dedicada de MySQL y phpMyAdmin.
MySQL vs SQL Server — la diferencia clave
LA CONFUSIÓN MÁS COMÚN:
SQL SERVER (Microsoft):
→ Para el JUEGO (MuServer/GameServer/DataServer/JoinServer/EventServer)
→ Almacena: cuentas de jugadores, personajes, ítems, guilds, kills, eventos del juego
→ Puerto: 1433 — Requisito técnico del MuServer, sin alternativa
MYSQL:
→ Para el SITIO WEB (noticias, configuraciones del sitio, sesiones)
→ Puerto: 3306
→ No siempre es necesario — algunos sistemas web leen el SQL Server directamente
PUEDEN COEXISTIR:
→ Es perfectamente normal tener SQL Server 2008 R2 Y MySQL en el mismo servidor
→ No hay conflicto de puertos entre ellos (1433 vs 3306)
Instalación de MySQL Community Server
DESCARGAR E INSTALAR MYSQL:
PASO 1 — DESCARGAR:
→ Busca "MySQL Community Server download" en el sitio de MySQL
→ Para Windows: descarga el instalador "mysql-installer-community-X.X.X.msi"
PASO 2 — EJECUTAR EL INSTALADOR:
→ Ejecuta como Administrador
→ "Choosing a Setup Type": selecciona "Server only"
PASO 3 — CONFIGURACIÓN DE RED:
→ Port: 3306 (mantén el predeterminado)
→ Config Type: "Server Computer" (para un servidor) o "Development Computer" (PC local)
PASO 4 — AUTENTICACIÓN (IMPORTANTE):
→ OPCIÓN A: "Use Strong Password Encryption" (caching_sha2_password)
→ Más segura pero sistemas PHP antiguos pueden no soportarla
→ OPCIÓN B: "Use Legacy Authentication Method" (mysql_native_password)
→ Compatible con todos los sistemas PHP incluyendo versiones antiguas
→ PARA SISTEMAS WEB DE MU ONLINE: si tu sistema usa PHP 7.x o anterior,
selecciona la Opción B (Legacy) para garantizar compatibilidad
PASO 5 — CONTRASEÑA DE ROOT (CRÍTICO):
→ Define una contraseña fuerte para el usuario root de MySQL
→ ANOTA ESTA CONTRASEÑA — la necesitas para phpMyAdmin y para crear usuarios del sitio
PASO 6 — SERVICIO DE WINDOWS:
→ Marca: "Start the MySQL Server at System Startup" para que MySQL inicie con Windows
→ Windows Service Name: MySQL80 (o el que el instalador sugiere)
PASO 7 — APLICAR Y FINALIZAR:
→ Clic en "Execute" para aplicar la configuración
→ MySQL se instala e inicia como servicio de Windows
Instalar phpMyAdmin
PHPMAYADMIN — LA INTERFAZ GRÁFICA DE MYSQL:
phpMyAdmin no viene incluido con el instalador de MySQL Community Server.
PREREQUISITO: Apache + PHP debe estar corriendo.
Si no tienes Apache + PHP: usa XAMPP/AppServ — ya incluyen MySQL + phpMyAdmin.
INSTALAR PHPMYADMIN (si ya tienes Apache + PHP):
1. Descarga phpMyAdmin del sitio oficial (phpMyAdmin.net)
2. Extrae en la carpeta de tu servidor web:
→ En XAMPP: C:\xampp\htdocs\phpmyadmin\
→ En AppServ: C:\AppServ\www\phpMyAdmin\
3. CONFIGURAR:
→ Copia "config.sample.inc.php" → renombra a "config.inc.php"
→ Edita config.inc.php:
$cfg['blowfish_secret'] = 'cadena_aleatoria_de_32_o_mas_caracteres';
$cfg['Servers'][1]['host'] = 'localhost';
$cfg['Servers'][1]['port'] = '3306';
4. Accede en el navegador: http://localhost/phpmyadmin/
→ Login: root + tu contraseña de root de MySQL
VERIFICAR:
→ Si ves el panel de phpMyAdmin con la lista de bases: funciona
→ Si ves error de conexión: verifica que el servicio MySQL80 está corriendo en Servicios de Windows
Crear la base de datos para el sitio de MU
CONFIGURAR LA BASE MYSQL DEL SITIO:
PASO 1 — CREAR LA BASE (en phpMyAdmin):
1. Clic en "New" en el panel izquierdo
2. Nombre: musite | Collation: utf8mb4_general_ci
3. Clic en "Create"
PASO 2 — IMPORTAR LAS TABLAS DEL SISTEMA WEB:
1. Selecciona la base "musite" en el panel izquierdo
2. Pestaña "Import" → "Choose File" → selecciona el archivo .sql del sistema web
3. Clic en "Go" → las tablas aparecen al terminar
PASO 3 — CREAR UN USUARIO DEDICADO (nunca uses root en el config del sitio):
1. phpMyAdmin → "User Accounts" → "Add user account"
2. Nombre: mu_web | Host: localhost | Contraseña: una contraseña segura
3. Marca: "Grant all privileges on database musite"
4. Clic en "Go"
PASO 4 — CONFIGURAR LA CONEXIÓN EN EL SISTEMA WEB:
// En el archivo config.php o db.php del sistema web:
$db_host = 'localhost'; // MySQL en el mismo servidor
$db_user = 'mu_web'; // el usuario dedicado (NO root)
$db_pass = 'contraseña_del_usuario_mu_web';
$db_name = 'musite'; // el nombre de la base creada
$db_port = 3306;
display_errors=On en php.ini y recarga el sitio. Access denied for user = contraseña incorrecta o usuario sin permisos. Can't connect to MySQL server = el servicio MySQL no está corriendo — verifica en Servicios de Windows que "MySQL80" esté iniciado. Unknown database 'musite' = la base no existe con ese nombre exacto.Seguridad básica de MySQL
CONFIGURACIÓN MÍNIMA DE SEGURIDAD:
1. CONTRASEÑA DE ROOT FUERTE:
→ Mínimo 12 caracteres con mayúsculas, números, y símbolos
→ Cambiar con: ALTER USER 'root'@'localhost' IDENTIFIED BY 'NuevaContraseña!';
2. NO EXPONER EL PUERTO 3306 A INTERNET:
→ Bloquea el puerto 3306 en el Firewall de Windows para acceso externo
→ El sitio PHP accede a MySQL localmente — no necesita el puerto abierto externamente
3. NUNCA USAR ROOT EN EL ARCHIVO DE CONFIGURACIÓN DEL SITIO:
→ Crea siempre un usuario dedicado con permisos solo en la base del sitio
→ Si el archivo de configuración es comprometido: el daño está limitado a esa base
4. DESHABILITAR ACCESO REMOTO AL ROOT:
→ Por defecto: root solo puede conectarse desde localhost — nunca cambies esto
→ Nunca crees root@'%' (acceso desde cualquier host)
Consulta también los tutoriales de XAMPP y AppServ (alternativas más simples que incluyen MySQL y phpMyAdmin ya integrados), el tutorial de cómo alojar el sitio del servidor (donde se usa esta base MySQL para el sistema web), y el tutorial de configuración de SQL Server para MU (para entender el otro sistema de base de datos — el del servidor del juego).
Preguntas frecuentes
¿MySQL sustituye al SQL Server del juego?
No. Este es un error de concepto muy común. El juego (MuServer) usa SQL Server de Microsoft para almacenar los datos de los jugadores, personajes, ítems, y toda la lógica del juego. MySQL es usado por muchos sistemas web de MU Online para el sitio (noticias, configuraciones del sitio, sesiones). Son sistemas de base de datos diferentes para partes diferentes del servidor. Es normal tener ambos en el mismo servidor: SQL Server para el juego y MySQL para el sitio.
¿Necesito instalar MySQL si ya uso XAMPP o AppServ?
No. XAMPP y AppServ ya incluyen MySQL en su instalación. Si usas XAMPP o AppServ, MySQL ya está disponible y puedes usarlo directamente con phpMyAdmin que también incluyen. Instala MySQL de forma dedicada solo cuando no quieres todo el stack de XAMPP/AppServ, prefieres MySQL como servicio de Windows independiente, o el sistema web tiene requisitos de versión específicos.
¿Cuál versión de MySQL instalar?
Para sistemas web modernos de MU: MySQL 8.x es la versión actual. Para sistemas web más antiguos con incompatibilidades: MySQL 5.7 tiene excelente soporte. El problema más común con MySQL 8: el método de autenticación por defecto cambió y algunos sistemas PHP antiguos no lo soportan. Si el sistema web falla al conectar: ejecuta ALTER USER 'usuario'@'localhost' IDENTIFIED WITH mysql_native_password BY 'contraseña'; para cambiar al método clásico.
¿Es seguro dejar phpMyAdmin accesible desde internet?
No, por defecto no es seguro. phpMyAdmin es muy poderosa — si alguien accede con tu contraseña de root, puede leer y eliminar toda la base. Medidas esenciales: (1) Contraseña de root muy fuerte. (2) Restringe phpMyAdmin para acceso solo desde localhost o tu IP en la configuración de Apache. (3) Considera cambiar la URL de phpMyAdmin a algo menos obvio que /phpmyadmin/.