MySQL: Exception message: (1049, \”Unknown database ‘mysql’\”)

By | 09/11/2018
 

Баловался с MySQL, и перед переустановкой сервера удалил директорию /var/lib/mysql (намеренно).

После этого переустановил MySQL:

apt install mariadb-server --reinstall

Но при попытке выполнить действие – Ansible сообщает:

FAILED! => {“changed”: false, “msg”: “unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1049, \”Unknown database ‘mysql’\”)”}

И в самом деле – катлог /var/lib/mysql не создаётся, а при создании его вручную и ещё одной переустановке MySQL – он пустой:

ls -l /var/lib/mysql/
total 0

Решение – использовать mysql_install_db:

mysql_install_db
Installing MariaDB/MySQL system tables in '/var/lib/mysql' ...
2018-08-24 12:46:21 139819840197184 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process 6323 ...
OK
Filling help tables...
2018-08-24 12:46:25 139926823531072 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process 6352 ...
OK
Creating OpenGIS required SP-s...
2018-08-24 12:46:28 140207314096704 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process 6381 ...
OK

И базы на месте:

ls -l /var/lib/mysql/
total 110620
-rw-rw---- 1 mysql mysql    16384 Aug 24 12:46 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 Aug 24 12:46 aria_log_control
-rw-rw---- 1 mysql mysql 12582912 Aug 24 12:46 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Aug 24 12:46 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Aug 24 12:46 ib_logfile1
drwx------ 2 mysql root      4096 Aug 24 12:46 mysql
drwx------ 2 mysql mysql     4096 Aug 24 12:46 performance_schema

Перезапускаем MySQL:

service mysql restart

Логинимся:

mysql -u root -ptestpw
Welcome to the MariaDB monitor.  Commands end with ; or \g.
...
MariaDB [(none)]>

Готово.