質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

3085閲覧

MySQLのエラーLibrary not loaded: libmysqlclient.18.dylib (LoadError)の解決

kiru226

総合スコア1

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/09/14 09:45

編集2020/09/15 05:15

###前提・実現したいこと
オリジナルアプリケーション作成中にトラブルになり、MySQLを一度アンインストールを実行し再インストールを実行しました。実行後、ターミナル上でローカルホストに繋げるためrails sを実行したところ、下記のエラーが発生しました。
###発生している問題・エラーメッセージ

$rails s dlopen(/Users/user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/mysql2-0.5.3/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/opt/mysql@5.6/lib/libmysqlclient.18.dylib (LoadError) Referenced from: /Users/user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/mysql2-0.5.3/lib/mysql2/mysql2.bundle Reason: image not found - /Users/user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/mysql2-0.5.3/lib/mysql2/mysql2.bundle

###試したこと
①brew info mysqlで確認

$ brew info mysql mysql: stable 8.0.21 (bottled) Open source relational database management system https://dev.mysql.com/doc/refman/8.0/en/ Conflicts with: mariadb (because mysql, mariadb, and percona install the same binaries) percona-server (because mysql, mariadb, and percona install the same binaries) /usr/local/Cellar/mysql/8.0.21_1 (290 files, 293.7MB) * Poured from bottle on 2020-09-14 at 16:11:54 From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/mysql.rb License: GPL-2.0 ==> Dependencies Build: cmake ✘ Required: openssl@1.1 ✔, protobuf ✔ ==> Caveats We've installed your MySQL database without a root password. To secure it run: mysql_secure_installation MySQL is configured to only allow connections from localhost by default To connect run: mysql -uroot To have launchd start mysql now and restart at login: brew services start mysql Or, if you don't want/need a background service you can just run: mysql.server start ==> Analytics install: 70,150 (30 days), 200,477 (90 days), 807,629 (365 days) install-on-request: 67,942 (30 days), 194,554 (90 days), 774,283 (365 days) build-error: 0 (30 days)

②下記記事を参考にシンボリックリンクを移動
https://qiita.com/wktk/items/a1df946b64b7adbcb346

###追記
MySQLバージョンを5.6に統一することで、ターミナルでrails sを実行した際のLibrary not loaded: libmysqlclient.18.dylib (LoadError)は解決。
しかしMySQLを立ち上げたところ、下記のエラーが発生。

$ mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

MysQLを再インストールしたのにパスワードがなぜか認証しないといけない、またはrootの権限がなさそうです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こちらのMySQLは5.6
$rails s
..........
Library not loaded: /usr/local/opt/mysql@5.6/lib

一方こちらのMySQLは8.0
$ brew info mysql
mysql: stable 8.0.21

投稿2020/09/14 11:16

technocore

総合スコア7234

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kiru226

2020/09/14 13:27

回答ありがとうございます! MySQLのバージョンを5.6に統一することで、rails sは実行できるようになりました! しかし次にローカル環境を確認すると、Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)というエラーが発生しました。
technocore

2020/09/14 13:30

コマンドラインで普通にMySQLにログインできるのでしょうか? ~ $ mysql -u root -p Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 8.0.21 Homebrew Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. mysql>
kiru226

2020/09/15 01:36

$ mysql -u root -pで確認したところ、下記のエラーが発生しました。 Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
technocore

2020/09/15 11:43

MySQLは動いていますか? プロセスやステータスを確認してください。 動いていないとしたら、8.0から5.6にダウングレードする際に問題があるかもしれません。 (8.0関連のファイルが残っていたとか)
kiru226

2020/09/16 03:44

$ mysql.server statusで確認したところ、ERROR! MySQL is not runningと表示されました。 そのため下記記事を参考にファイル削除後、再度MySQL5.6再度インストールしましたがエラー解消ができていないです。 ■参考記事 https://blog.proglus.jp/1077/#MySQLmacOS_Homebrew ■エラー内容 $ sudo mysql.server restart ERROR! MySQL server PID file could not be found! Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/USER-no-MacBook.local.pid) $ mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)
technocore

2020/09/16 04:09

>$ sudo mysql.server restart Homebrewは一般ユーザでインストールするので、Homebrewに関する作業も一般ユーザで行います。sudoで実行しないで下さい。所有者や権限がおかしくなってしまいます。
kiru226

2020/09/16 05:03

$ mysql.server restartでも同様のエラーの結果が返ってきました。 この場合ですと、一度関連ファイルを削除の上再インストールを実行した方がよろしいでしょうか? ■参考記事 https://qiita.com/akiko-pusu/items/aef52b723da2cb5dc596
technocore

2020/09/16 06:03

sudoで実行してしまっているので、chownで所有者を修復してください $ sudo chown -R $(whoami) $(brew --prefix)/* それから、homebrewのサービスはbrew servicesで管理します。 homebrewの作法に従ってください。 サービス一覧 $ brew services list サービスを止める $ brew services stop mysql サービスを開始する $ brew services start mysql
kiru226

2020/09/16 06:54

所有者を修復後、下記コマンド実行してMySQLを立ち上げすることはできました。 $ brew services start mysql@5.6 Service `mysql@5.6` already started, use `brew services restart mysql@5.6` to restart. $ brew services restart mysql@5.6 Stopping `mysql@5.6`... (might take a while) ==> Successfully stopped `mysql@5.6` (label: homebrew.mxcl.mysql@5.6) ==> Successfully started `mysql@5.6` (label: homebrew.mxcl.mysql@5.6) ただし$ mysql -u root -pを実行すると、同じくERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)と表記されます。
technocore

2020/09/16 07:09

以前のコメントにも書きましたが、8.0をbrew uninstallしても完全に 削除できていなかった可能性があります。 一旦、MySQLのアンインストール、アンインストール後に残った ディレクトリやファイルの完全削除をお勧めします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問