Como Executar o MariaDB Como Um Usuário Normal


O servidor mysqld pode ser iniciado por qualquer usuário. Para fazer com que o mysqld execute como um usuário nome_usuário do Unix, você deve fazer o seguinte:

  1. Pare o servidor se ele estiver em execução (use mysqladmin shutdown).
  2. Altere o diretório de banco de dados e arquivos para que nome_usuário tenha privilégios de leitura e escrita do arquivo (você pode precisar estar como o usuário root do Unix):
    shell> chown -R nome_usuario /caminho/para/dir_dados/mysql
    

    Se o diretório ou arquivos dentro do diretório de dados do MariaDB são links simbolicos, você também precisará seguir estes links e alterar os diretórios e arquivos para os quais ele aponta. chown -R pode não seguir o link simbólico para você.

  3. Inicie o servidor como o usuário nome_usuário, ou, se você está usando o MariaDB Versão 3.22 ou mais antiga, inicie o mysqld como o usuário root do Unix e use a opção --user=nome_usuario. mysqld trocará para executar como o usuário nome_usuário do Unix antes de aceitar qualquer conexão.
  4. Para iniciar o servidor automaticamente com o nome de usuário dado na inicialização do sistema, adicione um linha user que especifica o nome do usuário ao grupo [mysqld] do arquivo de opções /etc/my.cnf ou o arquivo de opções my.cnf no diretório de dados do servidor. Por exemplo:
    [mysqld]
    user=nome_usuario
    

Neste ponto, seu processo mysqld deve estar executando bem e redondo como usuário nome_usuario do Unix. No entanto algo não altera: o conteúdo da tabela de permissões. Por padrão (logo depois de executar o script de instalação das tabelas de permissões mysql_install_db), o usuário MariaDB root é o único com permissão para acessar o banco de dados MariaDB ou para criar ou apagar banco de dados. A menos que você tenha alterado estas permissões, elas ainda valem. Isto não deve impedí-lo de de acessar o MariaDB como usuário root do MariaDB quando você está logado como outro usuário Unix deiferente de root; apenas especifique a opção -u root ao programa cliente.

Note que acessar o MariaDB como root, fornecendo -u root na linha de comando é diferente de de executar o MariaDB como o usuário root do Unix,or como outro Usuário Unix. A permissão de acesso e nome de usuários do MariaDB estão completamente separados dos nomes de usuário do Unix. A única conexão com os nomes de usuário do Unix é que se você não utilizar a opção -u quando chamr o seu programa cliene, o cliente tentará conectar usando seu nome de login do Unix como o seu nome de usuário do MariaDB

Se a sua conta Unix não esta segura, você deve pelo menos colocar uma senha no usuário root do MariaDB na tabela de acesso. Senão qualquer usuário com uma conta nesta máquina poderá executar mysql -u root nome_bd e fazer o que quiser.

Retornar