Komut satırından veritabanına bağlantı
Veritabanı yeni oluşturulmuşsa ve/veya kullanıcının bir şifresi yoksa:
# mysql -ukullanici_adi
# mysql -uroot
Kullanıcının şifresi varsa:
# mysql -ukullanıcı_adı -pşifre
# mysql -uroot -proot
Kullanıcının şifresini değiştirme
Veritabanı yeni oluşturulmuşsa ve/veya kullanıcının bir şifresi yoksa:
# mysqladmin -u kullanıcı_adı password şifre
# mysqladmin -u root password root
Kullanıcının şifresi varsa:
# mysqladmin -u kullanıcı_adı -p eski_şifre password yeni şifre
# mysqladmin -u root -p root password 123456
SQL ile şifre değiştirme:
mysql# use mysql;
mysql# update user set password=PASSWORD("yeni_şifre") where User='root';
mysql# flush privileges;
Root şifresini sıfırlama
1. MySQL servisi kapatılır.
2. MySQL servisi --skip-grant-tables seçeneği ile başlatılır.
Eğer bu şekilde başlatılmasında problem oluyorsa my.cnf/my.ini dosyasının mysqld kısmına skip-grant-tables yazan bir satır eklenip, servis yeniden başlatılır.
3. MySQL sunucusuna root olarak bağlanılır.
4. Yeni şifre SQL yöntemi ile belirlenir.
5. Komut satırından çıkılıp MySQL servisi yeniden başlatılır.
LINUX'te kullanım örneği
1. # /etc/init.d/mysql stop
2. # mysqld_safe --skip-grant-tables
3. # mysql -u root
4. mysql# use mysql;
mysql# update user set password=PASSWORD("yeni_şifre") where User='root';
mysql# flush privileges;
mysql# quit
5. # /etc/init.d/mysql restart
Shell script'ten sql kullanmak
--execute parametresi ile istenilen sql komutu çalıştırılabilir.
mysql --user=root --password=degistir --execute="show databases"
mysql --user=root --password=degistir --execute="CREATE DATABASE DENEMEVT CHARACTER SET utf8 COLLATE utf8_turkish_ci"
Sunucuya başka bilgisayarlardan erişim
MySQL artık ağ erişimi açık olarak gelmektedir. Varsayılan olarak sadece yerel bilgisayardan erişime izin vermektedir. my.cnf/my.ini dosyasında bind-address değişkeninin değerini 0.0.0.0 ya da sunucunun IP adresi olarak değiştirirseniz MySQL servisine başka bilgisayarlardan da erişebilirsiniz. Gerektiği durumlarda aşağıdaki 2 maddeyi de uygulamalısınız.
Kullanıcı yetkisi vermek
Aşağıdaki komut root kullanıcısına tüm bilgisayarlardan DENEMEVT şeması üzerinde her tür işlem yapma yetkisi verir.
GRANT ALL ON DENEMEVT.* TO 'root'@'%'
Linux sunucularda uzaktan erişim
Linux sunucularda uzaktan erişim için yukarıdaki başlıkta yapılan işlem yeterli olmayabilir.
Bu durumda /etc/hosts.allowed dosyasına "mysqld: ALL" yazan bir satır eklemeniz gerekecektir.
Hiç yorum yok:
Yorum Gönder