ParrotSec OS Mysql Yükleme (Mysql-Server Error ve Plugin ‘ unix_socket ‘ is not loaded hatası çözümü)

Merhaba arkadaşlar, bu yazıda oldukça başımı ağrıtan bir yükleme işleminden hatalarından ve çözümlerinden bahsedeceğim. Başlıktan da anlayacağınız üzere mysql in yüklenmesinden ve unix_socket hatasınından bahsedeceğim. İlk olarak “biz böyle bir hatayla karşılaşmıyoruz ki” diyenler için sebebinden bahsedeyim: mysql yükleme sırasında meydana gelen hatanın sebebi ParrotSec OS üzerinde yüklü gelen MariaDB veritabanı yönetim sistemi.

Mysql-Server ve Mysql-Client Kurulumu

Başlangıçta her zaman son sürümü yüklemek için kullandığımız “ sudo apt-get install mysql-server mysql-client ” komutunu kullanarak yüklemeye çalışırsak aşağıdaki gibi bir sorunla karşılaşıyoruz.

Burada bahsedilen sıkıntı yüklemeye çalıştığımız paketlerin bağımlılıklarının eksik olduğu. Peki bu durumda ne yapacağız , ne kurmamız gerekiyor? İşte alt kısımda bundan da bahsetmiş ancak bunları bizden kurmamızı istiyor, e biz de öyle yaparız 🙂

Adım adım ilerleyeceğiz çünkü birazdan bir hata ile daha karşılaşacağız. İlk olarak aşağıdaki komut ile ” mysql_client ” kurulumunu gerçekleştirelim.

sudo apt-get install mysql-client-5.6

Kod işlenirken aşağıdaki gibi bir terminal çıktısı ile karşılaşıyoruz:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  galera-3 libjpeg8 mariadb-common
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  mysql-client-core-5.6
The following packages will be REMOVED:
  default-mysql-server mariadb-client-10.1 mariadb-client-core-10.1
  mariadb-server-10.1 mariadb-server-core-10.1
The following NEW packages will be installed:
  mysql-client-5.6 mysql-client-core-5.6
