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:
- Pare o servidor se ele estiver em execução (use
mysqladmin shutdown
). - 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árioroot
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ê. - 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 omysqld
como o usuárioroot
do Unix e use a opção--user=nome_usuario
.mysqld
trocará para executar como o usuárionome_usuário
do Unix antes de aceitar qualquer conexão. - 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çõesmy.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.