さくらVPSにLaravelアプリケーションをつくろうとしています。
前回はLaravelのpublicフォルダをapacheのhttpd.confを修正してDocumentRootにすることができました。
LaravelのpublicフォルダをapacheのDocumentRootに設定|ゼロから始めるLaravel勉強会
今回はデータベースの接続を確認します。
ssh接続
サーバー側の方で確認します。
まずはターミナルで接続。
$ php artisan migrate
すると
Illuminate\Database\QueryException SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: select * from information_schema.tables where table_schema = laraveldb and table_name = migrations and table_type = 'BASE TABLE')
このエラーが発生。
以前遭遇したエラーと同じような感じです。
ConoHaのLaravelテンプレートのartisan migrateでaccess denied|ゼロから始めるLaravel勉強会
$ systemctl stop mysqld $ systemctl set-environment MYSQLD_OPTS="-skip-grant-tables" $ 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.
mysqlを立ち上げようとしたところ、エラーが発生。DBはmariadbを使っているのでそれが理由かも。
"systemctl status mariadb.service" and "journalctl -xe" for details.
とでているので、
$ systemctl status mariadb.service
とみてみる。
mariadb.service: Main process exited, code=exited, status=2/INVALIDARGUMENT mariadb.service: Failed with result 'exit-code'
問題はここみたい。
go – What is wrong with my systemd service – Stack Overflow
mariadbのエラーを探す
mariadbのエラーログ・ファイルを調べる。
$ cd /etc/my.cnf.d
ここに mariadb-server.cnfがあるので、中身を確認。
log-error=/var/log/mariadb/mariadb.log エラーログ・ファイルを発見。 2021-07-17 13:56:52 0 [ERROR] Plugin 'gssapi' init function returned error. 2021-07-17 13:56:52 0 [ERROR] /usr/libexec/mysqld: unknown option '-k' 2021-07-17 13:56:52 0 [ERROR] Aborting
mysqldのオプションはどこでやるんだ?
MySQL の unknown option エラーはオプションに loose- プレフィックスをつけると回避できる - かみぽわーる
このファイルで設定してるかも。
/etc/systemd/system
mysqld.service
これは、
usr/lib/systemd/system/mariadb.service
らしい。
$ systemctl set-environment MYSQLD_OPTS="-skip-grant-tables"
これを打った後にエラーがおこったので、MYSQLD_OPTSが怪しい。
MYSQLD_OPTS here is for users to set in /etc/systemd/system/mariadb@.service.d/MY_SPECIAL.conf
このファイルをみてみる。
うーん
GSSAPIを確認
2021-07-17 13:56:52 0 [ERROR] mysqld: Server GSSAPI error (major 851968, minor 2529639093) : gss_acquire_cred failed -Unspecified GSS failure. Minor code may provide more information. Keytab FILE:/etc/krb5.keytab is nonexistent or empty. 2021-07-17 13:56:52 0 [ERROR] Plugin 'gssapi' init function returned error.
gssapiについて確認。
mariadb — MariaDB:GSSAPIプラグインを無効にする
上記サイトから
/etc/my.cnf.d/auth_gssapi.cnf
まとめ
うーん。
いろいろ解決できそうにないので、まずは、さくらVPS側にLaravelをインストールして、DB接続できるか確認します。