{"id":194,"date":"2025-11-07T14:16:47","date_gmt":"2025-11-07T14:16:47","guid":{"rendered":"https:\/\/adveyer.com\/blog\/?p=194"},"modified":"2025-11-07T14:16:47","modified_gmt":"2025-11-07T14:16:47","slug":"mysql-root-sifresi-degistirme","status":"publish","type":"post","link":"https:\/\/adveyer.com\/blog\/mysql-root-sifresi-degistirme\/","title":{"rendered":"MySQL Root \u015eifresi De\u011fi\u015ftirme"},"content":{"rendered":"<p data-start=\"57\" data-end=\"534\">MySQL \/ MariaDB sunucular\u0131nda <strong data-start=\"87\" data-end=\"95\">root<\/strong> (veya <code data-start=\"102\" data-end=\"108\">root<\/code> benzeri y\u00f6netici) hesab\u0131n\u0131n \u015fifresini de\u011fi\u015ftirmek, hem rutin g\u00fcvenlik bak\u0131m\u0131 hem de bir parola s\u0131z\u0131nt\u0131s\u0131 sonras\u0131 yap\u0131lmas\u0131 gereken kritik bir i\u015flemdir. Bu rehberte hem normal ko\u015fullarda parola de\u011fi\u015ftirme hem de <strong data-start=\"320\" data-end=\"340\">kurtarma (reset)<\/strong> senaryolar\u0131, Debian\/Ubuntu farklar\u0131 (auth_socket), Red Hat\/CentOS, Docker, sistem servisleri, SELinux\/AppArmor ve s\u0131k kar\u015f\u0131la\u015f\u0131lan hatalarla nas\u0131l ba\u015fa \u00e7\u0131k\u0131laca\u011f\u0131 detayl\u0131 olarak ele al\u0131nm\u0131\u015ft\u0131r.<\/p>\n<blockquote data-start=\"536\" data-end=\"680\">\n<p data-start=\"538\" data-end=\"680\">Not: Bu rehberi uygularseniz \u00f6nce mutlaka yedek al\u0131n ve canl\u0131 \u00fcretim sunucular\u0131nda de\u011fi\u015fiklik yapmadan \u00f6nce test ortam\u0131nda denemeyi unutmay\u0131n.<\/p>\n<\/blockquote>\n<h2 data-start=\"687\" data-end=\"729\">Neden MySQL root \u015fifresi de\u011fi\u015ftirmelisiniz?<\/h2>\n<ul data-start=\"731\" data-end=\"951\">\n<li data-start=\"731\" data-end=\"769\">\n<p data-start=\"733\" data-end=\"769\">Parola s\u0131zd\u0131ysa (g\u00fcvenlik ihlali).<\/p>\n<\/li>\n<li data-start=\"770\" data-end=\"823\">\n<p data-start=\"772\" data-end=\"823\">D\u00fczenli parola d\u00f6ng\u00fcs\u00fc politikas\u0131 uyguluyorsan\u0131z.<\/p>\n<\/li>\n<li data-start=\"824\" data-end=\"880\">\n<p data-start=\"826\" data-end=\"880\">Yeni bir security audit\/denetim sonras\u0131 isteniyorsa.<\/p>\n<\/li>\n<li data-start=\"881\" data-end=\"951\">\n<p data-start=\"883\" data-end=\"951\">Sunucu devralma (handover) veya personel de\u011fi\u015fikli\u011fi durumlar\u0131nda.<\/p>\n<\/li>\n<\/ul>\n<h2 data-start=\"958\" data-end=\"991\">\u00d6n Haz\u0131rl\u0131k \u2014 Riskleri Azaltma<\/h2>\n<ol data-start=\"993\" data-end=\"1764\">\n<li data-start=\"993\" data-end=\"1138\">\n<p data-start=\"996\" data-end=\"1138\"><strong data-start=\"996\" data-end=\"1023\">Veritaban\u0131 yede\u011fi al\u0131n.<\/strong><br data-start=\"1023\" data-end=\"1026\" \/><code data-start=\"1029\" data-end=\"1102\">mysqldump --all-databases --single-transaction -u root -p &gt; all_dbs.sql<\/code> veya sunucu seviyesinde snapshot.<\/p>\n<\/li>\n<li data-start=\"1139\" data-end=\"1500\">\n<p data-start=\"1142\" data-end=\"1500\"><strong data-start=\"1142\" data-end=\"1194\">Uygulamalar\u0131n ba\u011flant\u0131 bilgilerini kontrol edin.<\/strong> Root parolas\u0131n\u0131 de\u011fi\u015ftirirken \u00fcretimde root eri\u015fiminin uygulamalar taraf\u0131ndan nadiren kullan\u0131ld\u0131\u011f\u0131n\u0131 unutmay\u0131n \u2014 \u00e7o\u011fu uygulama ayr\u0131 DB kullan\u0131c\u0131lar\u0131yla ba\u011flan\u0131r. Root parolas\u0131n\u0131 de\u011fi\u015ftirmek ba\u011flant\u0131 sorunlar\u0131na yol a\u00e7mamal\u0131 fakat yine de konfig\u00fcrasyonlarda root kullanan cron\/script var m\u0131 kontrol edin.<\/p>\n<\/li>\n<li data-start=\"1501\" data-end=\"1617\">\n<p data-start=\"1504\" data-end=\"1617\"><strong data-start=\"1504\" data-end=\"1539\">Eri\u015fim y\u00f6ntemlerini belirleyin.<\/strong> (SSH anahtarlar\u0131 haz\u0131r, hizmet durumu takip sistemleri bilgilendirildi vb.)<\/p>\n<\/li>\n<li data-start=\"1618\" data-end=\"1764\">\n<p data-start=\"1621\" data-end=\"1764\"><strong data-start=\"1621\" data-end=\"1691\">Sunucuya konsol veya SSH ile root eri\u015fiminiz oldu\u011fundan emin olun.<\/strong> E\u011fer uzak eri\u015fim tek yoldaysa bir ba\u011flant\u0131 kesilmesi durumunu planlay\u0131n.<\/p>\n<\/li>\n<\/ol>\n<h2 data-start=\"1771\" data-end=\"1817\">Temel Y\u00f6ntemler \u2014 Hangi durum hangi y\u00f6ntem?<\/h2>\n<ul data-start=\"1819\" data-end=\"2517\">\n<li data-start=\"1819\" data-end=\"1924\">\n<p data-start=\"1821\" data-end=\"1924\"><strong data-start=\"1821\" data-end=\"1869\">Normal durum (root parolas\u0131n\u0131 biliyorsan\u0131z):<\/strong> <code data-start=\"1870\" data-end=\"1882\">ALTER USER<\/code> \/ <code data-start=\"1885\" data-end=\"1899\">SET PASSWORD<\/code> komutu ile de\u011fi\u015ftirin.<\/p>\n<\/li>\n<li data-start=\"1925\" data-end=\"2137\">\n<p data-start=\"1927\" data-end=\"2137\"><strong data-start=\"1927\" data-end=\"1980\">Root parolas\u0131n\u0131 unuttuysan\u0131z veya kaybettiyseniz:<\/strong> <code data-start=\"1981\" data-end=\"2000\">skip-grant-tables<\/code> ile MySQL&#8217;i g\u00fcvenli modda ba\u015flat\u0131p parolay\u0131 de\u011fi\u015ftirin veya <code data-start=\"2061\" data-end=\"2074\">auth_socket<\/code>\/system auth hangi y\u00f6ntemi kullan\u0131yorsa ona g\u00f6re i\u015flem yap\u0131n.<\/p>\n<\/li>\n<li data-start=\"2138\" data-end=\"2321\">\n<p data-start=\"2140\" data-end=\"2321\"><strong data-start=\"2140\" data-end=\"2182\">Debian\/Ubuntu (auth_socket) durumunda:<\/strong> root parolas\u0131 yerine <code data-start=\"2204\" data-end=\"2216\">sudo mysql<\/code> ile root olabiliyorsan\u0131z <code data-start=\"2242\" data-end=\"2300\">ALTER USER 'root'@'localhost' IDENTIFIED BY 'YeniSifre';<\/code> komutu kullan\u0131l\u0131r.<\/p>\n<\/li>\n<li data-start=\"2322\" data-end=\"2517\">\n<p data-start=\"2324\" data-end=\"2517\"><strong data-start=\"2324\" data-end=\"2387\">Cloud \/ Paket kurulumlarda (\u00f6r. Amazon RDS, managed MySQL):<\/strong> genellikle kendi y\u00f6netim konsolu \u00fczerinden parola de\u011fi\u015fimi gerekir \u2014 sunucuya eri\u015fim ve <code data-start=\"2476\" data-end=\"2495\">skip-grant-tables<\/code> m\u00fcmk\u00fcn olmayabilir.<\/p>\n<\/li>\n<\/ul>\n<h2 data-start=\"2524\" data-end=\"2586\">1) Normal \u015fekilde (root parolas\u0131 biliniyorsa) \u2014 g\u00fcvenli yol<\/h2>\n<h3 data-start=\"2588\" data-end=\"2637\">MySQL 5.7+ \/ MariaDB \/ MySQL 8 i\u00e7in \u00f6nerilen:<\/h3>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\"><span class=\"hljs-comment\">-- mysql -u root -p<\/span>\r\n<span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">USER<\/span> <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED <span class=\"hljs-keyword\">BY<\/span> <span class=\"hljs-string\">'YeniG\u00fc\u00e7l\u00fcParola!'<\/span>;\r\nFLUSH PRIVILEGES;\r\n<\/code><\/pre>\n<\/div>\n<ul data-start=\"2752\" data-end=\"2893\">\n<li data-start=\"2752\" data-end=\"2797\">\n<p data-start=\"2754\" data-end=\"2797\">MySQL 8&#8217;de <code data-start=\"2765\" data-end=\"2777\">ALTER USER<\/code> en do\u011fru y\u00f6ntemdir.<\/p>\n<\/li>\n<li data-start=\"2798\" data-end=\"2893\">\n<p data-start=\"2800\" data-end=\"2893\">MariaDB veya eski MySQL s\u00fcr\u00fcmlerinde <code data-start=\"2837\" data-end=\"2855\">SET PASSWORD FOR<\/code> veya <code data-start=\"2861\" data-end=\"2880\">UPDATE mysql.user<\/code> gerekebilir.<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"2895\" data-end=\"2931\">\u00d6rnek (MariaDB \/ MySQL 5.6 ve alt\u0131):<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\"><span class=\"hljs-keyword\">SET<\/span> PASSWORD <span class=\"hljs-keyword\">FOR<\/span> <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> <span class=\"hljs-operator\">=<\/span> PASSWORD(<span class=\"hljs-string\">'YeniG\u00fc\u00e7l\u00fcParola!'<\/span>);\r\nFLUSH PRIVILEGES;\r\n<\/code><\/pre>\n<\/div>\n<blockquote data-start=\"3030\" data-end=\"3159\">\n<p data-start=\"3032\" data-end=\"3159\">G\u00fc\u00e7l\u00fc parola: en az 12-16 karakter, b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf, rakam, sembol kar\u0131\u015f\u0131m\u0131. Parola y\u00f6neticisi (1Password\/Bitwarden) kullan\u0131n.<\/p>\n<\/blockquote>\n<h2 data-start=\"3166\" data-end=\"3241\">2) Debian\/Ubuntu (auth_socket) \u2014 root parolas\u0131 yok\/\u015fifre kullan\u0131lm\u0131yorsa<\/h2>\n<p data-start=\"3243\" data-end=\"3515\">Debian\/Ubuntu paketlerindeki baz\u0131 MySQL\/MariaDB kurulumlar\u0131 <code data-start=\"3303\" data-end=\"3316\">auth_socket<\/code> plugin\u2019i ile root kullan\u0131c\u0131y\u0131 UNIX socket \u00fczerinden OS root kullan\u0131c\u0131s\u0131 olarak do\u011frular. Bu durumda <code data-start=\"3417\" data-end=\"3435\">mysql -u root -p<\/code> parola istemeyebilir; bunun yerine <code data-start=\"3471\" data-end=\"3483\">sudo mysql<\/code> ile do\u011frudan ba\u011flanabilirsiniz.<\/p>\n<p data-start=\"3517\" data-end=\"3525\">Ad\u0131mlar:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo mysql\r\n<span class=\"hljs-comment\"># MariaDB veya MySQL prompt geldi\u011finde:<\/span>\r\nALTER USER <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED BY <span class=\"hljs-string\">'YeniG\u00fc\u00e7l\u00fcParola!'<\/span>;\r\nFLUSH PRIVILEGES;\r\nEXIT;\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"3678\" data-end=\"3748\">E\u011fer <code data-start=\"3683\" data-end=\"3696\">auth_socket<\/code>&#8216;i kald\u0131r\u0131p parola ile giri\u015f olmaya d\u00f6nmek istersen:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\"><span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">USER<\/span> <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED <span class=\"hljs-keyword\">WITH<\/span> mysql_native_password <span class=\"hljs-keyword\">BY<\/span> <span class=\"hljs-string\">'YeniG\u00fc\u00e7l\u00fcParola!'<\/span>;\r\nFLUSH PRIVILEGES;\r\n<\/code><\/pre>\n<\/div>\n<blockquote data-start=\"3870\" data-end=\"4011\">\n<p data-start=\"3872\" data-end=\"4011\">MariaDB&#8217;de plugin isimleri farkl\u0131 olabilir (<code data-start=\"3916\" data-end=\"3929\">unix_socket<\/code> vs <code data-start=\"3933\" data-end=\"3946\">auth_socket<\/code>). <code data-start=\"3949\" data-end=\"3993\">SELECT user, host, plugin FROM mysql.user;<\/code> ile kontrol edin.<\/p>\n<\/blockquote>\n<h2 data-start=\"4018\" data-end=\"4109\">3) Root parola unutulduysa \u2014 <code data-start=\"4050\" data-end=\"4069\">skip-grant-tables<\/code> ile kurtarma (en \u00e7ok kullan\u0131lan y\u00f6ntem)<\/h2>\n<p data-start=\"4111\" data-end=\"4309\"><strong data-start=\"4111\" data-end=\"4121\">Uyar\u0131:<\/strong> <code data-start=\"4122\" data-end=\"4141\">skip-grant-tables<\/code> modu yetkisiz eri\u015fime olanak verir; bu i\u015flem s\u0131ras\u0131nda sunucuya d\u0131\u015far\u0131dan eri\u015fimi engellemeniz (firewall, iptables, ip blocking) ve k\u0131sa s\u00fcrede i\u015flem yapman\u0131z gerekir.<\/p>\n<h3 data-start=\"4311\" data-end=\"4356\">Ad\u0131mlar (systemd tabanl\u0131 sistemler i\u00e7in):<\/h3>\n<ol data-start=\"4357\" data-end=\"4385\">\n<li data-start=\"4357\" data-end=\"4385\">\n<p data-start=\"4360\" data-end=\"4385\">MySQL servisini durdurun:<\/p>\n<\/li>\n<\/ol>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo systemctl stop mysqld       <span class=\"hljs-comment\"># CentOS\/RedHat<\/span>\r\nsudo systemctl stop mysql        <span class=\"hljs-comment\"># Debian\/Ubuntu<\/span>\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"2\" data-start=\"4496\" data-end=\"4545\">\n<li data-start=\"4496\" data-end=\"4545\">\n<p data-start=\"4499\" data-end=\"4545\">MySQL&#8217;i grant kontrol\u00fc kapal\u0131 olarak ba\u015flat\u0131n:<\/p>\n<\/li>\n<\/ol>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo mysqld_safe --skip-grant-tables --skip-networking &amp;   <span class=\"hljs-comment\"># --skip-networking ile d\u0131\u015f eri\u015fimi engelle<\/span>\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"3\" data-start=\"4661\" data-end=\"4725\">\n<li data-start=\"4661\" data-end=\"4725\">\n<p data-start=\"4664\" data-end=\"4725\">Yeni terminalde MySQL&#8217;e root olarak ba\u011flan\u0131n (parola sormaz):<\/p>\n<\/li>\n<\/ol>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysql -u root\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"4\" data-start=\"4752\" data-end=\"4776\">\n<li data-start=\"4752\" data-end=\"4776\">\n<p data-start=\"4755\" data-end=\"4776\">Parolay\u0131 g\u00fcncelleyin:<\/p>\n<\/li>\n<\/ol>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\">FLUSH PRIVILEGES;   <span class=\"hljs-comment\">-- bazen ilk olarak flush de\u011fil hemen ALTER kullan\u0131n<\/span>\r\n<span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">USER<\/span> <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED <span class=\"hljs-keyword\">BY<\/span> <span class=\"hljs-string\">'YeniG\u00fc\u00e7l\u00fcParola!'<\/span>;\r\nFLUSH PRIVILEGES;\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"4943\" data-end=\"5010\">E\u011fer <code data-start=\"4948\" data-end=\"4960\">ALTER USER<\/code> hata verirse (\u00e7ok eski s\u00fcr\u00fcm) \u015fu \u015fekilde deneyin:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\">USE mysql;\r\n<span class=\"hljs-keyword\">UPDATE<\/span> <span class=\"hljs-keyword\">user<\/span> <span class=\"hljs-keyword\">SET<\/span> authentication_string<span class=\"hljs-operator\">=<\/span>PASSWORD(<span class=\"hljs-string\">'YeniG\u00fc\u00e7l\u00fcParola!'<\/span>) <span class=\"hljs-keyword\">WHERE<\/span> <span class=\"hljs-keyword\">User<\/span><span class=\"hljs-operator\">=<\/span><span class=\"hljs-string\">'root'<\/span> <span class=\"hljs-keyword\">AND<\/span> Host<span class=\"hljs-operator\">=<\/span><span class=\"hljs-string\">'localhost'<\/span>;\r\n<span class=\"hljs-comment\">-- veya MySQL versiyonuna g\u00f6re:<\/span>\r\n<span class=\"hljs-keyword\">UPDATE<\/span> mysql.user <span class=\"hljs-keyword\">SET<\/span> Password<span class=\"hljs-operator\">=<\/span>PASSWORD(<span class=\"hljs-string\">'YeniG\u00fc\u00e7l\u00fcParola!'<\/span>) <span class=\"hljs-keyword\">WHERE<\/span> <span class=\"hljs-keyword\">User<\/span><span class=\"hljs-operator\">=<\/span><span class=\"hljs-string\">'root'<\/span>;\r\nFLUSH PRIVILEGES;\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"5\" data-start=\"5269\" data-end=\"5304\">\n<li data-start=\"5269\" data-end=\"5304\">\n<p data-start=\"5272\" data-end=\"5304\">MySQL&#8217;i kapat\u0131p normal ba\u015flat\u0131n:<\/p>\n<\/li>\n<\/ol>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo pkill mysqld\r\nsudo systemctl start mysqld\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"6\" data-start=\"5363\" data-end=\"5390\">\n<li data-start=\"5363\" data-end=\"5390\">\n<p data-start=\"5366\" data-end=\"5390\">Yeni parolay\u0131 test edin:<\/p>\n<\/li>\n<\/ol>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysql -u root -p\r\n<span class=\"hljs-comment\"># parola girildi\u011finde root eri\u015fimi gelmeli<\/span>\r\n<\/code><\/pre>\n<\/div>\n<h2 data-start=\"5469\" data-end=\"5555\">4) E\u011fer paket kurulum s\u0131ras\u0131nda temporary root password verildiyse (\u00f6r. MySQL 5.7+)<\/h2>\n<p data-start=\"5557\" data-end=\"5760\">Baz\u0131 MySQL kurulumlar\u0131 tmp root parolas\u0131 \u00fcretir ve bu <code data-start=\"5611\" data-end=\"5632\">\/var\/log\/mysqld.log<\/code> veya <code data-start=\"5638\" data-end=\"5664\">\/var\/log\/mysql\/error.log<\/code> i\u00e7inde yer al\u0131r. E\u011fer kurulurken bu parola kullan\u0131ld\u0131ysa ilk giri\u015fte de\u011fi\u015ftirmeniz isteniyordu.<\/p>\n<p data-start=\"5762\" data-end=\"5782\">Ge\u00e7ici parola bulma:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo grep <span class=\"hljs-string\">'temporary password'<\/span> \/var\/log\/mysqld.log\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"5846\" data-end=\"5855\">Ard\u0131ndan:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysql -u root -p   <span class=\"hljs-comment\"># temporary password girin<\/span>\r\nALTER USER <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED BY <span class=\"hljs-string\">'YeniParola1!'<\/span>;\r\n<\/code><\/pre>\n<\/div>\n<h2 data-start=\"5980\" data-end=\"6042\">5) Docker konteyner i\u00e7indeki MySQL root parolas\u0131 de\u011fi\u015ftirme<\/h2>\n<p data-start=\"6044\" data-end=\"6064\">Konteyner i\u00e7indeyse:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\"><span class=\"hljs-comment\"># konteyner name \u00f6\u011fren<\/span>\r\ndocker <span class=\"hljs-built_in\">exec<\/span> -it mysql_container bash\r\nmysql -u root -p\r\nALTER USER <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'%'<\/span> IDENTIFIED BY <span class=\"hljs-string\">'YeniParola!'<\/span>;\r\nFLUSH PRIVILEGES;\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"6223\" data-end=\"6389\">E\u011fer konteyneri yeniden ba\u015flatt\u0131\u011f\u0131n\u0131zda env de\u011fi\u015fkeni (<code data-start=\"6278\" data-end=\"6299\">MYSQL_ROOT_PASSWORD<\/code>) ile otomatik set ediliyorsa, docker-compose dosyan\u0131zda bu de\u011feri de\u011fi\u015ftirmeyi unutmay\u0131n.<\/p>\n<p data-start=\"6391\" data-end=\"6418\">Konteyner d\u0131\u015f\u0131nda host&#8217;tan:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">docker <span class=\"hljs-built_in\">exec<\/span> -it mysql_container mysql -u root -p -e <span class=\"hljs-string\">\"ALTER USER 'root'@'localhost' IDENTIFIED BY 'YeniParola!'; FLUSH PRIVILEGES;\"<\/span>\r\n<\/code><\/pre>\n<\/div>\n<h2 data-start=\"6568\" data-end=\"6620\">6) MySQL s\u00fcr\u00fcm\u00fcne g\u00f6re dikkat edilmesi gerekenler<\/h2>\n<ul data-start=\"6622\" data-end=\"6822\">\n<li data-start=\"6622\" data-end=\"6822\">\n<p data-start=\"6624\" data-end=\"6822\"><strong data-start=\"6624\" data-end=\"6636\">MySQL 8:<\/strong> <code data-start=\"6637\" data-end=\"6660\">authentication_string<\/code> ve caching_sha2_password kullan\u0131labilir. <code data-start=\"6702\" data-end=\"6714\">ALTER USER<\/code> ile plugin belirtmezsen yeni default plugin kullan\u0131labilir. E\u011fer eski <code data-start=\"6785\" data-end=\"6808\">mysql_native_password<\/code> istiyorsan\u0131z:<\/p>\n<\/li>\n<\/ul>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\"><span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">USER<\/span> <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED <span class=\"hljs-keyword\">WITH<\/span> mysql_native_password <span class=\"hljs-keyword\">BY<\/span> <span class=\"hljs-string\">'YeniParola!'<\/span>;\r\n<\/code><\/pre>\n<\/div>\n<ul data-start=\"6920\" data-end=\"7202\">\n<li data-start=\"6920\" data-end=\"7090\">\n<p data-start=\"6922\" data-end=\"7090\"><strong data-start=\"6922\" data-end=\"6934\">MariaDB:<\/strong> plugin isimleri <code data-start=\"6951\" data-end=\"6974\">mysql_native_password<\/code>, <code data-start=\"6976\" data-end=\"6989\">unix_socket<\/code> veya <code data-start=\"6995\" data-end=\"7000\">pam<\/code> olabilir. MariaDB 10.x versiyonunda <code data-start=\"7037\" data-end=\"7049\">ALTER USER<\/code> yerine <code data-start=\"7057\" data-end=\"7071\">SET PASSWORD<\/code> komutu da \u00e7al\u0131\u015f\u0131r.<\/p>\n<\/li>\n<li data-start=\"7091\" data-end=\"7202\">\n<p data-start=\"7093\" data-end=\"7202\"><strong data-start=\"7093\" data-end=\"7118\">Eski MySQL (5.5\/5.6):<\/strong> <code data-start=\"7119\" data-end=\"7167\">UPDATE mysql.user SET Password=PASSWORD('...')<\/code> muhtemel. <code data-start=\"7178\" data-end=\"7196\">FLUSH PRIVILEGES<\/code> \u015fart.<\/p>\n<\/li>\n<\/ul>\n<h2 data-start=\"7209\" data-end=\"7246\">7) Remote root eri\u015fimi ve g\u00fcvenlik<\/h2>\n<ul data-start=\"7248\" data-end=\"7484\">\n<li data-start=\"7248\" data-end=\"7484\">\n<p data-start=\"7250\" data-end=\"7484\">Root hesab\u0131n\u0131n <code data-start=\"7265\" data-end=\"7271\">Host<\/code> s\u00fctununda genelde <code data-start=\"7290\" data-end=\"7301\">localhost<\/code> vard\u0131r. E\u011fer <code data-start=\"7315\" data-end=\"7327\">'root'@'%'<\/code> veya <code data-start=\"7333\" data-end=\"7353\">'root'@'192.168.%'<\/code> gibi uzak ba\u011flant\u0131 izinleri varsa root hesab\u0131 uzaktan ba\u011flanabilir \u2014 bu g\u00fcvenlik riski yarat\u0131r. Uzak root eri\u015fimine izin vermeyin:<\/p>\n<\/li>\n<\/ul>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> Host, <span class=\"hljs-keyword\">User<\/span> <span class=\"hljs-keyword\">FROM<\/span> mysql.user <span class=\"hljs-keyword\">WHERE<\/span> <span class=\"hljs-keyword\">User<\/span><span class=\"hljs-operator\">=<\/span><span class=\"hljs-string\">'root'<\/span>;\r\n<\/code><\/pre>\n<\/div>\n<ul data-start=\"7549\" data-end=\"7591\">\n<li data-start=\"7549\" data-end=\"7591\">\n<p data-start=\"7551\" data-end=\"7591\">Uzaktan root eri\u015fimini iptal etmek i\u00e7in:<\/p>\n<\/li>\n<\/ul>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\"><span class=\"hljs-keyword\">DELETE<\/span> <span class=\"hljs-keyword\">FROM<\/span> mysql.user <span class=\"hljs-keyword\">WHERE<\/span> <span class=\"hljs-keyword\">User<\/span><span class=\"hljs-operator\">=<\/span><span class=\"hljs-string\">'root'<\/span> <span class=\"hljs-keyword\">AND<\/span> Host <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-keyword\">IN<\/span> (<span class=\"hljs-string\">'localhost'<\/span>,<span class=\"hljs-string\">'127.0.0.1'<\/span>,<span class=\"hljs-string\">'::1'<\/span>);\r\nFLUSH PRIVILEGES;\r\n<\/code><\/pre>\n<\/div>\n<ul data-start=\"7711\" data-end=\"7802\">\n<li data-start=\"7711\" data-end=\"7802\">\n<p data-start=\"7713\" data-end=\"7802\">Root yerine uygulamalar i\u00e7in <strong data-start=\"7742\" data-end=\"7761\">minimum yetkili<\/strong> (least-privilege) kullan\u0131c\u0131lar kullan\u0131n.<\/p>\n<\/li>\n<\/ul>\n<h2 data-start=\"7809\" data-end=\"7863\">8) \u015eifre politikas\u0131, karma (hash) ve parola saklama<\/h2>\n<ul data-start=\"7865\" data-end=\"8199\">\n<li data-start=\"7865\" data-end=\"8033\">\n<p data-start=\"7867\" data-end=\"8033\">MySQL 8 default olarak <code data-start=\"7890\" data-end=\"7913\">caching_sha2_password<\/code> kullan\u0131r \u2014 baz\u0131 eski client&#8217;lar desteklemeyebilir. Gerekirse <code data-start=\"7975\" data-end=\"7998\">mysql_native_password<\/code> kullan\u0131m\u0131yla uyumluluk sa\u011flay\u0131n.<\/p>\n<\/li>\n<li data-start=\"8034\" data-end=\"8199\">\n<p data-start=\"8036\" data-end=\"8199\">Parola asla plaintext dosyalarda saklanmamal\u0131. Konfig\u00fcrasyonda <code data-start=\"8099\" data-end=\"8114\">\/root\/.my.cnf<\/code> gibi <code data-start=\"8120\" data-end=\"8131\">chmod 600<\/code> ile eri\u015fimi k\u0131s\u0131tlanm\u0131\u015f dosyaya <code data-start=\"8164\" data-end=\"8174\">[client]<\/code> b\u00f6l\u00fcm\u00fc ekleyebilirsiniz:<\/p>\n<\/li>\n<\/ul>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-ini\"><span class=\"hljs-section\">[client]<\/span>\r\n<span class=\"hljs-attr\">user<\/span>=root\r\n<span class=\"hljs-attr\">password<\/span>=YeniParola!\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"8251\" data-end=\"8332\">Ama bu da risklidir \u2014 uygulamalar i\u00e7in ayr\u0131, s\u0131n\u0131rl\u0131 hakl\u0131 kullan\u0131c\u0131lar kullan\u0131n.<\/p>\n<h2 data-start=\"8339\" data-end=\"8384\">9) Otomasyon ve parola d\u00f6nd\u00fcrme (rotation)<\/h2>\n<ul data-start=\"8386\" data-end=\"8816\">\n<li data-start=\"8386\" data-end=\"8545\">\n<p data-start=\"8388\" data-end=\"8545\">Parolay\u0131 de\u011fi\u015ftirecekseniz, bu de\u011fi\u015fikli\u011fi kullanan uygulama konfig\u00fcrasyonlar\u0131, cron job&#8217;lar, backup scriptleri gibi t\u00fcm ba\u011flant\u0131 noktalar\u0131nda g\u00fcncelleyin.<\/p>\n<\/li>\n<li data-start=\"8546\" data-end=\"8682\">\n<p data-start=\"8548\" data-end=\"8682\">Parola rotasyonu i\u00e7in plan: \u00f6rne\u011fin 90 g\u00fcnde bir parola de\u011fi\u015fimi, kay\u0131tl\u0131 de\u011fi\u015fiklik ge\u00e7mi\u015fi ve bir parola y\u00f6netim sistemi kullan\u0131n.<\/p>\n<\/li>\n<li data-start=\"8683\" data-end=\"8816\">\n<p data-start=\"8685\" data-end=\"8816\">Parola de\u011fi\u015fikliklerini CI\/CD pipeline veya config management ara\u00e7lar\u0131 (Ansible, Puppet, Chef) ile merkezi y\u00f6netin. Ansible \u00f6rne\u011fi:<\/p>\n<\/li>\n<\/ul>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-yaml\"><span class=\"hljs-bullet\">-<\/span> <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">Change<\/span> <span class=\"hljs-string\">MySQL<\/span> <span class=\"hljs-string\">root<\/span> <span class=\"hljs-string\">password<\/span>\r\n  <span class=\"hljs-attr\">mysql_user:<\/span>\r\n    <span class=\"hljs-attr\">login_user:<\/span> <span class=\"hljs-string\">root<\/span>\r\n    <span class=\"hljs-attr\">login_password:<\/span> <span class=\"hljs-string\">\"<span class=\"hljs-template-variable\">{{ old_root_password }}<\/span><\/span>\"\r\n    <span class=\"hljs-attr\">name:<\/span> <span class=\"hljs-string\">root<\/span>\r\n    <span class=\"hljs-attr\">host:<\/span> <span class=\"hljs-string\">localhost<\/span>\r\n    <span class=\"hljs-attr\">password:<\/span> <span class=\"hljs-string\">\"<span class=\"hljs-template-variable\">{{ new_root_password }}<\/span><\/span>\"\r\n    <span class=\"hljs-attr\">check_implicit_admin:<\/span> <span class=\"hljs-literal\">yes<\/span>\r\n    <span class=\"hljs-attr\">state:<\/span> <span class=\"hljs-string\">present<\/span>\r\n<\/code><\/pre>\n<\/div>\n<h2 data-start=\"9075\" data-end=\"9119\">10) S\u0131k Kar\u015f\u0131la\u015f\u0131lan Hatalar ve \u00c7\u00f6z\u00fcmleri<\/h2>\n<ul data-start=\"9121\" data-end=\"10056\">\n<li data-start=\"9121\" data-end=\"9267\">\n<p data-start=\"9123\" data-end=\"9267\"><strong data-start=\"9123\" data-end=\"9151\">ERROR 1698 (auth_socket)<\/strong>: Debian&#8217;da <code data-start=\"9163\" data-end=\"9176\">auth_socket<\/code> plugin aktifse <code data-start=\"9192\" data-end=\"9204\">sudo mysql<\/code> ile ba\u011flan\u0131n ve <code data-start=\"9221\" data-end=\"9233\">ALTER USER<\/code> yap\u0131n veya plugin&#8217;i de\u011fi\u015ftirin.<\/p>\n<\/li>\n<li data-start=\"9268\" data-end=\"9448\">\n<p data-start=\"9270\" data-end=\"9448\"><strong data-start=\"9270\" data-end=\"9315\">Access denied for user &#8216;root&#8217;@&#8217;localhost&#8217;<\/strong>: Parola yanl\u0131\u015f veya plugin farkl\u0131; <code data-start=\"9351\" data-end=\"9363\">sudo mysql<\/code> ile socket auth deneyin. E\u011fer parola unutulduysa <code data-start=\"9413\" data-end=\"9432\">skip-grant-tables<\/code> yoluna gidin.<\/p>\n<\/li>\n<li data-start=\"9449\" data-end=\"9607\">\n<p data-start=\"9451\" data-end=\"9607\"><strong data-start=\"9451\" data-end=\"9505\">Can&#8217;t connect to local MySQL server through socket<\/strong>: MySQL servis \u00e7al\u0131\u015fm\u0131yor olabilir. <code data-start=\"9541\" data-end=\"9566\">systemctl status mysqld<\/code> \/ <code data-start=\"9569\" data-end=\"9591\">service mysql status<\/code> kontrol edin.<\/p>\n<\/li>\n<li data-start=\"9608\" data-end=\"9769\">\n<p data-start=\"9610\" data-end=\"9769\"><strong data-start=\"9610\" data-end=\"9661\">After skip-grant-tables, ALTER USER gives error<\/strong>: baz\u0131 s\u00fcr\u00fcmlerde \u00f6nce <code data-start=\"9684\" data-end=\"9703\">FLUSH PRIVILEGES;<\/code> gerek ve <code data-start=\"9713\" data-end=\"9732\">UPDATE mysql.user<\/code> ile manuel de\u011fi\u015fiklik gerekebilir.<\/p>\n<\/li>\n<li data-start=\"9770\" data-end=\"10056\">\n<p data-start=\"9772\" data-end=\"10056\"><strong data-start=\"9772\" data-end=\"9797\">SELinux\/AppArmor deny<\/strong>: servis restart sonras\u0131 eri\u015fim sorunlar\u0131 AppArmor\/SELinux profilleri nedeniyle olabilir. <code data-start=\"9887\" data-end=\"9898\">audit.log<\/code> kontrol edin ve gerekli policy izinlerini ekleyin veya SELinux permissive modda test edin (<code data-start=\"9990\" data-end=\"10004\">setenforce 0<\/code>) \u2014 production&#8217;da policy uygun \u015fekilde d\u00fczenleyin.<\/p>\n<\/li>\n<\/ul>\n<h2 data-start=\"10063\" data-end=\"10130\">11) \u00d6rnek ad\u0131m ad\u0131m senaryo \u2014 Debian 11 \/ MySQL 8 normal de\u011fi\u015fim<\/h2>\n<ol data-start=\"10132\" data-end=\"10144\">\n<li data-start=\"10132\" data-end=\"10144\">\n<p data-start=\"10135\" data-end=\"10144\">Yedek al:<\/p>\n<\/li>\n<\/ol>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysqldump --all-databases --single-transaction -u root -p &gt; \/root\/all_dbs_$(<span class=\"hljs-built_in\">date<\/span> +%F).sql\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"2\" data-start=\"10247\" data-end=\"10265\">\n<li data-start=\"10247\" data-end=\"10265\">\n<p data-start=\"10250\" data-end=\"10265\">Root ile giri\u015f:<\/p>\n<\/li>\n<\/ol>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysql -u root -p\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"3\" data-start=\"10295\" data-end=\"10316\">\n<li data-start=\"10295\" data-end=\"10316\">\n<p data-start=\"10298\" data-end=\"10316\">Parolay\u0131 de\u011fi\u015ftir:<\/p>\n<\/li>\n<\/ol>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\"><span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">USER<\/span> <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED <span class=\"hljs-keyword\">WITH<\/span> caching_sha2_password <span class=\"hljs-keyword\">BY<\/span> <span class=\"hljs-string\">'S\u00fcperG\u00fc\u00e7l\u00fcParola1!'<\/span>;\r\nFLUSH PRIVILEGES;\r\nEXIT;\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"4\" data-start=\"10445\" data-end=\"10453\">\n<li data-start=\"10445\" data-end=\"10453\">\n<p data-start=\"10448\" data-end=\"10453\">Test:<\/p>\n<\/li>\n<\/ol>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysql -u root -p\r\n<span class=\"hljs-comment\"># yeni parola ile giri\u015f do\u011frulay\u0131n<\/span>\r\n<\/code><\/pre>\n<\/div>\n<h2 data-start=\"10524\" data-end=\"10552\">12) Ek G\u00fcvenlik \u00d6nerileri<\/h2>\n<ul data-start=\"10554\" data-end=\"11137\">\n<li data-start=\"10554\" data-end=\"10674\">\n<p data-start=\"10556\" data-end=\"10674\"><strong data-start=\"10556\" data-end=\"10615\">Root eri\u015fimini sadece y\u00f6netim gerektiren g\u00fcnlerde a\u00e7\u0131n.<\/strong> Normal operasyonlarda root hesab\u0131n\u0131 kapal\u0131 tutun (lock).<\/p>\n<\/li>\n<li data-start=\"10675\" data-end=\"10820\">\n<p data-start=\"10677\" data-end=\"10820\"><strong data-start=\"10677\" data-end=\"10716\">\u0130ki Fakt\u00f6rl\u00fc Kimlik Do\u011frulama (2FA)<\/strong>: MySQL do\u011frudan 2FA desteklemez ancak y\u00f6netici eri\u015fimi i\u00e7in SSH ve kontrol panellerinde 2FA kullan\u0131n.<\/p>\n<\/li>\n<li data-start=\"10821\" data-end=\"10949\">\n<p data-start=\"10823\" data-end=\"10949\"><strong data-start=\"10823\" data-end=\"10860\">Database firewall &amp; network rules<\/strong>: MySQL portunu (<code data-start=\"10877\" data-end=\"10883\">3306<\/code>) d\u0131\u015f eri\u015fime a\u00e7may\u0131n; sadece y\u00f6netilen IP\u2019leri whitelist yap\u0131n.<\/p>\n<\/li>\n<li data-start=\"10950\" data-end=\"11046\">\n<p data-start=\"10952\" data-end=\"11046\"><strong data-start=\"10952\" data-end=\"10971\">Audit &amp; Logging<\/strong>: <code data-start=\"10973\" data-end=\"10990\">mysql.audit_log<\/code> veya proxy audit ile kim ne zaman de\u011fi\u015ftirdi izleyin.<\/p>\n<\/li>\n<li data-start=\"11047\" data-end=\"11137\">\n<p data-start=\"11049\" data-end=\"11137\"><strong data-start=\"11049\" data-end=\"11068\">Least privilege<\/strong>: Uygulamalar i\u00e7in ayr\u0131 kullan\u0131c\u0131lar ve en az gerekli izinleri verin.<\/p>\n<\/li>\n<\/ul>\n<h2 data-start=\"11144\" data-end=\"11176\">13) \u00d6zet \u2014 H\u0131zl\u0131 Yol Haritas\u0131<\/h2>\n<ol data-start=\"11178\" data-end=\"11563\">\n<li data-start=\"11178\" data-end=\"11194\">\n<p data-start=\"11181\" data-end=\"11194\">Yedek al\u0131n.<\/p>\n<\/li>\n<li data-start=\"11195\" data-end=\"11273\">\n<p data-start=\"11198\" data-end=\"11273\">Root parolas\u0131n\u0131 biliyorsan\u0131z <code data-start=\"11227\" data-end=\"11239\">ALTER USER<\/code> ile g\u00fcvenli \u015fekilde de\u011fi\u015ftirin.<\/p>\n<\/li>\n<li data-start=\"11274\" data-end=\"11378\">\n<p data-start=\"11277\" data-end=\"11378\">Parolay\u0131 bilmiyorsan\u0131z <code data-start=\"11300\" data-end=\"11319\">skip-grant-tables<\/code> veya paket \u00f6zel durumu (auth_socket) yoluyla resetleyin.<\/p>\n<\/li>\n<li data-start=\"11379\" data-end=\"11460\">\n<p data-start=\"11382\" data-end=\"11460\">De\u011fi\u015fiklik sonras\u0131 servisleri yeniden ba\u015flat\u0131n ve uygulamalar\u0131 kontrol edin.<\/p>\n<\/li>\n<li data-start=\"11461\" data-end=\"11563\">\n<p data-start=\"11464\" data-end=\"11563\">Uzak root eri\u015fimini kapat\u0131n, parola politikas\u0131 uygulay\u0131n, yedek ve logging kurallar\u0131n\u0131 olu\u015fturun.<\/p>\n<\/li>\n<\/ol>\n<h2 data-start=\"11570\" data-end=\"11599\">14) Faydal\u0131 Komut \u00d6zetleri<\/h2>\n<p data-start=\"11601\" data-end=\"11638\"><strong data-start=\"11601\" data-end=\"11638\">Root parolas\u0131 de\u011fi\u015ftir (MySQL 8):<\/strong><\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-sql\"><span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">USER<\/span> <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED <span class=\"hljs-keyword\">BY<\/span> <span class=\"hljs-string\">'YeniParola!'<\/span>;\r\nFLUSH PRIVILEGES;\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"11728\" data-end=\"11776\"><strong data-start=\"11728\" data-end=\"11776\">Debian auth_socket -&gt; parola ile de\u011fi\u015ftirme:<\/strong><\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo mysql\r\nALTER USER <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED WITH mysql_native_password BY <span class=\"hljs-string\">'YeniParola!'<\/span>;\r\nFLUSH PRIVILEGES;\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"11905\" data-end=\"11948\"><strong data-start=\"11905\" data-end=\"11948\">skip-grant-tables kurtarma (k\u0131sa \u00f6zet):<\/strong><\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">sudo systemctl stop mysql\r\nsudo mysqld_safe --skip-grant-tables --skip-networking &amp;\r\nmysql -u root\r\n-- mysql prompt:\r\nALTER USER <span class=\"hljs-string\">'root'<\/span>@<span class=\"hljs-string\">'localhost'<\/span> IDENTIFIED BY <span class=\"hljs-string\">'YeniParola!'<\/span>;\r\nFLUSH PRIVILEGES;\r\n<span class=\"hljs-comment\"># sonra mysqld stop\/start<\/span>\r\n<\/code><\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>MySQL \/ MariaDB sunucular\u0131nda root (veya root benzeri y\u00f6netici) hesab\u0131n\u0131n \u015fifresini de\u011fi\u015ftirmek, hem rutin g\u00fcvenlik bak\u0131m\u0131 hem de bir parola s\u0131z\u0131nt\u0131s\u0131 sonras\u0131 yap\u0131lmas\u0131 gereken kritik bir i\u015flemdir. Bu rehberte hem normal ko\u015fullarda parola de\u011fi\u015ftirme hem de kurtarma (reset) senaryolar\u0131, Debian\/Ubuntu farklar\u0131 (auth_socket), Red Hat\/CentOS, Docker, sistem servisleri, SELinux\/AppArmor ve s\u0131k kar\u015f\u0131la\u015f\u0131lan hatalarla nas\u0131l ba\u015fa \u00e7\u0131k\u0131laca\u011f\u0131 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[],"class_list":["post-194","post","type-post","status-publish","format-standard","hentry","category-linux-genel"],"_links":{"self":[{"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/posts\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/comments?post=194"}],"version-history":[{"count":1,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":195,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/posts\/194\/revisions\/195"}],"wp:attachment":[{"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/media?parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/categories?post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/tags?post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}