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 :-)
|