Изменить 2020-10-12:
У меня macOS 10.15.7, версии в формулах варки 10.5.6
для mariadb
и 8.0.21
для mysql. (вы можете проверить их в /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/{mariadb,mysql}.rb
).
Mysql отлично работает после чистой установки brew uninstall mysql
и удаления всего, что связано в $(brew --prefix)
, но mariadb по-прежнему не будет работать brew unlink mysql && brew link mariadb && brew services start mariadb
без удаления файлов базы данных mysql в $(brew --prefix)
.
Оригинальный вопрос:
Итак, я использую macOS 10.15.2 Catalina и пытаюсь установить mariadb
(10.4.11, последняя версия) с помощью Homebrew.
После запуска brew install mariadb
brew предупредил, что postinstalllation
не удалось завершить успешно:
==> Postinstalling mariadb
==> /usr/local/Cellar/mariadb/10.4.11/bin/mysql_install_db --verbose --user=me --basedir=/usr/local/Cellar/mariadb/10.4.11 --datadir=
Last 15 lines from /Users/me/Library/Logs/Homebrew/mariadb/post_install.01.mysql_install_db:
shell> /usr/local/Cellar/mariadb/10.4.11/bin/mysql -u root mysql
mysql> show tables;
Try 'mysqld --help' if you have problems with paths. Using
--general-log gives you a log in /usr/local/var/mysql that may be helpful.
The latest information about mysql_install_db is available at
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db
You can find the latest source at https://downloads.mariadb.org and
the maria-discuss email list at https://launchpad.net/~maria-discuss
Please check all of the above before submitting a bug report
at http://mariadb.org/jira
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall mariadb`
Я новичок в mariadb/mysql, поэтому я следовал этому руководству с mariadb.com (как указал @klanomath, оно устарело (2016)) и запустило mysql_install_db
:
$ mysql_install_db
WARNING: The host 'mymac' could not be looked up with /usr/local/Cellar/mariadb/10.4.11/bin/resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MariaDB version. The MariaDB daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MariaDB privileges !
Installing MariaDB/MySQL system tables in '/usr/local/var/mysql' ...
2020-02-07 20:26:33 0 [ERROR] InnoDB: Invalid flags 0x4800 in ./ibdata1
2020-02-07 20:26:33 0 [ERROR] InnoDB: Plugin initialization aborted with error Data structure corruption
2020-02-07 20:26:33 0 [ERROR] Plugin 'InnoDB' init function returned error.
2020-02-07 20:26:33 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2020-02-07 20:26:33 0 [ERROR] Unknown/unsupported storage engine: InnoDB
2020-02-07 20:26:33 0 [ERROR] Aborting
И лог от mysqld
:
$ mysqld --general-log
2020-02-07 20:44:45 0 [Note] mysqld (mysqld 10.4.11-MariaDB-log) starting as process 78097 ...
2020-02-07 20:44:45 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2020-02-07 20:44:45 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2020-02-07 20:44:45 0 [Note] InnoDB: Uses event mutexes
2020-02-07 20:44:45 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2020-02-07 20:44:45 0 [Note] InnoDB: Number of pools: 1
2020-02-07 20:44:45 0 [Note] InnoDB: Using SSE2 crc32 instructions
2020-02-07 20:44:45 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2020-02-07 20:44:45 0 [Note] InnoDB: Completed initialization of buffer pool
2020-02-07 20:44:45 0 [ERROR] InnoDB: Invalid flags 0x4800 in ./ibdata1
2020-02-07 20:44:45 0 [ERROR] InnoDB: Plugin initialization aborted with error Data structure corruption
2020-02-07 20:44:46 0 [Note] InnoDB: Starting shutdown...
2020-02-07 20:44:46 0 [ERROR] Plugin 'InnoDB' init function returned error.
2020-02-07 20:44:46 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2020-02-07 20:44:46 0 [Note] Plugin 'FEEDBACK' is disabled.
2020-02-07 20:44:46 0 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
2020-02-07 20:44:46 0 [ERROR] Unknown/unsupported storage engine: InnoDB
2020-02-07 20:44:46 0 [ERROR] Aborting
Я провел некоторое исследование, но не нашел ничего полезного. Как завершить mariadb
установку? Любая помощь приветствуется!
У меня есть решение, которое сработало для меня. Я пытался установить последнюю версию mariadb (10.5.6). Сначала остановите любую службу mysql, которая у вас может быть запущена.
brew services stop mariadb
Далее вам нужно удалить содержимое/usr/local/var/mysql
sudo rm -rf /usr/local/var/mysql
Затем вам нужно создать файлы установки базы данных
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
Это позволит получить местоположение mariadb Cellar, установленное brew, и выполнить установку файла db. Следующий шаг — запустить mariadb.brew services start mariadb
Теперь нам нужно установить пароль. Не заморачивайтесь с mysql_secure_connection
или mariadb-secure-connection
. у меня были проблемы с ними
Войдите в mysqlsudo mariadb -u root
Теперь нам нужно изменить пароль пользователя root
> use mysql;
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'mypassword';
> flush privileges;
> quit
Теперь вы можете попробовать войти в mariadbmariadb -u root -p
кланомат
brew list
! Кстати: у меня не было проблем с установкой mariadb 10.4.11 в моей лабораторной среде.Тедди С
brew list
я установил всего сотни строк формул, включаяmariadb
последнюю версию, не включая более раннюю версию.Тедди С
brew list
без percona* или mysql :)Тедди С
кланомат
Филипп Мваники