MySQL kök şifresini nasıl sıfırlayabilir veya değiştirebilirim?


179

Ubuntu sunucusundaki MySQL kök parolasını ve kullanıcı adını nasıl değiştirebilirim? Herhangi bir değişiklik yapmadan önce mysql hizmetini durdurmam gerekir mi?

Ben de bir phpmyadmin kurulum var, phpmyadmin otomatik olarak güncellenir olacak?


Eğer verilere ihtiyacınız yoksa, mysql dosyasını bütünüyle kaldırarak parolayı "sıfırlayabilirsiniz": stackoverflow.com/questions/10853004/… ve ardından tekrar yükleyin ("yeni" kök parolasını girmenizi isteyecektir) FWIW: )
rogerdpack

MySQL kök parolasını biliyor musunuz?
Franck Dernoncourt

2
mysql-server-5.7 içinde bu yöntemler çalışmıyor. askubuntu.com/a/848504
Pragalathan M

Yanıtlar:


225

Ubuntu Linux'ta MySQL kök parolasını ayarlayın / değiştirin / sıfırlayın. Terminalinize aşağıdaki satırları girin.

  1. MySQL Sunucusunu durdurun: sudo /etc/init.d/mysql stop
  2. Başlangıç mysqldyapılandırması:sudo mysqld --skip-grant-tables &

    Bazı durumlarda, /var/run/mysqldilkini oluşturmanız gerekir :

    sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
  3. Çalıştırmak: sudo service mysql start
  4. MySQL'e root olarak giriş yapın: mysql -u root mysql
  5. YOURNEWPASSWORDYeni şifrenizle değiştirin :

    UPDATE
      mysql.user
    SET
      Password = PASSWORD('YOURNEWPASSWORD')
    WHERE
      User = 'root';
    FLUSH PRIVILEGES;
    exit;

Not: bazı sürümlerde passwordsütun yoksa, denemek isteyebilirsiniz:
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';

Not: Bu yöntem parolayı sıfırlamanın en güvenli yolu olarak kabul edilmez, ancak çalışır.

Referanslar:

  1. Ubuntu Linux'ta MySQL kök parolasını ayarlama / değiştirme / sıfırlama
  2. Kök Parolasını Sıfırlama

20
Tabii ki, bu noktadan sonra size belki kullanmak 2. adımda başladığını geçici, şifre az sunucu işlemini öldürmek gerekir sudo killall -9 mysqld? ve sonra sudo service mysql startnormal cini yeniden başlatmak için ...
Lambart

7
Bu yanıttaki yöntem yalnızca [kaynak ] bilmediğiniz bir MySQL kök parolasını sıfırlamak için gereklidir . Bunu biliyorsanız, SET PASSWORDMySQL komutu tam size göre.
tanius

53
3. adıma kadar takip ettim ve root üzerinden giriş
yaptığımda

12
bazı durumlarda, ayrıca vadede gerek mkdir /var/run/mysqldve chown mysql: /var/run/mysqld1 adım ile 2
Neville Nazerane

9
3. adım Ubuntu 18.04 ile benim için çalışmadı. Sadece sudo mysql
itsols

122

Benim için çalışan tek yöntem burada açıklanan yöntemdir (ubuntu 14.04 kullanıyorum). Anlaşılır olması açısından, izlediğim adımlar şunlardır:

  1. sudo vim /etc/mysql/my.cnf
  2. Sonuna aşağıdaki satırları ekleyin:

    [Mysqld]
    
    skip-hibe-tablolar
  3. sudo service mysql restart

  4. mysql -u root

  5. use mysql

  6. select * from mysql.user where user = 'root';- Şifre sütununa şifre mi yoksa authentication_string adı mı verileceğini belirlemek için en üste bakın

  7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; - Yukarıdan doğru şifre sütununu kullanın

  8. FLUSH PRIVILEGES;

  9. exit

  10. sudo vim /etc/mysql/my.cnf

  11. Güvenlik standartlarınızı korumak istiyorsanız, 2. adımda eklenen hatları kaldırın .

  12. sudo service mysql restart

Referans için: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html


8
Sonunda, bu benim için çalıştı! Ubuntu 16.04 üzerinde MySQL 5.7.18 kullanıyorum. Dpkg-reconfigure, Anvesh cevabı, Christian Mark'ın cevabı ve hatta MySQL'in yardım sayfasındaki talimatları denedim.
mbuc91

