O Mysql não pode criar privilégios de usuário / concessão nos existentes (acesso negado)

1

Depois de instalar o Mysql através do apt-get no Ubuntu 12.0.4 LTS e mexer com ele, estou na posição em que não tenho conta que possa fazer qualquer operação para conceder privilégios ou criar um novo usuário.

Eu só consigo conectar-me via

mysql --defaults-file=/etc/mysql/debian.cnf

select host,user ,select_priv, Create_user_priv from mysql.user;

retorna a seguinte tabela:

+-----------+------------------+-------------+------------------+
| host      | user             | select_priv | Create_user_priv |
+-----------+------------------+-------------+------------------+
| localhost | apsc             | N           | N                |
| localhost | pma_GSn1wBscFLp0 | N           | N                |
| localhost | pp_sb_db         | N           | N                |
| localhost | debian-sys-maint | Y           | Y                |
| localhost | admin            | N           | N                |
| localhost | pma_FoXErUK90AbF | N           | N                |
+-----------+------------------+-------------+------------------+

Como posso criar um usuário root com todos os privilégios? Uma redefinição completa estaria bem por mim.

Comandos como o seguinte só retornam access denied errors

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION
    
por Hedge 14.11.2013 / 11:41

1 resposta

2

Parece não haver usuário root em seu banco de dados mysql. O usuário debian-sys-maint é o equivalente da raiz. Aqui está como adicionar um usuário root:

mysql -u debian-sys-maint -p

Quando for solicitada uma senha, insira aquela localizada em /etc/mysql/debian.cnf uma vez dentro do banco de dados, você deve ser capaz de executar:

grant all privileges on *.* to 'root'@'localhost' identified by 'yourpassword' with grant option
    
por 14.11.2013 / 18:30