Bagaimana Anda menghapus "REQUIRE SSL" dengan benar dari satu pengguna?

8

Saya berhasil memberikan REQUIRE SSL ke satu pengguna dengan melakukan ...

mysql -u"${targetMySqlUser}" -p"${targetMySqlPass}" -e "GRANT USAGE ON dbname.* TO 'dbusername'@'%' REQUIRE SSL;"

tetapi saya gagal MENGHAPUS atau MEMUNGKINKAN kembali tanda ini dari pengguna, menggunakan pencabutan. Saya kira saya berkelahi dengan sintaks. Apakah ada cara yang tepat untuk menghapusnya dengan perintah "cabut", tanpa mencabut seluruh izin?

Manual MySQL 5.5, situs ini dan jalinannya belum membantu saya menemukan cara yang tepat.

Pernyataan SQL ini akan berfungsi.

UPDATE mysql.user SET ssl_type = '' WHERE ssl_type = 'any' ; FLUSH PRIVILEGES;

tapi saya percaya di mana GRANT REQUIRE SSLada harus saya REVOKE REQUIRE SSL, bukan?

Axel Werner
sumber

Jawaban:

7

Apa yang Anda cari tidak ada di MySQL 5.5

Sayangnya, perintah ALTER USER untuk MySQL 5.6 terbatas. Yang bisa Anda lakukan adalah

ALTER USER user@host PASSWORD EXPIRE;

Di MySQL 5.7, Anda bisa menjalankan perintah ALTER USER sebagai berikut

ALTER USER user@host REQUIRE NONE;

Ketika datang ke MySQL 5.5, Anda melakukan cara yang paling bijaksana. Bagus !!!

Cara yang lebih benar secara politis adalah dengan melakukan hal berikut:

DROP USER user@host;
CREATE USER user@host;
GRANT ... on ... TO user@host IDENTIFIED BY '...';

Kalau tidak, saya memuji Anda untuk melakukan apa yang dibutuhkan.

RolandoMySQLDBA
sumber
Jawaban yang bagus untuk berbagai versi MySQL. Untuk MySQL 5.6, solusi @ Abey tidak perlu menjatuhkan dan menciptakan kembali pengguna.
mxxk
6

Ini adalah salah satu hasil google ketika saya ingin menghapus REQUIRE SSLpada pengguna MySQL yang saya terapkan. Apa yang saya lakukan adalah melakukan REQUIRE NONE padaUSAGE

GRANT USAGE ON dbname.* TO 'dbusername'@'%' REQUIRE NONE;

Verifikasi apakah pengaturan telah diubah dengan menjalankan

SHOW GRANTS FOR 'dbusername'@'%' ;

Bekerja pada MySQL 5.6

Abey
sumber
Bekerja seperti pesona di MySQL 5.6. Elegan dan sederhana :)
mxxk
Versi MySQL apa yang Anda gunakan? Saya menggunakan Mysql verison 5.7.22. TUNJUKKAN GRANT tidak menyebutkan SSL - stackoverflow.com/questions/56203365/…
berkomitmenandroider