9
UPDATE mysql.user SET authentication_string = ŞİFRE ('newpwd') WHERE Kullanıcı = 'root' çalıştırmak zorunda kaldı; bunun yerine satır 5 için
mbuc91

2
Benim için çalışan tek çözüm. Ubuntu 17.04 ve mysql 5.7
Mohamed

1
Üzgün ​​bu benim için çalışmıyor mysql 5.7.22 ubuntu 18.04
Mario

1
Her şey beklendiği gibi çalışıyordu. Ancak giriş yapmaya çalışırken Parola girin: ERROR 1698 (28000): 'root' @ 'localhost' kullanıcısı için erişim reddedildi
Dipak Chatterjee

101

Ubuntu sunucusundaki kök parolayı sıfırlamanın resmi ve kolay yolu ...

16.04, 14.04, 12.04'de iseniz:

sudo dpkg-reconfigure mysql-server-5.5

10.04 üzerindeyseniz:

sudo dpkg-reconfigure mysql-server-5.1

Hangi mysql-server sürümünün kurulu olduğundan emin değilseniz deneyebilirsiniz:

dpkg --get-selections | grep mysql-server

Mysql-server-5.7 için güncellenmiş notlar

Mysql-server-5.7 kullanıyorsanız, yukarıda gösterilen daha kolay dpkg-reconfigure yöntemini kullanamayacağınızı unutmayın.

Şifreyi biliyorsanız giriş yapın ve çalıştırın:

UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;

Alternatif olarak, aşağıdakileri kullanabilirsiniz:

sudo mysql_secure_installation

Bu, yeni bir root şifresi vermek isteyip istemediğiniz de dahil olmak üzere kurulumunuzun güvenliğini sağlama hakkında bir dizi soru soracaktır (şiddetle tavsiye edilir).

Kök parolasını bilmiyorsanız , işlemdeki bu Ubuntu merkezli yazıya bakın .

Daha fazla bilgi için bakınız:

https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html


3
Orijinal MySQL kök parolasını kaybettiğinizde bile çalışır - güzel.
tanius

4
Ver 14.14 Distrib 5.5.38, for debian-linux-gnu
Şununla

MySQL V 5.0 ile de çalıştı ...sudo dpkg-reconfigure mysql-server-5.0
DSGHI

4
sudo dpkg-reconfigure mysql-server-5.7, root şifresini sıfırlamak için Ubuntu 18.04 için çalışmıyor. Başka alternatif var mı?
Jagdeep Singh

Ubuntu:sudo dpkg-reconfigure mysql-server-5.7; sudo mysql_secure_installation
kenorb

77

Benim için ne işe yaradı (Ubuntu 16.04, mysql 5.7):

MySQL'i Durdur

sudo service mysql stop

MySQL servis dizinini oluşturun.

sudo mkdir /var/run/mysqld

MySQL kullanıcısına servis dizinine yazma izni verin.

sudo chown mysql: /var/run/mysqld

MySQL'i izin kontrolleri veya ağ iletişimi olmadan manuel olarak başlatın.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Başka bir konsolda parola olmadan oturum açın.

mysql -uroot mysql

Sonra:

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;

MySQL'i kapatın.

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

MySQL hizmetini normal olarak başlatın.

sudo service mysql start

Diğer yollar benim için işe yaramadı ama bu (teşekkürler!), Ya da buraya da gidebilirsiniz rricketts.com/reset-root-password-mysql-5-7-ubuntu-16-04-lts
Dung

10
Çok kullanışlı ! Özel durumumda (Ubuntu 18.04 LTS), '%' ana bilgisayarını 'localhost' yerine değiştirmek zorunda kaldım
FredericK

Bu ubuntu 18.04'te işe yaramadı. Ancak burada açıklanan bu küçük değişiklikle çalıştı stackoverflow.com/a/53385753/1591143
Aleksandar Popovic

76

Linux Ubuntu'da bir MySQL şifresini sıfırlamak için adım adım nihai çözümü paylaşıyorum.

Blogdan alınan referans (dbrnd.com)

Adım 1: MySQL Hizmetini Durdurun.

sudo stop mysql

Adım 2: Çalışan tüm mysqld öldür.

sudo killall -9 mysqld

Adım 3: MySQL'i Güvenli modda başlatma.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Adım 4: MySQL istemcisini başlatın

mysql -u root

Adım 5: Başarılı bir giriş yaptıktan sonra, herhangi bir şifreyi değiştirmek için lütfen bu komutu yürütün.

