slackware.linuxbr.org
Menu
   Principal
   Comandos
   Configuração
   Documentos
   Artigos
   Screenshots
   Plataformas
   Downloads
   Contato
   Sobre

Links
   Slackware Linux
   GUS Brasil
   Linux Packages


   Host: LinuxLots
   English Version

Instalando MySQL & phpMyAdmin

Tradução autorizada (20/12/2003) de: 

Info:  Installing MySQL & phpMyAdmin...
Autor: Paul 
URL:   http://beta.csd.anglia.ac.uk/~querelle/
Data:  15/12/2002

Fonte: post para o forum de userlocal.com.

No Slackware 8.1, o MySQL 3.23.51 vem parcialmente pré-instalado, mas colocá-lo em funcionamento não é um processo muito trivial! Primeiro precisamos rodar o seguinte comando (como 'root') para criar o diretório padrão de banco de dados chamado 'mysql' no diretório '/var/lib'.

mysql_install_db

Em seguida precisamos copiar o script de exemplo que inicia o daemon MySQL, e colocá-lo no diretório dos scripts de inicialização do Slackware (diferente de outras versões Linux & Unix, como Red Hat e.t.c.) e renomeá-lo seguindo os padrões Slackware:

cp /usr/share/mysql/mysql.server /etc/rc.d/rc.mysql

Verifique se o script tem permissão de execução:

ls -la /etc/rc.d/rc.mysql

Se não tiver:

chmod 755 /etc/rc.d/rc.mysql

Precisamos criar um diretório para os arquivos de log, com as permissões apropriadas:

     cd /var/log
     mkdir mysql
     chmod 700 mysql
     chown mysql.mysql mysql

Agora, edite o arquivo que colocamos em '/etc/rc.d', chamado 'rc.mysql', usando o 'Kate' (ou vi), e então localize a linha que inicia com: '$bindir/safe_mysqld'. Precisamos então adicionar as seguintes opções de linha de comando, ao final, mas antes de '&' (que inicia o daemon concorrentemente):

(linha 107)
--user=mysql --log=/var/log/mysql/mysql.log --err-log=/var/log/mysql/mysql-err.log

O script 'mysql_install_db' não inicia propriamente as permissões do diretório '/var/lib/mysql', então faremos isso manualmente:

     cd /var/lib/mysql
     chown -R mysql.mysql *

Agora podemos iniciar o daemon, mas os seguintes passos precisam ser tomados imediatamente pois o daemon inicia sem a senha de 'root' além de outras brechas. O segundo comando define a senha principal 'root' para MySQL:

     /etc/rc.d/rc.mysql start
     mysqladmin -u root password *******

Infelizmente, há 4 logins pré-definidos, dois deles de 'root' MySQL, um deles acabamos de definir, mas os outros podem permitir acesso de pessoas hostis caso não sejam removidos. Para fazer isto, a melhor forma é logar no 'mysql':

     mysql -u root -p
     Password: ******

