Seu usuário sys-maint@localhost
não tem ALL
privileges. Está faltando o privilégio CREATE TABLESPACE
.
Se o seu usuário realmente tivesse ALL
privileges, você teria SHOW GRANTS;
:
GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY PASSWORD '*DA604C65D4EFF216D1F61FCD42726FA881FB6562' WITH GRANT OPTION
Para poder fazer um GRANT ALL
em outro usuário ou em um novo usuário, o usuário que emite o GRANT ALL
precisa ter todas as permissões ou a concessão falhará.
Para conceder ao usuário 'sys-maint @ localhost', o usuário CREATE TABLESPACE
permissions emite o seguinte comando em uma conta que tenha direitos suficientes para fazer isso (por exemplo, root):
GRANT CREATE TABLESPACE ON *.* TO 'sys-maint@localhost';
Ou quando logado como sys-maint@localhost
(e isso funciona no MySQL 5.5) faça o seguinte:
USE mysql;
UPDATE user SET 'Create_tablespace_priv'='Y'
WHERE user='sys-maint' AND host='localhost';
FLUSH PRIVILEGES;
Efetue logout e, em seguida, efetue login novamente ( QUIT
se estiver usando a linha de comando mysql
client ou desconecte se estiver usando um cliente GUI como HeidiSQL) e sys-maint@localhost
poderá emitir o comando GRANT ALL
.
Isso funciona porque seu sys-maint@localhost
já tem privilégios suficientes para atualizar a tabela user
.
E como sempre, ao mexer com as permissões do MySQL, lembre-se de fazer um FLUSH PRIVILEGES;