Desativa o --skip-grant-tables no MySQL

10

Sou muito novo no uso do Linux, mas estou configurando meus bancos de dados MySQL em uma instância do Amazon ec2. Eu segui algumas instruções que encontrei sobre como redefinir o login de usuário usando a opção --skip-grant-tables do MySQL. Agora estou tentando adicionar um usuário e não consigo descobrir como desativar essa opção.

Isso é o que estou tentando fazer:

mysql> GRANT CREATE,SELECT,INSERT,UPDATE,DELETE ON ...my db username and pass

mas recebo este erro:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

Como desativo essa opção?

    
por user718229 17.12.2012 / 02:44

4 respostas

2

Basta parar e reiniciar o MySQL normalmente.

    
por 17.12.2012 / 03:38
22

Faça o login no mysql

 mysql -u root -p

Em seguida, execute:

flush-privileges;

Se isso não funcionar, tente:

FLUSH PRIVILEGES;

link link

    
por 28.11.2013 / 11:40
1

Você pode fazer isso usando as etapas abaixo.

[root@backups1 mysql5.7]# bin/mysqld_safe --skip-grant-tables --user=mysql

conecte-se ao seu mysql sem senha.

mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '';
mysql> flush privileges;

mude para o modo normal do mysql e então conecte sem senha.

Isso certamente funcionará para você.

    
por 01.11.2016 / 08:04
0

Ontem encontrei um problema semelhante. O servidor estava usando o Amazon Linux 2 como sistema operacional e o repositório yum oficial (os el7) como a instalação significa.

Especialmente quando você está usando o MySQL do repositório oficial do yum, o MySQL é instalado como um serviço systemd. Nesse caso, você pode verificar como o processo do MySQL é iniciado executando o seguinte comando: sudo service mysql status -l . Isso resulta na descrição do status atual do serviço mysql atual. Dessas descrições, pude encontrar a seguinte linha:

  Process: 26474 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS

Em meu ambiente, a variável MYSQLD_OPTS foi definida com valor --skip-grant-tables pelo processo systemd. Para confirmar as variáveis de ambiente definidas pelo systemd, você pode executar sudo systemctl show e procurar linha começando com Environment= .

Para alterar esta variável de ambiente, executei o seguinte comando.

sudo systemctl set-environment MYSQLD_OPTS=""

Após esta operação, reiniciei o serviço mysqld por sudo service mysql restart , e tudo estava funcionando perfeitamente.

    
por 26.10.2018 / 09:27