我正在64位安装上运行Arch Linux 4.8.4-1。 我通过pacman安装了MariaDB。 当我尝试启动与systemctl start mysqld ,它给了我
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.
systemctl 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 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'.
如果我需要发布任何东西,让我知道…
更新:尝试JérémyMunoz的评论后,MySQL仍然无法启动,但我得到一个不同的systemctl 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'.
更新:运行mysql_install_db ,我得到这个错误:
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
如果你的数据库中没有任何真实的数据,那么清除/var/lib/mysql所有数据。
之后,再次运行命令mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql来初始化数据库目录。
您需要运行mysql_install_db来初始化MySQL数据目录。