FLUSH PRIVILEGES;

Adım 6: MySQL root şifresini güncelleyebilirsiniz.

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

Not : MySQL 5.7'de sütun Passwordçağrılır authentication_string.

Adım 7: Lütfen bu komutu yürütün.

FLUSH PRIVILEGES;

Aslında. Ayrıca, resmi belgelere daha yakındır . Bu sorunla karşılaşırsanız: "HATA 1524 (HY000): 'auth_socket' eklentisi yüklü değil", stackoverflow.com/questions/37879448/…
Wtower

Ayrıca 'localhost' ana bilgisayarına kök kullanıcı için mysql.user.plugin 'auth_socket' yerine 'mysql_native_password' değiştirmek zorunda kaldı.
Brandon

1
Hizmeti durdurmak için "sudo /etc/init.d/mysql stop" ve "UPDATE mysql.user SET authentication_string = PASSWORD ('newpwd') WHERE Kullanıcı = 'root';" güncellemek için
L Bahr

1
kimliği doğrulanmış _string yardımcı oldu
Faiyaz Md Abdul

42

Ubuntu 18.04 ve mysql 5.7 ile ilgili sorunlarla karşılaştım, çözüm bu

Komutları yürütmeden önce mysql sunucusunu yeniden başlatmayı deneyin

sudo service mysql restart

MYSQL-SUNUCU> = 5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

MYSQL-SUNUCU <5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

1
Teşekkürler, ben de burada Ubuntu 18.04 çalıştırıyorum ve MYSQL-SERVER >= 5.7sürüm aslında sorunu çözen tek şeydi
Miguelgraz

1
Bu Ubuntu 18.04 mysql kurulumunda çalışanıdır. MYSQL-SERVER >= 5.7sürümü kesin.
Sathish Manohar

34

MySQL kök parolasını değiştirin.

Bu yöntem parolayı komut satırı geçmişine gösterir, bu komutlar root olarak çalıştırılmalıdır.

  1. Mysql komut satırı aracı ile giriş:

    mysql -uroot -poldpassword
  2. Bu komutu çalıştırın:

    SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');

veya

  1. Geçerli kullanıcı için bir parola ayarlayan bu komutu çalıştırın (bu durumda 'root'):

    SET PASSWORD = ŞİFRE ('yeni şifre');


26

İlk önce şu komutu çalıştırın:

sudo mysql

ve sonra MySQL kullanıcı hesaplarınızın hangi kimlik doğrulama yöntemini kullandığını kontrol etmelisiniz.

SELECT user,authentication_string,plugin,host FROM mysql.user;

şimdi böyle bir şey zaten görebilirsiniz:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

Yukarıdaki tabloda, tüm mysql kullanıcı hesaplarınızın durumunu ve mysql_native_passwordbunun yerine eklenti sütununda görmeden önce kök hesap için bir parola belirlediyseniz görebilirsiniz auth_socket. Sonuçta kök şifrenizi değiştirmek için çalıştırmalısınız:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Şifreyi seçtiğiniz güçlü bir şifreyle değiştirdiğinizden emin olun. Sonra sunucunuzu yeniden yüklemek için yeni değişikliklerinizi yürürlüğe koymak için çalıştırın;

FLUSH PRIVILEGES;

Bu nedenle, bu komutla mysql'iniz tarafından kullanılan kimlik doğrulama yöntemlerini tekrar kontrol edin:

SELECT user,authentication_string,plugin,host FROM mysql.user;

ve şimdi çıktı:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

gördüğünüz gibi, root hesabınızın sahip olduğu hibe tablosunda görebilirsiniz mysql_native_password . şimdi MYSQL kabuğundan çıkabilirsiniz

exit;

Sadece bu mysql tarafından yeniden başlatmanız gerekir sudo service mysql restart. Şimdi mysql'e şifrenizle kolayca root hesabı olarak giriş yapabilirsiniz.


Sanırım bu, Virtual Box üzerinde çalışan Ubuntu 18.04'te benim için çalışan tek çözüm olan DigitalOcean'dan
Kemal

Ubuntu 18.04'te mükemmel çalışıyor. Teşekkürler.
mahfuz

12

MySQL kök parolasını değiştirmek isterseniz, bir terminalde şunu girin:

sudo dpkg-reconfigure mysql-server-5.5

