MySQL'i Mac OS X'e yeni yükledim. Bir sonraki adım root kullanıcı şifresini ayarlamaktı, ben de bunu yaptım:
Unix komut satırına erişmek için terminal uygulamasını başlatın.
Unix komut istemi altında bu komutları çalıştırdım:
$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'
Ancak, komutu çalıştırdığımda
"$ ./mysql -u root", cevap budur:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 224
Server version: 5.5.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Herhangi bir şifre olmadan mysql
komut satırına girebiliyorum!
Neden böyle oldu?
MySQL terminalinde oturum açtığınızda FLUSH PRIVILEGES
komutunu deneyin. Eğer bu işe yaramazsa, MySQL terminalindeyken aşağıdaki komutları deneyin
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
NEWPASSWORD'ü istediğiniz parola ile değiştirin. Her şey hazır olmalı!
Güncelleme: MySQL 5.7'den itibaren password
alanı authentication_string
olarak yeniden adlandırılmıştır. Parolayı değiştirirken, parolayı değiştirmek için aşağıdaki sorguyu kullanın. Diğer tüm komutlar aynı kalır:
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
Güncelleme: 8.0.15'te (belki de bu sürümden önce) PASSWORD() işlevi, aşağıdaki yorumlarda belirtildiği gibi çalışmıyor. Kullanmak zorundasınız:
'UPDATE mysql.user SET authentication_string='password' WHERE User='root';`
Root için belirlediğiniz parolayı hatırlamıyorsanız ve sıfırlamanız gerekiyorsa, aşağıdaki adımları izleyin:
'sudo mysqld_safe --skip-grant-tables;`
mysql -u root
MySQL 5.7'den daha eski MySQL için kullanın:
'UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';`
MySQL 5.7+ için kullanın:
USE mysql;
'UPDATE mysql.user SET authentication_string=PASSWORD("your-password") WHERE User='root';`
Yenile ve çık:
FLUSH PRIVILEGES;
\q
MySQL'i kurduktan sonra, "root" parolasını oluşturmanız gerekecektir. Eğer bir root parolası oluşturmazsanız, root parolası yoktur ve oturum açmak için bir parolaya ihtiyacınız yoktur.
Bu nedenle, bir kök parola oluşturmanız gerekir.
Terminal kullanarak aşağıdakileri girin:
/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE
Bir hata yaptıysanız veya kök parolayı değiştirmeniz gerekiyorsa aşağıdakileri kullanın:
cd /usr/local/mysql/bin/
./mysql -u root -p
> Enter password: [type old password invisibly]
use mysql;
update user set password=PASSWORD("NEW_PASSWORD_HERE") where User='root';
flush privileges;
quit