Falha ao abrir o arquivo de bootstrap no MySQL

1

Depois de fazer uma instalação do MySQL Ver. 5.7.10 para RH / Oracle Linux Eu recebo um erro que durante a inicialização o arquivo de bootstrap não foi encontrado. Não sei de onde isso pode vir, pois é uma instalação nova e o erro ainda não foi coberto.

Os direitos da pasta foram configurados corretamente pelo instalador:

# ls -l /var/lib | grep mysql-files
drwxr-x---. 2 mysql         mysql         4096 Dec  8 15:13 mysql-files

mysqld.log :

2015-12-08T14:13:24.524728Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-12-08T14:13:26.107212Z 0 [Warning] InnoDB: New log files created, LSN=45790
2015-12-08T14:13:26.440941Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2015-12-08T14:13:26.612704Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: d95e041f-9db5-11e5-a33f-525400eb9be6.
2015-12-08T14:13:26.650484Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2015-12-08T14:13:26.668489Z 1 [Note] A temporary password is generated for root@localhost: YZ+#zIY/m2=:
2015-12-08T14:13:39.994706Z 1 [ERROR] Failed to open the bootstrap file /var/lib/mysql-files/install-validate-password-plugin.OFJRaf.sql
2015-12-08T14:13:39.994728Z 1 [ERROR] 1105  Bootstrap file error, return code (0). Nearest query: 'LSE SET @sys.tmp.table_exists.SQL = CONCAT('SELECT COUNT(*) FROM '', in_db, ''.'', in_table, '''); PREPARE stmt_select FROM @sys.tmp.table_exists.SQL; IF (NOT v_error) THEN DEALLOCATE PREPARE stmt_select; SET out_exists = 'TEMPORARY'; END IF; END IF; END;
'
2015-12-08T14:13:39.994880Z 0 [ERROR] Aborting
    
por Peter Gerhat 08.12.2015 / 15:29

2 respostas

1

Eu tive esse erro ao instalar o mysql-community-server do repositório da Oracle.

Resolvido executando mysqld_safe com instruções para redefinir a senha. Muito estranho né?

/tmp/mysql-init.txt :

UPDATE mysql.user SET authentication_string = PASSWORD('p@ssw0rd')
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

Iniciar mysqld_safe :

mysqld_safe --init-file=/tmp/mysql-init.txt

Certifique-se de que a nova senha já esteja definida:

service mysqld stop
service mysqld start
chkconfig mysqld on

Teste a senha do root com o mysql CLI:

mysql -u root -p
    
por 14.12.2015 / 15:43
0

Este é um bug relacionado com o SELinux, você pode verificar os detalhes aqui

Você pode usar as seguintes etapas:

Passo 1: desative o SELinux usando o comando abaixo:

setenforce 0

Passo 2: Inicie o serviço mysql da seguinte forma:

service mysqld start

Agora, tudo bem.

Passo 3: Altere a senha do root (também proteja-a) usando o comando:

mysql_secure_installation

Forneça o pass fornecido pelo mysql (verifique no mysqld.log), e crie uma nova senha.

Passo 4: Habilite o recurso SELinux novamente usando o comando:

setenforce 1

Note que se você parar / reiniciar / iniciar o serviço mysql, não há necessidade de desativá-lo.

    
por 24.09.2018 / 17:35