MySQL'de --skip-grant-tables'i kapatın


14

Linux kullanımı konusunda oldukça yeniyim ama MySQL veritabanlarımı Amazon ec2 yönetim ortamına kuruyorum. --skip-grant-tablesMySQL seçeneğini kullanarak kullanıcı giriş kartını sıfırlamak için bulduğum bazı talimatları takip ettim . Şimdi bir kullanıcı eklemeye çalışıyorum ve bu seçeneği nasıl kapatacağımı anlayamıyorum.

Ben yapmaya çalışıyorum:

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

ama bu hatayı alıyorum:

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

Bu seçeneği nasıl kapatabilirim?

Yanıtlar:




2

Bunu aşağıdaki adımları kullanarak yapabilirsiniz.

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

şifre olmadan mysql bağlamak.

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

mysql'in normal moduna geçip parola olmadan bağlanın.

Bu kesinlikle sizin için çalışacaktır.


0

Dün benzer bir sorunla karşılaştım. Sunucu, işletim sistemi olarak Amazon Linux 2'yi ve kurulum aracı olarak resmi yum deposunu (el7 olanlar) kullanıyordu.

Özellikle resmi yum repo'nun MySQL'ini kullandığınızda, MySQL bir systemd hizmeti olarak kurulacaktır. Böyle bir durumda, MySQL işlemi aşağıdaki komutu yürüterek başlattı nasıl kontrol edebilirsiniz: sudo service mysql status -l. Bu, geçerli mysql hizmetinin geçerli durumunun açıklanmasıyla sonuçlanır. Bu açıklamalardan aşağıdaki satırı bulabilirim:

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

Benim çevremde, MYSQLD_OPTSdeğişkenin --skip-grant-tablessystemd işlemi tarafından değer seçeneğiyle ayarlandığı ortaya çıktı . Systemd tarafından ayarlanan ortam değişkenlerini onaylamak için, sudo systemctl showile başlayan satırı arayabilir ve arayabilirsiniz Environment=.

Bu ortam değişkenini değiştirmek için aşağıdaki komutu yürüttüm.

sudo systemctl set-environment MYSQLD_OPTS=""

Bu işlemden sonra, mysqld hizmetini yeniden başlattım sudo service mysql restartve her şey mükemmel bir şekilde çalışıyordu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.