[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Instalar MySQL no Slackware

Instalar MySQL

Instale o MySQL dos discos oficiais do Slackware ou use slackpkg. Se você realizou uma instalação completa do Slackware, então você já tem o MySQL no seu computador.

Configurar MySQL

  1. Crie os bancos de dados necessários e defina suas permissões corretamente
    Como root, execute:
    root@darkstar# mysql_install_db --user=mysql

    O usuário especificado por –user vai possuir os arquivos de banco de dados, por isso é importante definir o usuário certo aqui, caso contrário, o MySQL não será capaz de gravar em seus bancos de dados. Por padrão, o MySQL no Slackware é executado como usuário “mysql”, então essa é a escolha segura.

  2. Ativar a execução do rc script para iniciar o MySQL automaticamente na inicialização
    Isto pode ser opcional.
    root@darkstar# chmod 755 /etc/rc.d/rc.mysqld
  3. Ativar a rede, se necessário
    A rede está desativada por padrão para melhorar a segurança. Se você quiser permitir conexões de rede, comente esta linha em /etc/rc.d/rc.mysqld:
    rc.mysqld
    #SKIP="--skip-networking"
  4. Iniciar mysqld
    root@darkstar# /etc/rc.d/rc.mysqld start

    e prossiga para a próxima seção “Protegendo o MySQL”.

Protegendo MySQL

Você tem uma escolha: configuração manual ou automática de acesso seguro

Automatic configuration of secure access

  1. Execute o seguinte comando e responda às perguntas
    root@darkstar# /usr/bin/mysql_secure_installation

    A senha inicial de root é “” (vazio), então basta pressionar a tecla ENTER quando o comando acima pedir a senha

Configuração manual de acesso seguro

  1. Definir uma senha para a conta root do MySQL
    root@darkstar# mysqladmin -u root password 'new-password-here'

    Se você ativou a rede, você também deve executar este comando:

    root@darkstar# mysqladmin -u root -h 'your-hostname' password 'new-password'
Verifique se o comando mysql_install_db resultou, estes comandos são impressos, você pode copiar/colar eles. O hostname já será substituído pelo seu.

Conectando-se ao seu servidor MySQL

  1. Conecte-se ao seu servidor MySQL usando o seguinte comando
    user@darkstar$ mysql -u root -p
  2. Por razões de segurança, você deve excluir o usuário anônimo
    • Para o servidor localhost:
      mysql> use mysql
      mysql> SELECT user, host FROM user;
      mysql> DELETE FROM user WHERE host='localhost' AND user='';
    • Se você ativou a rede, você deve executar este comando:
      mysql> use mysql
      mysql> SELECT user, host FROM user;
      mysql> DELETE FROM user WHERE user='';

Adicionando suporte Unicode

  1. Alterar o diretório para o /etc/ e selecione a configuração que você preferir. Para um serviço de banco de dados “simples” sem carga pesada do MySQL, é recomendado usar “my-large.cnf” se você tiver 2 GB de RAM ou mais. Copie o arquivo de configuração escolhido e nomeie a cópia /etc/my.cnf.
  2. Edite o arquivo /etc/my.cnf adicionando estas linhas na seção “[mysqld]”:
    [mysqld]
    collation-server = utf8_unicode_ci
    init-connect='SET NAMES utf8'
    character-set-server = utf8

    Isso lhe dá suporte UTF8 completo em seu servidor MySQL, depois que você o reiniciou.

Mais sobre o suporte ao conjunto de caracteres Unicode / UTF8 é descrito aqui: http://stackoverflow.com/questions/3513773/change-mysql-default-character-set-to-utf8-in-my-cnf

Solução de problemas

  • Erros de início do servidor podem ser vistos no log de erros localizado por padrão em /var/lib/mysql/<hostname>.err. Outra opção é executar o servidor diretamente e direcionar a saída para o console (use Ctrl+\ para parar o servidor). Execute:
    root@darkstar# /usr/bin/mysqld_safe --console
  • A redefinição da senha do root pode ser feita criando um novo arquivo cnf e adicionando as seguintes linhas (por favor mude a senha neste exemplo):
    mysql_new.cnf
    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE USER='root';
    FLUSH PRIVILEGES;

    Save this file (any name would do) and start the server with the –init-file argument:

    root@darkstar# /usr/bin/mysqld_safe --defaults-file="new_cnf_file.cnf"

Fontes

 pt-br:howtos:databases:install_mysql_on_slackware ()