Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Habilite o suporte ao mecanismo de armazenamento MySQL InnoDB na instalação do XAMPP

O XAMPP do Apache Friends é uma coleção de aplicativos gratuitos de código aberto que facilitam a instalação da distribuição Apache contendo MySQL, PHP e Perl. Existem quatro distribuições XAMPP para Windows, Linux, Mac OS X e Solaris. Para configurar um servidor web Apache com XAMPP, basta baixar e extrair o XAMPP, e o servidor web Apache HTTPD estará pronto após mais um ou dois scripts de execução automática. Não há alterações no registro do Windows (a menos que você esteja usando a versão do instalador do Widows do XAMPP) e não é necessário editar nenhum arquivo de configuração.

No entanto, por padrão, o mecanismo de armazenamento de banco de dados InnoDB MySQL não está habilitado no arquivo de configuração my.cnf. Se um webmaster planeja usar recursos do InnoDB, como um para muitos ou muitos para muitos relacionamentos de tabela em restrições de chave estrangeira ou comandos seguros para transações, como recursos de confirmação, reversão e recuperação de falhas.

Para habilitar o suporte do servidor MySQL no mecanismo de armazenamento InnoDB, localize o arquivo de configuração “my.cnf” (normalmente em /installation_path /xampp/mysql/bin/ diretório) e edite o my.cnf com qualquer editor de texto como o vi.

Pesquise e localize cada uma das seguintes linhas (exceto as linhas em itálico onde estão os comentários):
- Comment the following line to unskip and use InnoDB
skip-innodb 

- Uncomment the following options for InnoDB database if you are using InnoDB tables.
#innodb_data_home_dir = C:/xampp/xampp/mysql/data/ 
#innodb_data_file_path = ibdata1:10M:autoextend 
#innodb_log_group_home_dir = C:/xampp/xampp/mysql/data/ 
#innodb_log_arch_dir = C:/xampp/xampp/mysql/data/ 

- Uncomment the lines and set innodb_buffer_pool_size up to 50% - 80% of RAM for optimization of InnoDB databases, try not to memory usage too high.
#set-variable = innodb_buffer_pool_size=16M 
#set-variable = innodb_additional_mem_pool_size=2M 

- Uncomment the lines and set innodb_log_file_size to 25% of InnoDB buffer pool size for optimisation.
#set-variable = innodb_log_file_size=5M 
#set-variable = innodb_log_buffer_size=8M 
#innodb_flush_log_at_trx_commit=1 
#set-variable = innodb_lock_wait_timeout=50 

Após a modificação, o código de cada linha deve ficar assim:
# skip-innodb 

innodb_data_home_dir = C:/xampp/xampp/mysql/data/ 
innodb_data_file_path = ibdata1:10M:autoextend 
innodb_log_group_home_dir = C:/xampp/xampp/mysql/data/ 
innodb_log_arch_dir = C:/xampp/xampp/mysql/data/ 

set-variable = innodb_buffer_pool_size=16M 
set-variable = innodb_additional_mem_pool_size=2M 

set-variable = innodb_log_file_size=5M 
set-variable = innodb_log_buffer_size=8M 
innodb_flush_log_at_trx_commit=1 
set-variable = innodb_lock_wait_timeout=50 

Quando o InnoDB não está habilitado e o MySQL usa o mecanismo de armazenamento de banco de dados MyISAM, alguns erros que podem ser retornados incluem:

Propriedade ou variável GET indefinida na classe 'A_Class':A_Class_Object

Erro fatal:Chame o método indefinido Object::Function() em /xampp/htdocs/wwwroot/a_page.php na linha 87