MySQL arka plan programı durdurulur ve sizden yeni bir parola girmeniz istenir.


1
Bunu yapmanın çok daha iyi bir yolu. Bazı mysql hatası nedeniyle önceki komutları çalıştıramadım ...
Andy

sudo dpkg-yeniden yapılandırmak mysql-server-5.7 üzerinde ubuntu 16.04
Nick Barrett

2
sudo dpkg-reconfigure mysql-server-5.7Ubuntu 16.04'te koştum , yeni bir şifre girmek istemedi.
Franck Dernoncourt

O derse mysql-server is broken or not fully installed, birini kullanabilirsiniz sudo apt purge mysql*vesudo apt install mysql-server
Pavel

12

Bu Ubuntu 16.04 için yaptım cazibe gibi çalışır. Oradan var gibi aşağıdaki linke tam kredi. [ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts gelbe [1 ]

MySQL'i Durdur

sudo service mysql stop

MySQL servis dizinini oluşturun. sudo mkdir / var / run / mysqld

MySQL kullanıcısına servis dizinine yazma izni verin.

sudo chown mysql: /var/run/mysqld

MySQL'i izin kontrolleri veya ağ iletişimi olmadan manuel olarak başlatın.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Parola olmadan giriş yapın.

mysql -uroot mysql

Kök kullanıcı şifresini güncelleyin. en az kök hesapta aşağıdaki sorgu tarafından güncellendiğinden emin olun. biraz seçim yapın ve isterseniz mevcut değerleri kontrol edin

UPDATE mysql.user SET 
authentication_string=PASSWORD('YOURNEWPASSWORD'), 
plugin='mysql_native_password' WHERE User='root';
EXIT;

MySQL'i kapatın.

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

MySQL hizmetini normal olarak başlatın.

sudo service mysql start

11
  1. MySQL sudo hizmeti mysql durdurmayı durdur

  2. MySQL servis dizinini oluşturun. sudo mkdir / var / run / mysqld

  3. MySQL kullanıcısına servis dizinine yazma izni verin. sudo chown mysql: / var / run / mysqld

  4. MySQL'i izin kontrolleri veya ağ iletişimi olmadan manuel olarak başlatın. sudo mysqld_safe --skip-grant-tables --skip-networking &

5. şifre olmadan giriş yapın. mysql -kök mysql

Kök kullanıcı için parolayı güncelleyin.

UPDATE mysql.user SET authentication_string = PAROLA ('YOURNEWPASSWORD'), eklenti = 'mysql_native_password' WHERE Kullanıcı = 'kök' VE Ana Bilgisayar = '%'; ÇIKIŞ;

  1. MySQL'i kapatın. sudo mysqladmin -S /var/run/mysqld/mysqld.sock kapatma

  2. MySQL hizmetini normal olarak başlatın. sudo hizmet mysql başlangıç


1
Merhaba, bu cevap benim için çalışıyor, ama başka bir komut kullanmak zorunda kaldım: UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';olmadan AND Host='%'. Teşekkürler!
David Corral

10

Bu çözüm MySQL'in önceki sürümüne aittir. Soket kimlik doğrulaması kullanarak MySQL'de oturum açarak bunu yapabilirsiniz.

sudo mysql -u root

Sonra aşağıdaki komut çalıştırılabilir.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Detaylar burada .


1
Olarak giriş yapamadım sudo mysql -u rootama bunu yapabildim sudo mysqlve ALTER USERkomutu çalıştırabildim .
itsols

Şu hatayı alıyorum: "Parolanız geçerli politika gereksinimlerini karşılamıyor". Bunu burada düzeltebildim: stackoverflow.com/a/43094873/9073437 . Değiştirilmiş bir şifre politikası belirledikten sonra her şey yolunda gitti.
Grandtour

10

Bu benim için bir çözüm. Ubuntu 18.04'te çalışıyorum: https://stackoverflow.com/a/46076838/2400373

Ancak son adımdaki bu değişiklik önemlidir:

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost'; 

Allah Allah! Çok teşekkürler! Benim durumumda çalışmanın tek yolu bu. Yeni yüklenen 5.7 genişliğimi kullanıcılara hiç şifre sormadan açık tuttuğu için bu aptal güvenli kurulum komut dosyasını unutun ... Linux / Ubuntu güvenlik bilincine sahip kullanıcılar için ise MySQL sunucusu gibi önemli bir uygulamayı korumak neden bu kadar zor ?
Thomas Urban

7

Ubuntu 18.04 ve mysql sürüm 14.14 Distrib 5.7.22 için mysql parolasını sıfırlamak için aşağıdaki adımı izleyin.

Aşama 1

sudo systemctl stop mysql

Adım 2

sudo systemctl edit mysql

Bu komut, nano düzenleyicide MySQL'in hizmet geçersiz kılmalarını düzenlemek için kullanacağınız yeni bir dosya açar. Bunlar MySQL için varsayılan servis parametrelerini değiştirir. Bu dosya boş olacak, bu nedenle aşağıdaki içeriği ekleyin:

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking

Aşama 3

sudo systemctl daemon-reload
sudo systemctl start mysql

4. Adım

sudo mysql -u root

Adım 5

FLUSH PRIVILEGES;

6. Adım

UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';

Adım 7

UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';

8. Adım

sudo systemctl revert mysql

ve sonunda

sudo systemctl restart mysql

Şimdi tadını çıkarın


Sanırım 2. adımdaki içeriği kaçırdınız.
Lucas Mendes Mota Da Fonseca

6

Rogerdpack'in yorumu yankılanıyor: MySQL kök parolasını bilmiyorsanız ve MySQL veri / ayarlarıyla ilgilenmiyorsanız, yeniden yükleyebilir ve kök parolasını aşağıdaki gibi sıfırlayabilirsiniz:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get install -y mysql-server mysql-client 

Yükleme sırasında kök parolasını seçebilirsiniz:

resim açıklamasını buraya girin


2
Keşke burada şifreyi sıfırlamaya çalışırken kafamı vurarak bir saat harcamak yerine başlamış olsaydım.
Eric Seastrand

3

Mevcut şifrenizi biliyorsanız, mysql sunucusunu durdurmanız gerekmez. Ubuntu terminalini açın. Kullanarak mysql giriş:

mysql - username -p

Ardından şifrenizi yazın. Bu sizi mysql konsoluna götürecektir. Konsolun içine şunu yazın:

> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Ardından ayrıcalıkları aşağıdakileri kullanarak yıkayın:

> flush privileges;

Sonra hepiniz bittiniz.


2

PASSWORD()Parolayı değiştirmek istediğiniz sistemde MySQL kullandığınızda , parola cleartext [ kaynak ] içinde bir MySQL günlüğünde açılabilir . Onları, yedeklerini vb. Şifre benim için kabus gibi güvenli tutmak, bu yüzden aşağıdaki gibi yapmak istiyorum:

  1. Senin üzerinde yerel makine, şifrenizle bu çalıştırın:

     mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")

    Bas geçmişinde dönmesini önlemek için ön taraftaki alana dikkat edin (Ubuntu dışındaki diğer dağıtımlar için bu farklı çalışabilir - kaynak ).

  2. Sunucu makinenizde, MySQL kök parolasını değiştirmek için aşağıdaki komutu yürütün ( myhashilk komutun yazdırdığı şekilde parolanızın karma değeriyle değiştirin ):

    mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
  3. İsteğe bağlı olarak, biraz paranoyak olalım: Yerel makinenizde, clearyukarıdaki komutta görünen açık metin parolasını gizlemek için terminal ekranınızı temizleyin ve sanal terminal kaydırma sırtınızı temizleyin.


2

"Kök" Mysql kullanıcı parolasını güncellemek için bunun için süper kullanıcı izinlerine ihtiyacınız olacağını unutmayın. Süper kullanıcı ayrıcalıklarına sahipseniz, aşağıdaki komutları deneyin:

MySQL 5.7.6 ve üstü

sudo su
service mysql stop
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
\q;
exit
mysql -u root -p MyNewPass

MySQL 5.7.5 ve öncesi

sudo su
service mysql stop
mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
\q;
exit
mysql -u root -p MyNewPass

2

Tüm bunlara ihtiyacınız yok. Basitçe giriş yapın:

mysql -u root -p

Ardından, geçerli kullanıcının şifresini bilgi mysql>istemi olarak değiştirin :

mysql> set password=password('the_new_password');
mysql> flush privileges;

1
Bu en basit yol! MySQL ile benim için çalışıyor 5.7.21-0ubuntu0.17.10.1
Sergio Belevskij

2

Bu konudaki cevapların çoğu modası geçmiş; bu cevabın yazılmasına kadar MySQL'de iki büyük değişiklik meydana geldi:

1- Kullanıcı tablosundaki 'Şifre' alanının yerine 'authentication_string' sütunu getirildi.

2- 'Parola' şifreleme işlevi: PASSWORD ("bazı metinlerden") kullanımdan kaldırıldı.

Daha fazla bilgi için lütfen bu bağlantıya bakın : dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html


1

Parolayı sıfırlamak yerine phpmyadmin, parola veya kullanıcı adı vermeden bağlanmayı ayarladıysanız, yerel makinede bir çözüm vardır . Bunu başlatarak kontrol edin mysql, apachevb.xampp . Yerel makineme kurdum. Böylece xampp başlatıldığında gerekli tüm hizmetler başlatılır. Şimdi http://localhost/phpmyadminbana tüm veritabanlarını göstereceğim . Bu, kullanıcı adını ve parolayı phpmyadminkurulum konumunda bulunan phpmyadmin yapılandırma dosyasına kaydettiğinizi onaylar . Eğer xamppyüklediyseniz phpmyadminklasörü xamppkurulumun kök klasöründe bulabilirsiniz . Kelimeyi arama passwordiçinde config.inc.phpdosyanın. Orada password ve bulacaksınız username.


1

Verilen phpadmin gui aracılığıyla xampp üzerine dağıtılmışsa mysql şifresini kolayca değiştirebilirsiniz.

phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab)

