Ubuntu 12.04サーバーにMariaDBをインストールしようとしました。最初に依存関係の問題が発生し、次の質問に従って修正しました: https://stackoverflow.com/questions/16214517/installing-mariadb-unmet-dependencies-mariadb-server-5-5
ただし、mariadb-serverをインストールすると、mysqldの起動に失敗します。 aptログは次のとおりです。
root@sinha:/etc/apt# Sudo apt-get install mariadb-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libdbd-mysql-Perl libmariadbclient18 libmysqlclient18 mariadb-client-10.0 mariadb-client-core-10.0 mariadb-common mariadb-server-10.0 mariadb-server-core-10.0 mysql-common
Suggested packages:
tinyca mailx mariadb-test
The following NEW packages will be installed:
libdbd-mysql-Perl libmariadbclient18 mariadb-client-10.0 mariadb-client-core-10.0 mariadb-common mariadb-server mariadb-server-10.0 mariadb-server-core-10.0
The following packages will be upgraded:
libmysqlclient18 mysql-common
2 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 30.8 MB of archives.
After this operation, 105 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://mirrors.supportex.net/mariadb/repo/10.0/ubuntu/ precise/main mysql-common all 10.0.1-mariadb1~precise [8,826 B]
Get:2 http://mirrors.supportex.net/mariadb/repo/10.0/ubuntu/ precise/main mariadb-common all 10.0.1-mariadb1~precise [3,304 B]
Get:3 http://lk.archive.ubuntu.com/ubuntu/ precise/main libdbd-mysql-Perl AMD64 4.020-1build2 [106 kB]
Get:4 http://mirrors.supportex.net/mariadb/repo/10.0/ubuntu/ precise/main libmariadbclient18 AMD64 10.0.1-mariadb1~precise [846 kB]
Get:5 http://mirrors.supportex.net/mariadb/repo/10.0/ubuntu/ precise/main libmysqlclient18 AMD64 10.0.1-mariadb1~precise [2,956 B]
Get:6 http://mirrors.supportex.net/mariadb/repo/10.0/ubuntu/ precise/main mariadb-client-core-10.0 AMD64 10.0.1-mariadb1~precise [1,814 kB]
Get:7 http://mirrors.supportex.net/mariadb/repo/10.0/ubuntu/ precise/main mariadb-client-10.0 AMD64 10.0.1-mariadb1~precise [5,103 kB]
Get:8 http://mirrors.supportex.net/mariadb/repo/10.0/ubuntu/ precise/main mariadb-server-core-10.0 AMD64 10.0.1-mariadb1~precise [5,517 kB]
Get:9 http://mirrors.supportex.net/mariadb/repo/10.0/ubuntu/ precise/main mariadb-server-10.0 AMD64 10.0.1-mariadb1~precise [17.4 MB]
Get:10 http://mirrors.supportex.net/mariadb/repo/10.0/ubuntu/ precise/main mariadb-server all 10.0.1-mariadb1~precise [2,992 B]
Fetched 30.8 MB in 1s (17.0 MB/s)
Preconfiguring packages ...
(Reading database ... 119368 files and directories currently installed.)
Preparing to replace mysql-common 5.5.31-0ubuntu0.12.04.1 (using .../mysql-common_10.0.1-mariadb1~precise_all.deb) ...
Unpacking replacement mysql-common ...
Selecting previously unselected package mariadb-common.
Unpacking mariadb-common (from .../mariadb-common_10.0.1-mariadb1~precise_all.deb) ...
Selecting previously unselected package libmariadbclient18.
Unpacking libmariadbclient18 (from .../libmariadbclient18_10.0.1-mariadb1~precise_AMD64.deb) ...
Preparing to replace libmysqlclient18 5.5.31-0ubuntu0.12.04.1 (using .../libmysqlclient18_10.0.1-mariadb1~precise_AMD64.deb) ...
Unpacking replacement libmysqlclient18 ...
Selecting previously unselected package libdbd-mysql-Perl.
Unpacking libdbd-mysql-Perl (from .../libdbd-mysql-Perl_4.020-1build2_AMD64.deb) ...
Selecting previously unselected package mariadb-client-core-10.0.
Unpacking mariadb-client-core-10.0 (from .../mariadb-client-core-10.0_10.0.1-mariadb1~precise_AMD64.deb) ...
Selecting previously unselected package mariadb-client-10.0.
Unpacking mariadb-client-10.0 (from .../mariadb-client-10.0_10.0.1-mariadb1~precise_AMD64.deb) ...
Selecting previously unselected package mariadb-server-core-10.0.
Unpacking mariadb-server-core-10.0 (from .../mariadb-server-core-10.0_10.0.1-mariadb1~precise_AMD64.deb) ...
Processing triggers for man-db ...
Setting up mysql-common (10.0.1-mariadb1~precise) ...
Installing new version of config file /etc/mysql/my.cnf ...
Setting up mariadb-common (10.0.1-mariadb1~precise) ...
Selecting previously unselected package mariadb-server-10.0.
(Reading database ... 119534 files and directories currently installed.)
Unpacking mariadb-server-10.0 (from .../mariadb-server-10.0_10.0.1-mariadb1~precise_AMD64.deb) ...
Selecting previously unselected package mariadb-server.
Unpacking mariadb-server (from .../mariadb-server_10.0.1-mariadb1~precise_all.deb) ...
Processing triggers for ureadahead ...
ureadahead will be reprofiled on next reboot
Processing triggers for man-db ...
Setting up libmysqlclient18 (10.0.1-mariadb1~precise) ...
Setting up libdbd-mysql-Perl (4.020-1build2) ...
Setting up libmariadbclient18 (10.0.1-mariadb1~precise) ...
Setting up mariadb-client-core-10.0 (10.0.1-mariadb1~precise) ...
Setting up mariadb-client-10.0 (10.0.1-mariadb1~precise) ...
Setting up mariadb-server-core-10.0 (10.0.1-mariadb1~precise) ...
Setting up mariadb-server-10.0 (10.0.1-mariadb1~precise) ...
* Stopping MariaDB database server mysqld [ OK ]
130427 13:43:14 [Note] Plugin 'InnoDB' is disabled.
130427 13:43:14 [Note] Plugin 'FEEDBACK' is disabled.
* Starting MariaDB database server mysqld [fail]
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mariadb-server-10.0 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mariadb-server:
mariadb-server depends on mariadb-server-10.0; however:
Package mariadb-server-10.0 is not configured yet.
dpkg: error processing mariadb-server (--configure):
dependency problems - leaving unconfigured
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
mariadb-server-10.0
mariadb-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Mariadb-serverの再インストールを試み、すべてを削除しました... mysqlパッケージを削除し、mariadb-server-5.5をインストールしました...何も機能しません。
これは私のために働いた:
Sudo apt-get purge mysql* mariadb*
Mysql *およびmariadb *を削除することで問題を修正しました。次に、検索してmysqlのすべてのトレースを削除します。
find / -name mysql*
Libにはいくつかの残り物がありました。それらを削除した後、サーバーを再起動し、mariadbを再度インストールしました!動いた。
Ubuntu 12.04.4 LTSにMariaDB 10をインストールしようとしたときに同じ問題が発生しましたが、他のソリューションはどちらも機能しませんでした。根本的な原因はメモリ不足であることが判明しました(512 MBのVPSがありました)。
MariaDBをインストールしようとした後に/var/log/syslog
を調べると、これがわかりました。
mysqld_safe[29684]: InnoDB: mmap(274726912 bytes) failed; errno 12
mysqld_safe[29684]: 140420 17:11:03 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
mysqld_safe[29684]: 140420 17:11:03 [ERROR] Plugin 'InnoDB' init function returned error.
mysqld_safe[29684]: 140420 17:11:03 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
mysqld_safe[29684]: 140420 17:11:03 [Note] Plugin 'FEEDBACK' is disabled.
mysqld_safe[29684]: 140420 17:11:03 [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 1146: Table 'mysql.gtid_slave_pos' doesn't exist
mysqld_safe[29684]: ERROR: 1146 Table 'mysql.user' doesn't exist
mysqld_safe[29684]: 140420 17:11:03 [ERROR] Aborting
mysqld_safe[29684]:
mysqld_safe[29684]: 140420 17:11:03 [Note] /usr/sbin/mysqld: Shutdown complete
注:各ログ行の先頭から日付/時刻とホスト名を削除しました。
それから スワップファイルを作成しました (256MBで十分です)を実行しました:
Sudo aptitude install -f
これでインストールが完了しました。
このエラーのすべてのインスタンスを同じ方法で修正できるかどうかはわかりませんが、EAPubsの答えがサーバーの再起動に関係していることを考えると、それが本当の修正であるかどうか疑問に思います:再起動によるメモリの解放。
この問題を解決しました。すべての混乱の根本はこのメッセージにありました:「invoke-rc.d:initscript mysql、action "start" failed。」
手順は次のとおりです。
Sudo apt-get purge mysql* mariadb*
Sudo apt-get autoremove
一部のインストールパッケージが「スタック」していました。
Sudo rm /var/cache/apt/archives/mariadb*
これらのシンボリックリンクは不足しているファイルを指していました
Sudo rm /etc/systemd/system/mysqld.service
Sudo rm /etc/systemd/system/mysql.service
最後に、これはうまくいきました:
Sudo apt-get install mariadb-server
現在のディストリビューションは14.04ですが、修正は同様の問題に関連するはずです。
Mysql /を新しいインストールに複製しようとして、この依存関係に遭遇した/ mariadbの問題を構成できない-動作しませんでした。
私の修正:
- cd /var/lib
- Sudo service mysql stop
- Sudo cp -R mysql _mysql
- Sudo apt-get purge mysql* mariadb*
- Sudo rm -R mysql
- Sudo apt-get install mariadb-client mariadb-server
- Sudo cp -Ruv _mysql/. mysql/.
- Sudo mysql -u root -p ididityay! show databases
- :D
- Sudo rm -R _mysql
私は自分の答えを投稿しました here ですが、解決策を見つけるために数時間を無駄にしたからです(今は明らかですが...)。
Mysql(依存関係)パケットのバージョンを指定する必要があります。
apt-get install mariadb-server mysql-common=10.1.19+maria-1~trusty libmysqlclient18=10.1.19+maria-1~trusty
でバージョンを取得できます
apt-cache policy mysql-common
いつでもロールバックできます
apt-get remove --purge mysql* mariadb*
データや特別な設定がない場合も
rm -R /etc/mysql
rm -R /varl/lib/mysql