web-dev-qa-db-ja.com

Ubuntu 16.04にインストールした直後にMariadbが機能しない

こんにちは、MariaDBサーバーとmariaDBクライアント、php7.0-mysqlを新しいUbuntu 16.04 VPSにインストールしましたが、インストール後、PhpMyAdminを使用してログインできません。PHPMyAdminを使用してログインしようとすると、ユーザー 'root' @ 「localhost」エラー。

ここにいくつかの情報があります。ステータスを取得しようとした場合

root @ ubuntu-2gb-ams2-01:/ var/lib#service mariadb status 
●mariadb.service 
 Loaded:not-found(理由:そのようなファイルまたはディレクトリはありません)
アクティブ:非アクティブ(デッド)

これを手に入れようとしたとき

#service mariadb start 
 mariadb.serviceの開始に失敗しました:ユニットmariadb.serviceが見つかりません。

ログインしてSSHで新しいデータベースを作成できます

 root @ ubuntu-2gb-ams2-01:/ var/lib#mysql -u root -p 
パスワードを入力してください:
 MariaDBモニターへようこそ。コマンドの末尾は;または\ g。
 MariaDB接続IDは61 
サーバーバージョン:10.0.27-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04 
 
著作権(c) 2000、2016、Oracle、MariaDB Corporation Abなど。
 
タイプ「help;」または、ヘルプの場合は「\ h」。 「\ c」と入力して、現在の入力ステートメントをクリアします。 ____。]

データベースを表示したい場合は、すべてのデータベースを表示できます

root @ ubuntu-2gb-ams2-01:/ var/lib#mysql -u root -p -e 'show databases' 
パスワードを入力:
 + --------- ----------- + 
 |データベース| 
 + -------------------- + 
 | information_schema | 
 | mysql | 
 | performance_schema | 
 |抗議| 
 + -------------------- + 
 

そのため、Mariadbがインストールされているように見えますが、ステータスがdead、start/restartが動作しない、フロントエンドログインが動作しない理由を理解できません(phpmyadminを使用して、誰でも手がかりを与えることができますか?

更新:別のDBとユーザーを作成したばかりです。phpmyadminを使用してそのユーザーにログインし、dbにアクセスできます。

7
Mi2

mysql --versionをチェックすると、次のようになります:

mysql  Ver 15.1 Distrib 10.1.16-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

その後、実際にmariaDBを実行していることがわかります。

Sudo service mysql restart

そしてそれはすべて良いはずです!

/lib/systemd/system/mariadb.serviceでファイルを検索し、mysqldを使用していることを確認する価値があります。

8
janmyszkier

MariaDB is実行中、MySQLに偽装している(不正な)だけです。 MariaDBはMySQLのドロップイン置換であるため、CLI $ mysqlコマンドなどを使用してMariaDBモニターを起動します。何らかの方法でMySQLを直接指定するすべての対話は、MariaDBに実際に影響します。 (MySQLも実行しているとどうなるかわかりません!)だからMariaDBを実行するには、コマンドは

$ service mysql start

もう一度、これを試してください

$ service mysql status

次のようなものを含む、大量の情報を生成します。

...
16 08:19:55 <YR-CMPTR> mysqld[1769]: Version: '10.0.28-MariaDB-0ubuntu0.16.04.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306
...

通常MySQLを使用するすべてのアプリは、MariaDBと対話していることに気付くことすらありません。

4
Hedley Finger

現状では、MariaDBパッケージにまだMySQLの名前を使用していると思います。試してみる

service mysql status

これにより、「アクティブ(実行中)」ステータスが得られます。

MySQLからMariaDBに移行した後、(開発中の)Chamiloポータル(eラーニングプラットフォーム)からPHP(TCP/IP経由で接続)でrootとしてログインする際に問題が発生しました。ただし、コマンドラインから完全に接続できました。

Mysql.userを確認すると、「plugin」列に「unix_socket」と表示されていることがわかりました。これはすべて、MySQL 5.5およびMariaDB 5.2以降のプラグインによる認証の新しい管理によるものです。

プラグインに言及せずにルートにすべての権限を再付与することで修正しました:

grant all privileges on *.* to root@'127.0.0.1' identified by 'mypass';
flush privileges;

これにより、単に「プラグイン」列が空になり、TCP/IPを介して再度接続できました。

1
ywarnier