Como posso instalar o mySQL no CentOS sem ser root / su?

2

Eu quero instalar o mySQL no CentOS.

Eu não tenho uma conta root nessa máquina.

Como posso instalar o mySQL no CentOS como usuário , por exemplo. sem ser root?

    
por gojira 10.11.2010 / 06:29

4 respostas

1

Para pacotes RPM (e o CentOS é certamente um sistema RPM) você precisa ser root para executar o instalador do rpm. O instalador do RPM precisa gravar em alguns pacotes de rastreamento do dbs, e você precisa ser root para escrever para eles. OK, bem, o mysql permite que você instale a partir de um tarball, certo? ( link ). Bem, sim, mas há um postinstall que você precisará executar, que precisará ser root para fazer.

Os RPMs podem ter etapas de pré e pós-instalação fora do despejo de arquivos. estes podem estar alterando arquivos de configuração, adicionando / excluindo usuários. Em geral, você pode precisar ser root para fazer isso. Mesmo sem scripts, você geralmente instala em diretórios que somente o root pode instalar.

Em outro comentário, você menciona outros pacotes instalados que não precisavam ser root. Para esses pacotes, tenho certeza que:

  • Você instalou a partir de um tarball, não de um RPM.
  • Você instalou em um diretório que não é do sistema
  • O código não foi vinculado a nenhum diretório específico (alguns códigos são compilados para caminhos específicos)
  • Não havia necessidade de pós-instalação (nenhuma configuração do sistema em /etc , nenhum novo usuário como o MySQL precisa)
por 10.11.2010 / 20:28
5

INSTALANDO MYSQL EM CENTROS SEM CONTA ROOT:

  1. Download do MySQL Community Server 5.5.8 Linux - Arquivo TAR compactado genérico-- [Observe que este não é o código-fonte / binário, mas um Linux genérico (pacote não-RPM)]
  2. Desembale. Por exemplo para: /home/martin/mysql
  3. Crie o arquivo my.cnf em seu diretório pessoal. O conteúdo do arquivo deve ser:

    [server]
    user=martin
    basedir=/home/martin/mysql
    datadir=/home/martin/sql_data
    socket=/home/martin/socket
    port=3666
    
  4. Vá para o diretório /home/martin/mysql e execute:

    ./scripts/mysql_install_db --defaults-file=~/my.cnf --user=martin --basedir=/home/martin/mysql --datadir=/home/martin/sql_data --socket=/home/martin/socket
    

    Note que --defaults-file DEVE ser o primeiro parâmetro, caso contrário não funcionará! É um bug do MySQL.

  5. Seu servidor MySQL está pronto. Comece com este comando:

    ./bin/mysqld_safe --defaults-file=~/my.cnf &
    

    Conectando ao servidor:

    mysql -h 127.0.0.1 -P 3666 -u root -p (using tcp)
    

    ou

    mysql --socket=/home/martin/socket -u root -p (using unix socket)
    

    Encerrando o servidor:

    mysqladmin -h 127.0.0.1 -P 3666 -u root shutdown(using tcp)
    

    ou

    mysqladmin --socket=/home/martin/socket -u root shutdown (using unix socket)
    
por 13.01.2011 / 01:27
0

Você pode construí-lo e executá-lo a partir do seu diretório pessoal, se você tiver um compilador disponível, mas para instalar o software no Linux, você precisará de acesso root.

    
por 10.11.2010 / 07:12
0

A resposta de Martin funcionou para mim. Para endereçar os comentários (não posso comentar devido a permissões aqui):

Para se conectar ao servidor, você precisa adicionar o diretório / home / martin / mysql / bin (/ home / martin / mysql / bin no exemplo) ao seu caminho ou usar o nome do caminho completo para executá-lo :

/home/martin/mysql/bin/mysql --socket=/home/martin/socket -u root -p

A outra peça que faltava era definir a senha do root. Depois de fazer o passo bin / mysqld_safe (veja o passo 5 na resposta de Martin), o MySql me disse como definir a senha do root. Você precisa fazer essa etapa, mas adicionando a opção --socket = / home / martin / socket à linha de comando.

    
por 23.05.2012 / 19:20

Tags