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á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
MySQL 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 MySQL 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.
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
MySQL root
é o único com permissão para
acessar o banco de dados mysql
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 MySQL como usuário root
do MySQL
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 MySQL como root
,
fornecendo -u root
na linha de comando é
diferente de de executar o
MySQL como o usuário root
do Unix,or como
outro Usuário Unix. A permissão de acesso e nome de usuários
do MySQL 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 MySQL
Se a sua conta Unix não esta segura, você deve pelo menos
colocar uma senha no usuário root
do MySQL
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.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.