:: DEVELOPER ZONE
Uma vez instalado o MySQL (de uma distribuição binária ou fonte), você deve inicializar as tabelas de concessões, iniciar o servidor e ter certeza que o servidor está funcionando bem. Você pode também desejar que o servidor inicie e pare automaticamente quando seu sistema iniciar e desligar.
Normalmente você instala as tabelas de concessões e inicia o servidor assim para instalações baseadas em uma distribuição fonte:
shell> ./scripts/mysql_install_db shell> cd diretorio_instalação_mysql shell> ./bin/mysqld_safe --user=mysql &
Para uma distribuição binária (sem ser pacotes RPM ou PKG), faça isto:
shell> cd diretorio_instalação_mysql shell> ./bin/mysql_install_db shell> ./bin/mysqld_safe --user=mysql &
O script mysql_install_db cria o banco de dados mysql que
irá armazenar todos privilégios do banco de dados, o banco de dados test
que você poderá usar para testar o MySQL e também entradas de privilégio
para o usuário que usa o mysql_install_db e o usuário root.
As estrandas são criadas sem senhas. O script mysqld_safe inicia o
servidor mysqld. (Se sua versão for anterior a 4.0, use
safe_mysqld em vez de mysqld_safe.)
mysql_install_db não irá sobrescrever nenhuma tabela de privilégios
antiga, então deve ser seguro executá-lo em quaisquer circunstâncias. Se você
não deseja ter o banco de dados test você pode removê-lo com
mysqladmin -u root drop test depois de iniciar o servidor.
Testes são geralmente facilmente feitos de um diretório raiz da distribuição
MySQL. Para uma distribuição binária, este é seu diretório de instalação
(normalmente algo como /usr/local/mysql). Para uma distrubuição
fonte, este é o diretório principal da sua árvore fonte do MySQL.
Nos comandos mostrados abaixo nesta seção e nas seguintes subseções, BINDIR é o caminho para a localização na qual os programas como mysqladmin e mysqld_safe estão instalados. Para uma distribuição
binária este é o diretório bin. Para uma distribuição fonte, BINDIR é provavelmente /usr/local/bin, a menos que você especifique
um diretório de instalação diferente de /usr/local quando você executa
configure. EXECDIR é a localização na qual o servidor
mysqld está instalado. Para uma distribuição binária, isto é o mesmo
que BINDIR. Para uma distribuição fonte, EXECDIR é
provavelmente /usr/local/libexec.
Os testes são descritos em detalhes abaixo:
Se necessário, inicie o servidor mysqld e configure as tabelas de
concessões iniciais contendo os privilégios que determinam como os usuários
estão permitidos a conectar ao servidor. Isto é feito normalmente com o
script mysql_install_db:
shell> scripts/mysql_install_db
Normalmente, mysql_install_db precisa ser executado somente na
primeira vez que você instala o MySQL. Portanto, se você estiver atualizando
uma instalação existente, você pode pular este passo. (entretanto,
mysql_install_db é realmente seguro de usar e não irá atualizar
nenhuma tabela que já exista, então se você não tem certeza do que fazer,
você pode sempre executar mysql_install_db.)
mysql_install_db cria seis tabelas (user, db, host,
tables_priv, columns_priv e func) no banco de dados
mysql. Uma descrição dos privilégios iniciais é fornecido em Secção 4.4.4, “Configurando os Privilégios Iniciais do MySQL”. De forma resumidao, estes privilégios permitem que o usuário root
faça qualquer coisa no MySQL, e permitem a qualquer um a criar ou usar bancos
de dados com o nome de 'test' ou iniciando com 'test_' .
Se você não configurar as tabelas de concessões, o seguinte erro irá aparecer no arquivo log quando você não iniciar o servidor:
mysqld: Can't find file: 'host.frm'
O erro acima pode também ocorrer com uma distribuição binária do MySQL se
você não iniciar o MySQL executando o ./bin/mysqld_safe!
See Secção 4.8.2, “mysqld-safe, o wrapper do mysqld”.
Você deve precisar executar mysql_install_db como root.
Entretanto, se você preferir, pode executar o servidor MySQL como um
usuário (não-root) sem privilégios, desde que o usuário possa ler e
escrever arquivos no diretório de banco de dados. Instruções para executar
o MySQL como um usuário sem privilégios é detalhado em
Secção A.3.2, “Como Executar o MySQL Como Um Usuário Normal”
Se você tiver problemas com o mysql_install_db, veja
Secção 2.4.1, “Problemas Executando o mysql_install_db”.
Existem algumas alternativas para executar o script
mysql_install_db como ele é fornecido na distribuição MySQL:
Você pode querer editar o mysql_install_db antes de executá-lo, para
alterar os privilégios iniciais que são instalados nas tabelas de concessões.
Isto é útil se você deseja instalar o MySQL em várias máquinas com os mesmos
privilégios. Neste caso, é provável que você só precise adicionar algumas
instruções INSERT extras para as tabelas mysql.user e
mysql.db.
Se você deseja alterar o conteúdo da tabelas de concessões depois de
instalá-las, você pode executar mysql_install_db, então usar
mysql -u root mysql para conectar às tabelas de concessões como
o usuário root e usar instruções SQL para modificá-las diretamente.
É possível recriar as tabelas de permissões completamente depois delas já
terem sido criadas. Você pode querer fazer isto se você já instalou as
tabelas mas deseja recriá-las depois das edições mysql_install_db.
Para maiores informações sobre estas alternativas, veja Secção 4.4.4, “Configurando os Privilégios Iniciais do MySQL”.
Inicie o servidor MySQL assim:
shell> cd diretorio_instalacao_mysql shell> bin/mysqld_safe &
Se a sua versão do MySQL for mais antiga do que 4.0, substitua bin/safe_mysqld
por bin/mysqld_safe no comando:
Se você tiver problemas iniciando o servidor, veja Secção 2.4.2, “Problemas Inicializando o Servidor MySQL”.
Use mysqladmin para verificar se o servidor está em execução.
Os seguintes comandos fornecem um teste simples para conferir se o servidor
está em funcionamento e respondendo às conexões:
shell> BINDIR/mysqladmin version shell> BINDIR/mysqladmin variables
A saída de mysqladmin version varia muito pouco dependendo de sua
plataforma e versão do MySQL, mas deve ser similar a esta mostrada abaixo:
shell> BINDIR/mysqladmin version mysqladmin Ver 8.14 Distrib 3.23.32, for linux on i586 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license. Server version 3.23.32-debug Protocol version 10 Connection Localhost via Unix socket TCP port 3306 UNIX socket /tmp/mysql.sock Uptime: 16 sec Threads: 1 Questions: 9 Slow queries: 0 Opens: 7 Flush tables: 2 Open tables: 0 Queries per second avg: 0.000 Memory in use: 132K Max memory used: 16773K
Para ter uma idéia do que você pode fazer com BINDIR/mysqladmin,
invoque-o com a opção --help.
Verifique se você pode desligar o servidor:
shell> BINDIR/mysqladmin -u root shutdown
Verifique que você possa reiniciar o servidor. Faça isto usando
mysqld_safe ou chamado o mysqld diretamente. Por exemplo:
shell> BINDIR/mysqld_safe --log &
Se o mysqld_safe falhar, tente executá-lo do diretório de instalação do
MySQL (se você já não estiver lá). Se não funcionar, veja Secção 2.4.2, “Problemas Inicializando o Servidor MySQL”.
Execute alguns testes básicos para verificar se o servidor está funcionando. A saída deve ser similar ao mostrado abaixo:
shell> BINDIR/mysqlshow +-----------+ | Databases | +-----------+ | mysql | +-----------+ shell> BINDIR/mysqlshow mysql Database: mysql +--------------+ | Tables | +--------------+ | columns_priv | | db | | func | | host | | tables_priv | | user | +--------------+ shell> BINDIR/mysql -e "SELECT host,db,user FROM db" mysql +------+--------+------+ | host | db | user | +------+--------+------+ | % | test | | | % | test_% | | +------+--------+------+
Também existe uma suite de benchmark no diretório sql-bench (sob o
diretório de instalação do MySQL) que você pode usar para comparar como o MySQL se
comporta em diferentes plataformas. O diretório sql-bench/Results contém
os resultados de várias execuções em diferentes bancos de dados e plataformas.
Os seguintes módulos Perl adicionais são necessários para executar o pacote
de benchamrk:
DBI DBD-mysql Data-Dumper Data-ShowTable
Estes módulos podem ser obtidos em CPAN http://www.cpan.org/. See Secção 2.7.1, “Instalando Perl no Unix”.
O diretório sql-bench/Results contém os resultados de várias execuções em
diferentes bancos de dados e plataformas. Para executar todos testes, execute
estes comandos:
shell> cd sql-bench shell> run-all-tests
Se você não possui o diretório sql-bench, você provavelmente está usando
uma distribuição binária RPM. (Distribuições fontes RPMs incluem o diretório
com os benchmarks.) Neste caso, você deve primeiramente instalar a suite de
benchmark antes de poder usá-lo. A partir da versão 3.22 do MySQL, começaram a
existir arquivos RPMs de benchmark chamados mysql-bench-VERSION-i386.rpm
que contém código ie dados de benchmark.
Se você tem uma distribuição fonte, você também pode executar os testes no
subdiretório tests. Por exemplo, para executar
auto_increment.tst, faça isto:
shell> BINDIR/mysql -vvf test < ./tests/auto_increment.tst
Os resultados esperados são mostrados no arquivo ./tests/auto_imcrement.res.
© 1995-2005 MySQL AB. All rights reserved.
