minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Em sistemas Linux, por padrão o MySQL (ou MariaDB, um fork popular do MySQL) não suporta diretamente a execução de múltiplas instâncias do MySQL na mesma máquina, com cada instância usando uma porta diferente e um sistema de senha independente. No entanto, você pode fazer isso configurando múltiplas instâncias do MySQL (também conhecidas como multi-instâncias). Isso geralmente envolve a configuração de diferentes portas, diretórios de dados, arquivos de configuração e possivelmente permissões de usuário para cada instância.
Aqui estão as etapas básicas para configurar várias instâncias do MySQL:
Certifique-se de ter uma instalação do MySQL funcionando. Este guia pressupõe que você esteja usando MySQL, mas se estiver usando MariaDB, as etapas são muito semelhantes.
Crie um novo diretório de dados para cada instância do MySQL:
sudo mkdir -p /data/mysql1 /data/mysql2 | |
sudo chown -R mysql:mysql /data/mysql1 /data/mysql2 |
aqui/data/mysql1
e/data/mysql2
são os diretórios de dados de duas instâncias diferentes.
O arquivo de configuração padrão do MySQL geralmente é/etc/my.cnf
(ou/etc/mysql/my.cnf
, dependendo da sua distribuição). Você precisa criar um novo arquivo de configuração para cada instância.
sudo cp /etc/my.cnf /etc/mysql1.cnf | |
sudo cp /etc/my.cnf /etc/mysql2.cnf |
Modifique as seguintes seções de cada arquivo de configuração:
[mysqld]
Configurações na seçãodatadir
para diretórios de dados recém-criados (por exemplo/data/mysql1
ou/data/mysql2
)。port
(Por exemplo, a primeira instância usa 3306, a segunda instância usa 3307).socket
caminhos, certificando-se de que sejam únicos.user
elog_error
e outras opções para garantir que a instância seja executada de forma independente. Para novas instâncias do MySQL, você precisa inicializar o diretório de dados.Isso geralmente envolve corrermysqld --initialize
oumysql_install_db
(Dependendo da sua versão do MySQL). Observe que isso pode substituir quaisquer dados existentes.
sudo mysqld --initialize --user=mysql --datadir=/data/mysql1 | |
sudo mysqld --initialize --user=mysql --datadir=/data/mysql2 |
Você precisa escrever um script de inicialização para cada instância ou usarsystemd
arquivos de unidade para gerenciá-los. Isso geralmente é complexo e precisa ser personalizado com base nas necessidades específicas e no ambiente do sistema.
Uma abordagem simplificada é usarmysqld_safe
Ou execute diretamente da linha de comandomysqld
, mas isso não é adequado para ambientes de produção.
Cada instância possui uma senha root padrão após a inicialização (MySQL 5.7.6 e posterior). Você precisa definir senhas e permissões de usuário independentes para cada instância.
--socket
e--port
opções).ALTER USER
instrução para definir a senha root.Certifique-se de ter estratégias adequadas de monitoramento e backup para manter suas múltiplas instâncias do MySQL.