Os seguintes comandos deletam todos os usuários padrão com senhas vazias. Note que na lista abaixo, '' são duas aspas simples (') e (') e não um simples sinal de aspas (")!

mysql> use mysql
mysql> select user,host,password from user;
mysql> select user,host,password from user where password=''; (aspas simples)
mysql> delete from user where password=''; (aspas simples)
mysql> select user,host,password from user;
mysql> flush privileges;
mysql> exit

Agora, precisamos iniciar o daemon no boot do Slackware:

Logo após "# Start Web-server" no arquivo '/etc/rc.d/rc.M' adicione as seguintes linhas de script. Esta linha inicia o servidor MySQL, se o script associado existir.

     if [ -x /etc/rc.d/rc.mysql ]; then
     /etc/rc.d/rc.mysql start
     fi

Em alguma hora conveniente, o servidor deve ser reiniciado para verificar se o daemon é chamado quando o sistema inicia:

shutdown -r now

OK, é isto, o servidor MySQL já está instalado e configurado...

Para adicionar base de dados e usuários, podemos iniciar MySQL e entrar os seguintes comandos:

mysql -u root -p

mysql> create database someuser_db;
mysql> grant all on someuser_db.* to someuser identified by "*******";
mysql> flush privileges;
mysql> exit

Claramente, a primeira linha cria o banco. A segunda cria o usuário com todos privilégios para acessar todas (*) tabelas no banco de dados, e permite ao usuário acessar o banco de qualquer host, além de definir sua senha. Para restringir o host, simplesmente altere a linha para someuser@somehost. A última linha é importante! Flush privileges copia a metadata da base mysql na memória. Em outras palavras, usuário e senha só serão válidos após este comando!

Agora quanto ao phpMyAdmin, a última versão estável pode ser encontrada em http://www.phpmyadmin.net

Eu utilizei a versão phpMyAdmin-2.2.6-php.tar.gz e fiz o download com o 'Konqueror' para '/home/someuser'. Depois logei como someuser (não precisa ser 'root') e descompactei o arquivo desta forma:

tar -xvvzf phpMyAdmin-2.2.6-php.tar.gz ('vv', e não 'w')

O diretório resultante foi o seguinte:

phpMyAdmin-2.2.6

Assumindo que temos acesso ao diretório 'htdocs', podemos criar um diretório e instalar o app. como segue abaixo:

     cd /var/www/htdocs
     mkdir myadm
     cd myadm
     cp -R /home/someuser/phpMyAdmin-2.2.6/* .

Para ler a documentação, digite o seguinte URL:

http://somedomain/myadm/Documentation.html

Se você tiver múltiplos usuários de banco de dados, você provavelmente irá querer autenticação tipo 'http'. Isso requer uma conta especial com username 'pma' com acesso read-only parcial na base 'mysql'. Ele guarda a metadata para MySQL. Para criar uma aconta 'pma' é necessário digitar diversas linhas de código SQL e está detalhado em 'Documentation.html'. A forma mais simples de se fazer isto é copiar (por exemplo, do Mozilla Web-browser) e colar na linha de comando do cliente MySQL (por exemplo rodando em uma janela Konsole) e executar cada comando sequencialmente (será preciso estar logado como usuário 'root' do MySQL):

mysql> [cole aqui] <press enter>

Então, é um simples caso de seguir as instruções, e em particular configurar as seguintes opções em 'config.inc.php' usando um editor como 'Kate'. As principais propriedades são:

     Uri - http://somedomain/myadm (em geral, imperativo)
     controlpass - *******
     auth_type - http

Depois de configurar uma conta 'pma' no MySQL, será preciso autenticar para acessar o diretório 'phpMyAdm' no Web-server usando uma pseudo 'Autenticação Básica' (Basic Authentication).

Entender phpMyAdmin leva alguns minutos (e só :-). Uma coisa que estranhei inicialmente é o fato de que todo tipo 'VARCHAR' requer um tamanho específico, por ex. 10, caso contrário ele retornará um erro quando você tentar criar uma tabela...

Se você quiser acessar a database do windows, simplesmente faça download do driver MyODBC do seguinte site e instale-o (no windows). Então, no Access crie um banco de dados em branco, e clique com o botão direito em 'link tables' (associar tabelas), abra o menu 'Files of Type' (arquivos do tipo) escondido bem embaixo da tela e você verá 'ODBC ()', escolha isto e siga as instruções para selecionar e configurar o driver ODBC MySQL. MySQL pode ser encontrado em:

http://www.mysql.com

Em termos de segurança, você provavelmente desejará restringir o acesso ao site phpMyAdmin apenas para redes locais (usando diretivas .htaccess no Apache). Além disso, lembre-se que em um servidor compartilhado, pode ser possível que outros usuários leiam seus scripts PHP como arquivos texto e obtenham seu nome de usuário por exemplo. Neste caso, verifique que PHP está configurado em safe mode e que o respectivo diretório root do safe mode realmente está seguro!

Algum dia irei escrever um HowTo para MySQL-Max em Slackware com tabelas InnoDB... Isto suporta transações, SQL Server pips ( quando há mais de 400 usuários ) e ainda por cima compara-se a Oracle em termos de velocidade! Divirtam-se :-)


©2002 r_linux & misfit
Slackware® is a registered trademark of Slackware Linux, Inc. Linux is a registered trademark of Linus Torvalds.

XHTML 1.0 Transitional