mysqld_safe não inicia após instalar o MySQL 5.7.13 port no FreeBSD / amd64 10.3 usando pkg

1

Eu tenho um problema com a execução do servidor mysql. Acabei de instalar o FreeBSD 10.3 e quero rodar aqui o servidor MySQL, mas o processo não inicia.

Aqui estão todos os comandos que eu dei após instalar o FreeBSD, passo-a-passo:

portsnap fetch extract
pkg update
pkg install mysql57-server

/ * Aqui o mysql diz sobre o arquivo .mysql_secret com senha para root, mas não está gerando nada. Eu posso usar, mas não há resultado ... * /

find / -iname .mysql_secret

Quando tento executar o MySQL pela primeira vez usando este comando:

mysqld_safe --initialize --user=mysql

Eu recebo este aqui:

mysqld_safe Logging to '/var/db/mysql/host.err'
mysqld_safe Starting mysqld deamon with databases from /var/db/mysql
mysqld_safe mysqld from pid file /var/db/mysql/host.pid ended

Aqui você está /var/db/mysql/host.err

2016-08-22T11:56:27.6NZ mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
2016-08-22T11:56:27.533572Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2016-08-22T11:56:27.533635Z 0 [ERROR] Aborting

2016-08-22T11:56:27.6NZ mysqld_safe mysqld from pid file /var/db/mysql/host.pid ended

Eu encontrei algo semelhante:

link

link

Ainda não há solução. Alguma ideia? Eu realmente preciso do MySQL. Eu tentei com o MySQL 5.6 também. O mesmo problema ...

No final /usr/local/etc/mysql/my.cnf

# $FreeBSD: branches/2016Q3/databases/mysql57-server/files/my.cnf.sample.in 414707 2016-05-06 14:39:59Z riggs $

[client]
port                            = 3306
socket                          = /tmp/mysql.sock

[mysql]
prompt                          = \u@\h [\d]>\_
no_auto_rehash

[mysqld]
user                            = mysql
port                            = 3306
socket                          = /tmp/mysql.sock
bind-address                    = 127.0.0.1
basedir                         = /usr/local
datadir                         = /var/db/mysql
tmpdir                          = /var/db/mysql_tmpdir
slave-load-tmpdir               = /var/db/mysql_tmpdir
secure-file-priv                = /var/db/mysql_secure
log-bin                         = mysql-bin
log-output                      = TABLE
master-info-repository          = TABLE
relay-log-info-repository       = TABLE
relay-log-recovery              = 1
slow-query-log                  = 1
server-id                       = 1
sync_binlog                     = 1
sync_relay_log                  = 1
binlog_cache_size               = 16M
expire_logs_days                = 30
default_password_lifetime       = 0
enforce-gtid-consistency        = 1
gtid-mode                       = ON
safe-user-create                = 1
lower_case_table_names          = 1
explicit-defaults-for-timestamp = 1
myisam-recover-options          = BACKUP,FORCE
open_files_limit                = 32768
table_open_cache                = 16384
table_definition_cache          = 8192
net_retry_count                 = 16384
key_buffer_size                 = 256M
max_allowed_packet              = 64M
query_cache_type                = 0
query_cache_size                = 0
long_query_time                 = 0.5
innodb_buffer_pool_size         = 1G
innodb_data_home_dir            = /var/db/mysql
innodb_log_group_home_dir       = /var/db/mysql
innodb_data_file_path           = ibdata1:128M:autoextend
innodb_temp_data_file_path      = ibtmp1:128M:autoextend
innodb_flush_method             = O_DIRECT
innodb_log_file_size            = 256M
innodb_log_buffer_size          = 16M
innodb_write_io_threads         = 8
innodb_read_io_threads          = 8
innodb_autoinc_lock_mode        = 2
skip-symbolic-links

[mysqldump]
max_allowed_packet              = 256M
quote_names
quick
    
por qwaler 22.08.2016 / 14:12

3 respostas

1

Finalmente eu mesmo encontrei a solução:

cd /var/db/mysql #IMPORTANT STEP
/usr/local/libexec/mysqld --initialize --user=mysql #SECOND IMPORTANT STEP
echo mysql_enable="YES" >> /etc/rc.conf
service mysql-server start
mysql -u root -p (here password randomly generated from the terminal)

e assim por diante ...

    
por 31.08.2016 / 01:44
1

Você precisa inicializar o banco de dados. Isso já é tratado no script de inicialização do FreeBSD, mas provavelmente não é muito difícil fazer isso da maneira mais difícil. Veja o utilitário mysql_install_db .

No entanto, se você adicionar o seguinte ao seu arquivo /etc/rc.conf :

mysql_enable="YES"

Em seguida, o utilitário mysql_install_db será executado automaticamente pela primeira vez.

O serviço é iniciado automaticamente no momento da inicialização ou manualmente usando o service command :

service mysql start
    
por 22.08.2016 / 15:45
1

Antes de poder executar o seu comando mysql você precisará iniciar o serviço mysql fazendo o seguinte como root:

echo mysql_enable="YES" >> /etc/rc.conf
service mysql start

Isto irá gerar o arquivo /root/.mysql_secret que contém a senha inicial para 'root' @ 'localhost'. Você então poderá executar o seu comando mysql.

    
por 30.08.2016 / 10:17

Tags