1

mysql 5.6 için bu komut çalışır ve sihirbaz aracılığıyla şifre ayarlayabilirsiniz:

sudo dpkg-reconfigure mysql-server-5.6

Denedim ama çalışmıyor .. Bu feryat hatasını alıyorum .. lütfen yardımcı olabilir misiniz? MySQL'in bu kurulumu zaten 5.7.21'e yükseltildi, hala mysql_upgrade çalıştırmanız gerekiyorsa --force kullan
Vijaysinh Parmar

1

MySQL 5.7 root parolasını sıfırlamak için şu adımları deneyebilirsiniz:

Mysql Hizmetini Durdur 1

sudo /etc/init.d/mysql stop 

Şifre olmadan root olarak giriş yap sudo mysqld_safe --skip-grant-tables &

Giriş mysql terminalinden sonra komutları daha yürütmeniz gerekir:

use mysql;




UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';


flush privileges;


sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

MySQL sunucunuzu yeniden başlattıktan sonra Hala hatayla karşılaşıyorsanız şu adresi ziyaret etmelisiniz: MySQL 5.7 root parolasını sıfırla Ubuntu 16.04


1

Bu komutu kullanabilirsiniz:

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

bundan sonra lütfen floş kullanın:

FLUSH PRIVILEGES;

1