0 upgraded, 2 newly installed, 5 to remove and 4 not upgraded.
Need to get 9,707 kB of archives.
After this operation, 108 MB disk space will be freed.
Do you want to continue? [Y/n] y
Get:1 http://ftp.cc.uoc.gr/mirrors/linux/parrot stable/main amd64 mysql-client-core-5.6 amd64 5.6.30-1 [4,419 kB]
Get:2 http://ftp.cc.uoc.gr/mirrors/linux/parrot stable/main amd64 mysql-client-5.6 amd64 5.6.30-1 [5,289 kB]
Fetched 9,707 kB in 1min 1s (158 kB/s)                                         
(Reading database ... 411590 files and directories currently installed.)
Removing default-mysql-server (1.0.2) ...
Removing mariadb-server-10.1 (10.1.23-9+deb9u1) ...
Removing mariadb-client-10.1 (10.1.23-9+deb9u1) ...
Removing mariadb-client-core-10.1 (10.1.23-9+deb9u1) ...
Removing mariadb-server-core-10.1 (10.1.23-9+deb9u1) ...
Selecting previously unselected package mysql-client-core-5.6.
(Reading database ... 411329 files and directories currently installed.)
Preparing to unpack .../mysql-client-core-5.6_5.6.30-1_amd64.deb ...
Unpacking mysql-client-core-5.6 (5.6.30-1) ...
Selecting previously unselected package mysql-client-5.6.
Preparing to unpack .../mysql-client-5.6_5.6.30-1_amd64.deb ...
Unpacking mysql-client-5.6 (5.6.30-1) ...
Setting up mysql-client-core-5.6 (5.6.30-1) ...
Processing triggers for menu (2.1.47+b1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up mysql-client-5.6 (5.6.30-1) ...

Çıktıdan da anlayacağınız üzere önce gerekli paketleri indiriyor daha sonra mevcut olan MariaDB paketlerini kaldırıp Mysql-Client kurulumunu gerçekleştiriyor.

Bu şekilde mysql-client kurulumu tamamlandı, şimdi ise sırada “mysql-server” kurulumu var. Asıl sıkıntı burada başlıyor.

Aşağıdaki komut ile mysql-server kurulumunu başlatıyoruz:

sudo apt-get install mysql-server-5.6

Bu sefer kod işlenirken aşağıdaki gibi bir çıktı ile karşılaşıyoruz:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  galera-3 libjpeg8 mariadb-common
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  initscripts insserv mysql-server-core-5.6 startpar sysv-rc
Suggested packages:
  bootchart2 tinyca bum
The following NEW packages will be installed:
  initscripts insserv mysql-server-5.6 mysql-server-core-5.6 startpar sysv-rc
0 upgraded, 6 newly installed, 0 to remove and 4 not upgraded.
Need to get 10.2 MB of archives.
After this operation, 80.3 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:2 http://ba.mirror.garr.it/mirrors/parrot stable/main amd64 startpar amd64 0.59-3.1 [22.5 kB]
Get:3 http://ba.mirror.garr.it/mirrors/parrot stable/main amd64 sysv-rc all 2.88dsf-59.9 [67.4 kB]
Get:4 http://ba.mirror.garr.it/mirrors/parrot stable/main amd64 initscripts amd64 2.88dsf-59.9 [84.5 kB]
Get:1 http://ftp.cc.uoc.gr/mirrors/linux/parrot stable/main amd64 insserv amd64 1.14.0-5.4+b1 [61.8 kB]
Get:5 http://ftp.cc.uoc.gr/mirrors/linux/parrot stable/main amd64 mysql-server-core-5.6 amd64 5.6.30-1 [4,562 kB]
Get:6 http://ftp.cc.uoc.gr/mirrors/linux/parrot stable/main amd64 mysql-server-5.6 amd64 5.6.30-1 [5,448 kB]
Fetched 10.2 MB in 47s (217 kB/s)                                              
Preconfiguring packages ...
Selecting previously unselected package insserv.
(Reading database ... 411390 files and directories currently installed.)
Preparing to unpack .../0-insserv_1.14.0-5.4+b1_amd64.deb ...
Unpacking insserv (1.14.0-5.4+b1) ...
Selecting previously unselected package startpar.
Preparing to unpack .../1-startpar_0.59-3.1_amd64.deb ...
Unpacking startpar (0.59-3.1) ...
Selecting previously unselected package sysv-rc.
Preparing to unpack .../2-sysv-rc_2.88dsf-59.9_all.deb ...
Unpacking sysv-rc (2.88dsf-59.9) ...
Selecting previously unselected package initscripts.
Preparing to unpack .../3-initscripts_2.88dsf-59.9_amd64.deb ...
Unpacking initscripts (2.88dsf-59.9) ...
Selecting previously unselected package mysql-server-core-5.6.
Preparing to unpack .../4-mysql-server-core-5.6_5.6.30-1_amd64.deb ...
Unpacking mysql-server-core-5.6 (5.6.30-1) ...
Selecting previously unselected package mysql-server-5.6.
Preparing to unpack .../5-mysql-server-5.6_5.6.30-1_amd64.deb ...
Aborting downgrade from (at least) 10.1 to 5.6.
If are sure you want to downgrade to 5.6, remove the file
/var/lib/mysql/debian-*.flag and try installing again.
dpkg: error processing archive /tmp/apt-dpkg-install-ImoUVf/5-mysql-server-5.6_5.6.30-1_amd64.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 /tmp/apt-dpkg-install-ImoUVf/5-mysql-server-5.6_5.6.30-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Buradan da anlayabileceğiniz üzere paket kurulumu gerçekleştirilemedi ancak sorunu nasıl çözeceğimizi aslında bize gösteriyor.

If are sure you want to downgrade to 5.6, remove the file
/var/lib/mysql/debian-*.flag and try installing again.

Geriye bazı kalıntılar kalmış, biz de onları temizleyeyip yeniden yükleme yapacağız. Gösterdiği dosya yolunu takip edip belirtilen klasöre gideceğiz. mysql dosyasını açtığımızda doğrudan silme yapamıyoruz çünkü root yetkileri gerekiyor. Dosyanın içinde terminali başlatarak aşağıdaki kodu girip belirtilen dökümanı siliyoruz.

sudo rm debian-10.1.flag

Sizde sürüm farklı olabilir ona göre dosya ismini düzenlersiniz.İşlem tamamlandıktan sonra tekrardan bir adım önceki kod ile mysql-server-5.6 kurulumunu başlatıyoruz. İşlem bu sefer sorunsuz tamamlanacaktır.

Yüklemeler tamamlandığına göre mysql e başlanabiliriz sanırım. Aşağıdaki kod ile mysql bağlantımızı gerçekleştirelim. Ama önce mysql servisinin çalıştırmayı unutmayın (service mysql start).

Unix_Socket Kurulumu

mysql -u root -p

Bu kodu yazıp mysql için atadığımız şifreyi girdiğimizde büyük ihtimalle aşağıdaki gibi bir hata çıktısı ile karşılaşacağız:

Bize unix_socket eklentisinin kurulu olmadığını söylüyor ,o zaman biz de kurarız :D. Şimdi aşağıda verdiğim komutları sırası ile terminalde çalıştırarak işlemi tamamlayacağız:

İlk olarak rahatça işlem yapmak için root olun:

su

Mysql i durduruyoruz :

/etc/init.d/mysql stop

Mysql kullanıcı doğrulamasını devre dışı bırakıyoruz:

mysqld_safe --skip-grant-tables &

Ve mysql e root olarak giriş yapıyoruz:

mysql -uroot

Açılmış olan mysql teminalinde aşağıdaki kodu giriyoruz:

use mysql;

root kullanıcısının şifresini resetlemek için aşağıdaki kodu kullanıyoruz(yenisifrem yazan yere kendiniz şifre belirleyerek yazın):

update user set password=PASSWORD("yenisifrem") where User='root';

Daha sonra aşağıdaki kodu girerek devam ediyoruz:

update user set plugin="mysql_native_password";

Bu işlemden sonra mysql terminaline ” quit; ” yazarak çıkış yapıyoruz.

Mysql ile ilgili her şeyi durdurup yeniden başlatmak için aşağıdaki kodları sırası ile terminale yazıp çalıştırıyoruz:

/etc/init.d/mysql stop
kill -9 $(pgrep mysql)
/etc/init.d/mysql start

Bu işlemleri tamamladıktan sonra aşağıdaki kod ile tekrardan mysql e bağlanmayı deneyelim:

mysql -u root -p

Eğer aşağıdaki gibi bir ekran ile karşılaştıysanız işleminiz başarılı bir şekilde tamamlanmıştır aksi halde soruları ve sorunları yorumlar kısmından iletebilirsiniz.

İyi çalışmalar…

Bir Cevap Yazın