TL; DR: Yeni bir yükledikten sonra kök kullanıcı olarak sonra mysql / mariadb erişim yeni sürümlerinde için, bir kök kabuğu içinde olması gerekir (yani sudo mysql -u root
, ya mysql -u root
tarafından başlatılmış bir kabuk içinde su -
veya sudo -i
ilk)
Ubuntu'da aynı yükseltmeyi yaptıktan sonra aynı sorunu yaşadım.
Garip olan şuydu
sudo /usr/bin/mysql_secure_installation
Parolamı kabul eder ve ayarlamama izin verir, ancak müşteri root
aracılığıyla oturum mysql
açamadım
Mariadb ile başlamak zorunda kaldım
sudo mysqld_safe --skip-grant-tables
root olarak erişim elde etmek için, diğer tüm kullanıcılar hala iyi erişebilir.
Baktığımızda mysql.user
ben root için fark masaya plugin
sütun olarak ayarlanır unix_socket
o mysql_native_password 'olarak ayarlanırsa diğer tüm kullanıcılar oysa. Bu sayfaya hızlı bir bakış: https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/ , Unix Socket'in uid
, istemciyi çalıştıran işlemin, mysql.user
tablo. Diğer bir deyişle mariadb'a erişmek için root olarak root
oturum açmanız gerekir.
Yeterince eminim ki mariadb daemon'umu kimlik doğrulama gerekliyken yeniden başlatıyorum.
sudo mysql -u root -p
veya
sudo su -
mysql -u root -p
Bunu yaptıktan sonra, sudo yapmak zorunda kalmadan nasıl erişileceğini düşündüm, bu sadece bu mysql sorgularını çalıştırma meselesidir.
GRANT ALL PRIVILEGES on *.* to 'root'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
( <password>
istediğiniz mysql root şifrenizle değiştirin). Bu etkin şifre root kullanıcısı için oturum açar.
Alternatif olarak mysql sorgusunu çalıştırarak:
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';
FLUSH PRIVILEGES;
Şifreyi değiştirmeden şifre girişi kullanmak için root hesabını değiştirir, ancak bu sizi üzerinde root şifresi olmayan bir mysql / mariadb kurulumuna bırakabilir.
Bunlardan birinden sonra mysql / mariadb'yi yeniden başlatmanız gerekir:
sudo service mysql restart
Ve işte kişisel hesabımdan şu yolla erişim sağladım: mysql -u root -p
LÜTFEN BUNU YAPMANIN GÜVENLİĞİ AZALTTIĞINI UNUTMAYIN Muhtemelen MariaDB geliştiricileri iyi bir nedenden ötürü böyle bir kök erişim çalışmasına sahip olmayı seçmişlerdir.
sudo mysql -u root -p
Bunu düşündüğüm için, zorunda olduğum için oldukça mutluyum, bu yüzden buna geri dönüyorum, ancak başka bir yerde bulamadığım için çözümümü göndermeyi düşündüm.