MySQL Parolasını Ayarlama

  1. MySQL veritabanı hizmetini durdur

sudo /etc/init.d/mysql durağı

  1. yeni bir mysqld dizini oluştur

sudo mkdir / var / run / mysqld /

  1. mysql kullanıcısına erişim ver

sudo chown mysql / var / run / mysqld /

  1. MySQL'i güvenli modda başlatın ...

sudo mysqld_safe --skip-grant-tables &

  1. şifre olmadan veritabanı sunucusunda oturum açma

sudo mysql -u kökü

  1. varsayılan mysql veritabanını kullan

mysql kullanın;

  1. root şifresini değiştir

update user set authentication_string=PASSWORD("New_Passwore_Here") where Kullanıcı = 'root';

  1. Değişiklikleri kaydedin

    floş ayrıcalıkları; çıkış;

  2. MySQL safe_mode'u durdurun ve MySQL varsayılan hizmetini başlatın

sudo /etc/init.d/mysql durağı

sudo /etc/init.d/mysql başlangıç

  1. root yeni parolasını kullanarak MySQL veritabanına tekrar giriş yapın

sudo mysql -u kök -p

*** Kaynak: https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/


1

'Kök' kullanıcı parolasını biliyorsanız, bu kimlik bilgileriyle mysql'de oturum açın. Ardından şifreyi güncellemek için aşağıdaki sorguyu yürütün.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

0

MySQL şifresini değiştirirken / sıfırlarken yukarıda listelenen aşağıdaki komutlar yardımcı olmadı. Terminale girmenin ve bu komutları kullanmanın anlamsız olduğunu gördüm. bunun yerine her şeyi sudo stop komutunu kullanın. Yardımcı olursa, Windows 32 SİSTEMİ SİLİN.


