[+/-]
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
.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.