MySQL (MariaDB) Tidak Memulai

15

Saya menjalankan Arch Linux 4.8.4-1 pada instalasi 64bit. Saya menginstal MariaDB via pacman. Ketika saya mencoba memulainya systemctl start mysqld, itu memberi saya

Job for mariadb.service failed because the control process exited with error code.
See "systemctl status mariadb.service" and "journalctl -xe" for details.

Output dari systemctl status mariadb.serviceis

● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-11-02 16:55:12 IST; 3min 6s ago
  Process: 5123 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
  Process: 5070 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set
  Process: 5067 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 5123 (code=exited, status=1/FAILURE)
   Status: "MariaDB server is down"

Nov 02 16:55:11 pranav-laptop systemd[1]: Starting MariaDB database server...
Nov 02 16:55:12 pranav-laptop mysqld[5123]: 2016-11-02 16:55:12 140082509282496 [Note] /usr/sbin/mysqld (mysqld 10.1.18-MariaDB) starting as process 5
Nov 02 16:55:12 pranav-laptop mysqld[5123]: 2016-11-02 16:55:12 140082509282496 [Warning] Can't create test file /var/lib/mysql/pranav-laptop.lower-te
Nov 02 16:55:12 pranav-laptop mysqld[5123]: [90B blob data]
Nov 02 16:55:12 pranav-laptop systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Nov 02 16:55:12 pranav-laptop systemd[1]: Failed to start MariaDB database server.
Nov 02 16:55:12 pranav-laptop systemd[1]: mariadb.service: Unit entered failed state.
Nov 02 16:55:12 pranav-laptop systemd[1]: mariadb.service: Failed with result 'exit-code'.

Jika saya perlu memposting hal lain, beri tahu saya ...

UPDATE: Setelah mencoba komentar Jérémy Munoz, mysql masih belum mulai, tapi saya mendapatkan yang berbedasystemctl status mariadb.service

● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-11-02 21:03:24 IST; 4min 7s ago
  Process: 14350 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
  Process: 14296 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl se
  Process: 14294 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 14350 (code=exited, status=1/FAILURE)

Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412958252224 [ERROR] Could not open mysql.plugin table. Some plugins may be not lo
Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412958235392 [Warning] Failed to load slave replication state from table mysql.gti
Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412362684160 [Note] InnoDB: Dumping buffer pool(s) not yet started
Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412958252224 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' d
Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412958252224 [Note] Server socket created on IP: '::'.
Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412958252224 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mys
Nov 02 21:03:24 pranav-laptop systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Nov 02 21:03:24 pranav-laptop systemd[1]: Failed to start MariaDB database server.
Nov 02 21:03:24 pranav-laptop systemd[1]: mariadb.service: Unit entered failed state.
Nov 02 21:03:24 pranav-laptop systemd[1]: mariadb.service: Failed with result 'exit-code'.

UPDATE: Setelah berjalan mysql_install_db, saya mendapatkan kesalahan ini:

FATAL ERROR: Could not find ./bin/my_print_defaults

If you compiled from source, you need to either run 'make install' to
copy the software into the correct location ready for operation.
If you don't want to do a full install, you can use the --srcddir
option to only install the mysql database and privilege tables

If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.

The latest information about mysql_install_db is available at
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db

/etc/mysql/my.cnf

Pranav Nutalapati
sumber
Anda sepertinya tidak memiliki izin untuk / var / lib / mysql /
Andrew Smith
Izin apa yang harus saya tetapkan?
Pranav Nutalapati
chown -R mysql. / var / lib / mysql /
Jérémy Munoz
@ JérémyMunoz Saya mencoba solusi Anda. Itu masih belum mulai. Saya memperbarui pertanyaan dengan kesalahan baru.
Pranav Nutalapati
Tolong tunjukkan konfigurasi mysql / mariadb Anda dari file /etc/mysql/my.cnf.
Mikhail Khirgiy

Jawaban:

20

Jika Anda tidak memiliki data nyata di basis data Anda, maka hapus semuanya /var/lib/mysql.

Setelah itu coba jalankan perintah mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysqluntuk menginisialisasi direktori basis data.

Mikhail Khirgiy
sumber
apa metodologi jawaban ini?
kittygirl
adakah hal lain untuk dicoba jika ini tidak berhasil?
moeiscool
@kittygirl Hai, tujuan dari ini adalah untuk membuat ulang struktur data MySQL, baik karena itu kacau atau karena tidak ada bersama. Atau setidaknya, begitulah cara saya memahaminya.
Pranav Nutalapati
5

Anda perlu menjalankan mysql_install_dbuntuk menginisialisasi direktori data MySQL.

Tero Kilkanen
sumber
1

Saya memiliki masalah yang sama pada paket-paket Ubuntu 18.04m yang terdaftar tampaknya tidak dapat memulai atau yang lain ...

Saya menyelesaikannya dengan menambahkan daftar paket dan tanda tangan yang benar dari situs ini .

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mariadb.mirrors.ovh.net/MariaDB/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install mariadb-server

et voila ..

christian audebert
sumber
Hmm, itu menarik ... Jadi Anda punya masalah dengan instalasi untuk memulai? Linux pikir itu sudah diinstal padahal sebenarnya tidak? Itu sangat aneh ... Bagi saya yang akhirnya terjadi adalah proses setup saya tidak selesai, jadi saya harus melakukan mysql_install_dbhal itu secara manual .
Pranav Nutalapati
ini berhasil bagi saya
Sairaj Gadekar
0

Faced Masalah yang sama terselesaikan setelah mengikuti langkah-langkah di bawah ini. Instalasi paket mariadb maridb-server Menghapus direktori / var / lib / mysql. Instal ulang paket Mariadb, Mariadb-server. systemct mulai mariadb; systemctl aktifkan mariadb (masalah terpecahkan).

ragul rangarajan
sumber