1
Soru ubuntuWindows ile değil işletim sistemi ile ilgili . Windows için DELETE SYSTEM 32 ile ne demek istiyorsun ?
EhsanT

0

Parolayı sıfırlamak veya değiştirmek için sudo dpkg-reconfigure mysql-server-X.X(XX, yüklediğiniz mysql sürümüdür, yani 5.6, 5.7) ve ardından yeni parolayı ayarlamanız gereken bir ekran soracak ve daha sonra bir sonraki adımda parolayı onaylayıp bir süre bekleyin. Bu kadar.


0

Bu rotaya Ubuntu 16.04.1 LTS'de gitmek zorunda kaldım. Bu, yukarıdaki diğer cevapların bir kısmının karışımıdır - ancak hiçbiri yardımcı olmadı. Bir saat veya daha fazla MySql web sitesinden tüm önerileri denemek için SO'daki her şeye harcadım, sonunda çalıştım:

Not: kullanıcı kökü için şifre girin gösterildiğinde, orijinal şifreye sahip olmadığım için aynı şifreyi girdim yeni şifre olarak kullanılmalıdır.

Not: /var/log/mysqld.log yalnızca /var/log/mysql/error.log diye bir şey

yoktu. Bunun benim için işe yaramadığına dikkat edin:
sudo dpkg-reconfigure mysql-server-5.7

Ayrıca:
sudo dpkg-reconfigure --force mysql-server-5.5

MySQL hizmet dizini yap.
sudo mkdir /var/run/mysqld

MySQL kullanıcısına servis dizinine yazma izni verin.
sudo chown mysql: /var/run/mysqld

Sonra:

  1. mevcut mysqld pid'i öldür
  2. mudoqd'yi sudo / usr / sbin / mysqld ile çalıştır &
  3. run / usr / bin / mysql_secure_installation mysql_secure_installation

    çıktısı

    root @ myServer: ~ # / usr / bin / mysql_secure_installation

    MySQL sunucusu dağıtımının güvenliğini sağlama.

    Kullanıcı kökü için şifre girin:

    GEÇERLİ ŞİFRE PLUGIN, şifreleri test etmek ve güvenliği artırmak için kullanılabilir. Parolanın gücünü denetler ve kullanıcıların yalnızca yeterince güvenli olan parolaları ayarlamasına olanak tanır. VALIDATE PASSWORD eklentisini kurmak ister misiniz?

    Evet için y | Y, Hayır: hayır için başka herhangi bir tuşa root için mevcut şifreyi kullanma. Root şifresi değiştirilsin mi? ((Evet için y | Y, Hayır için başka bir tuşa basın): y

    Yeni Şifre:

    Yeni şifreyi tekrar girin: Varsayılan olarak, bir MySQL kurulumunun anonim bir kullanıcısı vardır ve herkesin kendileri için bir kullanıcı hesabı oluşturmadan MySQL'de oturum açmasına izin verir. Bu sadece test etmek ve kurulumu biraz daha pürüzsüz hale getirmek için tasarlanmıştır. Bir üretim ortamına geçmeden önce bunları kaldırmalısınız.

    Anonim kullanıcılar kaldırılsın mı? (Evet için y | Y, Hayır için başka bir tuşa basın): y Başarılı.

    Normalde, root'un sadece 'localhost'tan bağlanmasına izin verilmelidir. Bu, birinin ağdaki kök parolayı tahmin edememesini sağlar.

    Kök girişine uzaktan izin verilsin mi? (Evet için y | Y, Hayır için başka bir tuşa basın): y Başarılı.

    Varsayılan olarak, MySQL, herkesin erişebileceği 'test' adlı bir veritabanı ile birlikte gelir. Bu aynı zamanda sadece test amaçlıdır ve bir üretim ortamına geçmeden önce kaldırılmalıdır.

    Test veritabanı kaldırılsın mı? (Evet için y | Y, Hayır için başka bir tuşa basın): y

    • Test veritabanı düşürülüyor ... Başarılı.

    • Test veritabanındaki ayrıcalıklar kaldırılıyor ... Başarılı.

    Ayrıcalık tablolarını yeniden yüklemek, şimdiye kadar yapılan tüm değişikliklerin hemen geçerli olmasını sağlayacaktır.

    Ayrıcalık tabloları şimdi yeniden yüklensin mi? (Evet için y | Y, Hayır için başka bir tuşa basın): y Başarılı.

    Hepsi tamam!

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.