Você pode querer verificar o script init, como /etc/init.d/mysqld ou algo parecido, para ver se ele inicializa o banco de dados mysql com mysql
user.
Eu tenho tentado iniciar o mysqld sob um usuário diferente, assim como com um caminho de dados diferente. Fiz isso modificando o arquivo my.cnf
da seguinte forma:
[mysqld]
datadir=/bob/database
socket=/bob/database/mysql.sock
user=bob
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/bob/mysqld.log
pid-file=/bob/mysqld.pid
Sempre que eu tento iniciar o daemon mysql executando service mysqld start
duas coisas acontecem
Eu recebo o seguinte erro
ERROR: 1005 Can't create table 'db' (errno: 13)
121010 13:39:46 [ERROR] Aborting
121010 13:39:46 [Note] /usr/libexec/mysqld: Shutdown complete
A pasta / bob / e tudo nela tem as permissões mysql: mysql que me fazem pensar que a opção user em my.cnf
não funcionou e porque eu executo o comando service start como root ele pode apenas chown dir como mysql: mysql sem ter problemas. Ao mesmo tempo em que executo esse comando recebo o seguinte aviso:
121010 13:39:46 [Warning] Ignoring user change to 'mysql' because the user was set to 'bob' earlier on the command line
Qualquer ajuda seria muito apreciada.
*** ATUALIZAÇÃO
Se em vez de ter o usuario bob, coloco o usuario mysql e altero as permissões da pasta bob para o mysql tudo funciona bem. Portanto, este é um problema com a mudança do usuário e não um caminho de dados diferente.
Você pode querer verificar o script init, como /etc/init.d/mysqld ou algo parecido, para ver se ele inicializa o banco de dados mysql com mysql
user.
eu acho que mudar o usuário no mysql-config só tem efeito quando o mysqld é iniciado durante o processo de inicialização - veja aqui
Como Jerome explicou, temos que mudar mais um arquivo
etc/init.d/mysql
su - mysql -s ...
becomesu - bob -s ...
mas com o Ubuntu 18.04 também precisamos de alterar este ...
/etc/systemd/system/multi-user.target.wants/mysql.service
user=mysql
becomeuser=bob