Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
En los sistemas Linux, de forma predeterminada, MySQL (o MariaDB, una popular bifurcación de MySQL) no admite directamente la ejecución de múltiples instancias de MySQL en la misma máquina, y cada instancia utiliza un puerto diferente y un sistema de contraseña independiente. Sin embargo, puede lograr esto configurando múltiples instancias de MySQL (también conocidas como instancias múltiples). Por lo general, esto implica configurar diferentes puertos, directorios de datos, archivos de configuración y posiblemente permisos de usuario para cada instancia.
Estos son los pasos básicos para configurar múltiples instancias de MySQL:
Asegúrese de tener una instalación de MySQL que funcione. Esta guía asume que estás usando MySQL, pero si estás usando MariaDB, los pasos son muy similares.
Cree un nuevo directorio de datos para cada instancia de MySQL:
sudo mkdir -p /data/mysql1 /data/mysql2 | |
sudo chown -R mysql:mysql /data/mysql1 /data/mysql2 |
aquí/data/mysql1
y/data/mysql2
son los directorios de datos de dos instancias diferentes.
El archivo de configuración predeterminado para MySQL suele ser/etc/my.cnf
(o/etc/mysql/my.cnf
, dependiendo de su distribución). Debe crear un nuevo archivo de configuración para cada instancia.
sudo cp /etc/my.cnf /etc/mysql1.cnf | |
sudo cp /etc/my.cnf /etc/mysql2.cnf |
Modifique las siguientes secciones de cada archivo de configuración:
[mysqld]
Configuración en la seccióndatadir
para directorios de datos recién creados (p. ej./data/mysql1
o/data/mysql2
)。port
(Por ejemplo, la primera instancia usa 3306, la segunda instancia usa 3307).socket
caminos, asegurándose de que sean únicos.user
ylog_error
y otras opciones para garantizar que la instancia se ejecute de forma independiente. Para nuevas instancias de MySQL, debe inicializar el directorio de datos.Esto generalmente implica corrermysqld --initialize
omysql_install_db
(Dependiendo de su versión de MySQL). Tenga en cuenta que esto puede sobrescribir cualquier dato existente.
sudo mysqld --initialize --user=mysql --datadir=/data/mysql1 | |
sudo mysqld --initialize --user=mysql --datadir=/data/mysql2 |
Necesita escribir un script de inicio para cada instancia o usosystemd
archivos unitarios para gestionarlos. Esto suele ser complejo y debe personalizarse según sus necesidades específicas y el entorno del sistema.
Un enfoque simplificado es utilizarmysqld_safe
O ejecutar directamente desde la línea de comandomysqld
, pero esto no es adecuado para entornos de producción.
Cada instancia tiene una contraseña de root predeterminada después de la inicialización (MySQL 5.7.6 y posteriores). Debe establecer contraseñas independientes y permisos de usuario para cada instancia.
--socket
y--port
opción).ALTER USER
declaración para establecer la contraseña de root.Asegúrese de contar con estrategias de monitoreo y respaldo para mantener sus múltiples instancias de MySQL.