segunda-feira, 6 de maio de 2013

[Warning] ..... porque o usuário foi definido como 'mysql' mais cedo na linha de comando

Original post: http://anothermysqldba.blogspot.com/2013/05/warning-because-user-was-set-to-mysql.html



shell> scripts/mysql_install_db --basedir=/usr/local/demouser --datadir=/var/lib/demodb --user=demouser --ldata=/var/lib/demodb

Installing MySQL system tables...


[Warning] Ignoring user change to 'demouser' because the user was set to 'mysql' earlier on the command line


Installation of system tables failed !
 

Este é um erro que faz você olhar para trás para o comando que você acabou de entrar e começar a questionar-se. O erro não é o que parece. Se você estiver instalando o MySQL em um servidor que já possui uma instalação ou fez uma vez, é provável que um arquivo my.cnf está atualmente em vigor. Este arquivo pode ser muito válido para o servidor ativo e é ok para ser deixado sozinho nesses casos. A correção para este erro é substituir os padrões e permitir que o servidor MySQL para puxar a partir de um arquivo diferente, que inclui o nome de usuário que você preferir. Você pode alterar o nome de usuário no arquivo, mas é provável que você esteja olhando para testar e fazer outras coisas, de modo a seguir é um exemplo de como obter o erro acima instalado e funcionando novamente.




shell> cp support-files/my-small.cnf /etc/demodb.cnf
shell> vi /etc/demodb.cnf
port = 3307
socket = / tmp / demodb.sock

user = demouser
pid_file = / var / lib / demodb / demodb.pid

shell> os scripts / mysql_install_db - defaults-file = / etc / demodb.cnf   - Basedir = / usr / local / demouser - datadir = / var / lib / demodb - user = demouser - ldata = / var / lib / demodb


Instalação de sistema de tabelas MySQL ...
Ok
Preenchendo as tabelas de ajuda ...
Ok



Novamente, se um arquivo my.cnf atualmente existe o mysql_install_db vai tentar usar esse arquivo. Muitas vezes nesse arquivo um nome de usuário é definido o que levou ao erro "o usuário foi definido como 'mysql' mais cedo na linha de comando"


shell> chown -R demouser /var/lib/demodb/*
shell> # bin/mysqld_safe --defaults-file=/etc/demouser.cnf --user= demouser --datadir=/var/lib/demodb/ --port=3307

# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/demodb.server

shell> # bin/ mysql --port=3307 --socket=/tmp/ demodb .sock
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.30 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.