1. 1. adım
  2. cd /root
  3. ee mysqlsifresifirla.sh
  4. 2.adım
  5. #!/bin/sh
  6. # Renkler
  7. GREEN='\033[0;32m'
  8. RED='\033[0;31m'
  9. NC='\033[0m'
  10. echo ""
  11. printf "${GREEN}Metin2 Veritabanı Şifre Yönetim Paneli${NC}\n"
  12. echo "------------------------------------------------"
  13. echo "1) MySQL 8.0 ve Üstü"
  14. echo "2) MySQL 5.5 / 5.6 / 5.7"
  15. echo "3) MariaDB"
  16. echo "------------------------------------------------"
  17. printf "Seçiminizi yapın (1-3): "
  18. read secim
  19. printf "Yeni root şifreniz: "
  20. read yenisifre
  21. echo ""
  22. printf "${RED}Servisler durduruluyor...${NC}\n"
  23. service mysql-server stop 2>/dev/null
  24. killall mysqld 2>/dev/null
  25. sleep 2
  26. printf "${GREEN}Güvenli mod başlatılıyor...${NC}\n"
  27. /usr/local/bin/mysqld_safe --skip-grant-tables --skip-networking >/dev/null 2>&1 &
  28. sleep 5
  29. # Şifre güncelleme
  30. if [ "$secim" = "1" ]; then
  31. printf "${GREEN}MySQL 8.0+ işlemi...${NC}\n"
  32. mysql -u root <<EOF
  33. FLUSH PRIVILEGES;
  34. ALTER USER 'root'@'localhost' IDENTIFIED BY '$yenisifre';
  35. CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY '$yenisifre';
  36. ALTER USER 'root'@'%' IDENTIFIED BY '$yenisifre';
  37. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  38. FLUSH PRIVILEGES;
  39. EOF
  40. elif [ "$secim" = "2" ]; then
  41. printf "${GREEN}MySQL 5.x işlemi...${NC}\n"
  42. mysql -u root <<EOF
  43. USE mysql;
  44. UPDATE user SET Password=PASSWORD('$yenisifre') WHERE User='root';
  45. FLUSH PRIVILEGES;
  46. EOF
  47. elif [ "$secim" = "3" ]; then
  48. printf "${GREEN}MariaDB işlemi...${NC}\n"
  49. mysql -u root <<EOF
  50. FLUSH PRIVILEGES;
  51. ALTER USER 'root'@'localhost' IDENTIFIED BY '$yenisifre';
  52. ALTER USER 'root'@'%' IDENTIFIED BY '$yenisifre';
  53. FLUSH PRIVILEGES;
  54. EOF
  55. else
  56. printf "${RED}Hatalı seçim!${NC}\n"
  57. exit 1
  58. fi
  59. echo ""
  60. printf "${RED}Geçici süreçler kapatılıyor...${NC}\n"
  61. killall mysqld 2>/dev/null
  62. sleep 2
  63. printf "${GREEN}MySQL normal başlatılıyor...${NC}\n"
  64. service mysql-server start
  65. sleep 5
  66. echo ""
  67. if service mysql-server status | grep -q "running"; then
  68. echo "------------------------------------------------"
  69. printf "${GREEN}BAŞARILI!${NC}\n"
  70. printf "Yeni şifreniz: ${GREEN}%s${NC}\n" "$yenisifre"
  71. echo "------------------------------------------------"
  72. else
  73. printf "${RED}HATA: MySQL başlatılamadı!${NC}\n"
  74. fi
  75. 3. adım
  76. chmod +x mysqlsifresifirla.sh
  77. 4. adım
  78. sh mysqlsifresifirla.sh