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

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

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

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

4回答

4362閲覧

touch /etc/my.cnf と打ってファイルを作って vim /etc/my.cnf で先の内容を記述して再起動したいです。どうぞよろしくお願いします。

edoooooo

総合スコア476

MySQL

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2015/11/10 01:57

編集2015/11/10 02:28

touch /etc/my.cnf
と打ってファイルを作って vim /etc/my.cnf
で先の内容を記述して再起動したいです。

my.cnfの記述の仕方」がわかりません。どうぞよろしくお願いします。

macOS(OSX)です。

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

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

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

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

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

guest

回答4

0

いろいろ確認。

bash

1mysql --help | grep my.cnf

まずは、my.cnf の場所を確認しましょう。

ちなみに、こんな感じの結果が返ってきます。(当方のMacでは)

bash

1order of preference, my.cnf, $MYSQL_TCP_PORT, 2/etc/my.cnf /etc/mysql/my.cnf /opt/local/etc/mysql56/my.cnf ~/.my.cnf

この結果をもとに、順に確認すると、/opt/local/etc/mysql56/my.cnf のときだけ結果が返ってきました。

bash

1cat /opt/local/etc/mysql56/my.cnf 2# Use default MacPorts settings 3!include /opt/local/etc/mysql56/macports-default.cnf

include 〜 とのことなので、

bash

1$ cat /opt/local/etc/mysql56/macports-default.cnf 2# WARNING! ANY CHANGES TO THIS FILE WILL BE LOST ON UNINSTALL/UPGRADES! 3# Make your changes to /opt/local/etc/mysql56/my.cnf 4# YOU HAVE BEEN WARNED! 5 6# MacPorts default options 7[mysqld] 8# skip-networking so multple mysql server ports can be loaded 9# without each competing for port 3306. 10skip-networking

ほぼデフォルトで起動している様子です。

実行ファイルの場所を調べます。

bash

1$ which mysql 2/opt/local/bin/mysql

/opt/local/bin/mysql にあることがわかりました。

実行ファイルの権限調べる

bash

1ls -l /opt/local/bin/mysql 2lrwxr-xr-x 1 root admin 32 5 28 18:07 /opt/local/bin/mysql -> /opt/local/lib/mysql56/bin/mysql

/opt/local/bin/mysql -> /opt/local/lib/mysql56/bin/mysql から実際には/opt/local/lib/mysql56/bin/mysql が使われることがわかります。また、所有者・グループ・その他にx実行権限があることがわかります。

sudo をつけずに起動する

bash

1/opt/local/share/mysql56/support-files/mysql.server start 2Starting MySQL 3. ERROR! The server quit without updating PID file (/opt/local/var/db/mysql56/Kosuke-Shibuya.local.pid).

エラーになる。

sudo をつけて起動する

bash

1$ sudo /opt/local/share/mysql56/support-files/mysql.server start 2Starting MySQL 3.. SUCCESS!

起動した。

/opt/local/var/db/mysql56/Kosuke-Shibuya.local.pid の所有者権限を確認

bash

1$ ls -al /opt/local/var/db/mysql56/Kosuke-Shibuya.local.pid 2-rw-rw---- 1 _mysql _mysql 6 11 12 16:14 /opt/local/var/db/mysql56/Kosuke-Shibuya.local.pid

おー_mysql なのねってわかる。

いま、あなたの手元の状態では、とにかく MySQLはサービスで起動している状態と推測。起動した時にどの権限で起動されたのかは未確認なので、

bash

1$ ls -al /opt/local/var/db/mysql56/Kosuke-Shibuya.local.pid

で結果を確認。

mysqlのプロセスを確認

bash

1ps aux | grep mysql 2shibuyakousuke 38358 0.7 0.0 2444052 776 s000 S+ 4:59PM 0:00.01 grep mysql 3_mysql 38347 0.0 1.3 3084832 54684 s000 S 4:49PM 0:00.93 /opt/local/bin/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql56 --plugin-dir=/opt/local/lib/mysql56/plugin --user=mysql --log-error=/opt/local/var/db/mysql56/Kosuke-Shibuya.local.err --pid-file=/opt/local/var/db/mysql56/Kosuke-Shibuya.local.pid 4root 38249 0.0 0.0 2446696 668 s000 S 4:49PM 0:00.03 /bin/sh /opt/local/lib/mysql56/bin/mysqld_safe --datadir=/opt/local/var/db/mysql56 --pid-file=/opt/local/var/db/mysql56/Kosuke-Shibuya.local.pid

_mysql 38347

とあるので、

bash

1kill 38347

サービスは強制的にKILLした後で、

bash

1sudo mysql.server start

するのが吉かと。

投稿2015/11/12 08:01

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

edoooooo

2015/11/12 08:39

すべての解説をしてくださり、ありがとうございます。
edoooooo

2015/11/12 09:05 編集

/opt/local/bin/mysql -> /opt/local/lib/mysql56/bin/mysql から実際には/opt/local/lib/mysql56/bin/mysql が使われることがわかります。また、所有者・グループ・その他にx実行権限があることがわかります。 のところなのですが、 自分の環境では、 ls -l /usr/local/bin/mysql lrwxr-xr-x 1 taichi admin 32 11 12 16:03 /usr/local/bin/mysql -> ../Cellar/mysql/5.6.27/bin/mysql とでまして、 sudo をつけて起動する $ sudo /opt/local/share/mysql56/support-files/mysql.server start Starting MySQL .. SUCCESS! の/lib/ が/chare/ に変わっていたので、自分の実行結果で/lib/を探したのですが、入っていなかったため、/share/というコードは入れずに、 sudo /../Cellar/mysql/5.6.27/bin/mysql/support-files/mysql.server start と実行したのですが、このようになってしまいました。 Password: sudo: /../Cellar/mysql/5.6.27/bin/mysql/support-files/mysql.server: command not found どこがいけなかったのかを教えていただけないでしょうか。どうぞよろしくお願いします。 すみません、エラーを見るのを忘れていました。command と書いているので、command がおかしいのですね
退会済みユーザー

退会済みユーザー

2015/11/12 09:01 編集

単純に mysql.server のパスが間違っていますね。 ちゃんと検索しました?当てずっぽうでは困ります。 find / -name mysql.server で検索してください。 コマンドが不慣れなら、スポットライトでも検索できますよね。
edoooooo

2015/11/12 09:40 編集

find / -name はファイルを見つけるコマンドということは、わかったのですが、それが何に使われているのかが、わかりませんでした。support-files/mysql.server start も起動方法というのは、わかったのですが、なぜ間にshare がlibの代わりに入っていたのかは、わかりませんでした。すみません、おおしえていただけないでしょうか。よろしくお願いします。
退会済みユーザー

退会済みユーザー

2015/11/12 09:49 編集

自分の環境は homebrew ではなく、macport を使ってインストールしたものです。ツールが異なればインストール先が異なることは、おかしなことではないですよね。 ん??? もしかして、mysql と mysql.server を混同してません? 別のファイルですよ
edoooooo

2015/11/12 09:55

すみません、一通り、考えられるキーワードはすべて検索したのですが、参考になりそうな情報は、ありませんでした。なんと検索したら、このコードはでてくるのでしょうか?どうぞよろしくお願いします。
退会済みユーザー

退会済みユーザー

2015/11/12 09:59 編集

「何を知りたくて」「どんな検索」をしたのですか? こちらの言う、「検索」はGoogleじゃなくて、ファイルの検索です。 find / -name mysql.server をターミナルで実行して、mysql.server の場所を確認してくださいということです。
edoooooo

2015/11/12 10:33

グーグルで検索していました。 /usr/local/Cellar/mysql/5.6.27/support-files/mysql.server このように出てきたので、 sudo /usr/local/Cellar/mysql/5.6.27/support-files/mysql.server start   このように実行したのですが、 Starting MySQL ... ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid). ファイルが見つからないとなってしまいました。
退会済みユーザー

退会済みユーザー

2015/11/12 10:35

「ファイルが見つからない」そんなこと書いてませんよ。 The server quit without updating PID file サーバーはPIDファイルの更新をせずに(処理を)止めました。 /usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid の所有権を確認してください。 $ ls -al /opt/local/var/db/mysql56/Kosuke-Shibuya.local.pid
edoooooo

2015/11/12 10:41

ls -al /usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid ls: /usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid: No such file or directory そのような、ファイルはありませんとなってしまいました。
退会済みユーザー

退会済みユーザー

2015/11/12 10:46

了解。 $ sudo visudo を実行して、 vi と同じように、編集します。 開いたファイルの末尾に taichi-no-MacBook-Pro ALL=(ALL) ALL を追記して、保存、終了してください。 一度(念のため)PCを再起動し、再度 sudo /usr/local/Cellar/mysql/5.6.27/support-files/mysql.server start を実行してください。
edoooooo

2015/11/12 11:10

申し訳ありません viが難しく、Sublime Text で編集していたのですが、なんとファイルを検索すればいいのでしょうか? よろしくお願いします。
退会済みユーザー

退会済みユーザー

2015/11/12 11:12

こればかりはvisudo コマンドでないと編集できません。権限を扱うセンシティブなファイルなので、Sublime Textでは編集できないのです。
edoooooo

2015/11/12 11:18

権限を扱うファイルでは、Sublimeはつかえないのですか、いろいろな制限があるんですね vi 使い方 で ググってみます。ありがとうございます。
退会済みユーザー

退会済みユーザー

2015/11/12 11:21

とりあえず、 $ sudo visudo これでファイルが開く。 ↓キーで末尾に移動 「i」 を一度タイプし、「insert」モードに変更 taichi-no-MacBook-Pro ALL=(ALL) ALL を入力 「esc」「:wq」「エンター」を押せば保存終了できます。
edoooooo

2015/11/12 11:28

すみません、一番下は、#includedir /private/etc/sudoers. このような 今日になっているのですが、これより後ろには、いけないのですが、どうすればいいでしょうか?
退会済みユーザー

退会済みユーザー

2015/11/12 11:34

じゃあ、 sudo vi /private/etc/sudoers または sudo visudo /private/etc/sudoers で開けませんか?
edoooooo

2015/11/12 11:42

すみません、開けているのだとは、思うのですが、 ## sudoers file. ## ## This file MUST be edited with the 'visudo' command as root. ## Failure to use 'visudo' may result in syntax or file permission errors ## that prevent sudo from running. ## ## See the sudoers man page for the details on how to write a sudoers file. ## ## ## Host alias specification ## ## Groups of machines. These may include host names (optionally with wildcards), ## IP addresses, network numbers or netgroups. # Host_Alias WEBSERVERS = www1, www2, www3 ## ## User alias specification ## ## Groups of users. These may consist of user names, uids, Unix groups, ## or netgroups. # User_Alias ADMINS = millert, dowdy, mikef ターミナルの下に、このような文が出ています。 ですが、開いたファイルの末尾に taichi-no-MacBook-Pro ALL=(ALL) ALL この作業をしようとすると、一番最後の文字にいけず、最後の一文字前までしかカーソルを持っていくことができません、どうぞよろしくお願いします。 いま文字を打って、エンターを押したら、ロックが解除されたみたいで、一番下の行の下の行にエンターすることができました。
edoooooo

2015/11/12 11:43

# ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw' ## Read drop-in files from /private/etc/sudoers.d ## (the '#' here does not indicate a comment) #includedir /private/etc/sudoers.d taichi-no-MacBook-Pro ALL=(ALL) ALL ~ ~ ~ ~ -- INSERT --    これでいいのでしょうか?
edoooooo

2015/11/12 11:53

とりあえず、 $ sudo visudo これでファイルが開く。 ↓キーで末尾に移動 「i」 を一度タイプし、「insert」モードに変更 taichi-no-MacBook-Pro ALL=(ALL) ALL を入力 「esc」「:wq」「エンター」を押せば保存終了できます。 を見逃していました。申し訳ありません。実行してみます。
退会済みユーザー

退会済みユーザー

2015/11/12 11:57

まずはやってみてください。間違ってたら戻せばいいだけです。
edoooooo

2015/11/12 13:04

やってみたのですが、 sudo /usr/local/Cellar/mysql/5.6.27/support-files/mysql.server start Starting MySQL ... ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid). 同じエラーが出てしまいました。
退会済みユーザー

退会済みユーザー

2015/11/12 13:06

ls -al /usr/local/var/mysql の結果はどうなりますか?
edoooooo

2015/11/13 00:58 編集

このようになりました。 ls -al /usr/local/var/mysql total 549352 drwxr-xr-x 13 _mysql _mysql 442 11 12 21:04 . drwxr-xr-x 3 taichi admin 102 10 18 20:21 .. -rw-r----- 1 _mysql _mysql 54860 11 9 16:36 192-168-108-95.tokyo.ac.jp.err -rw-rw---- 1 _mysql _mysql 56 10 18 20:28 auto.cnf drwx------ 13 _mysql _mysql 442 11 6 21:11 db -rw-r----- 1 _mysql _mysql 185372 11 12 21:04 taichi-no-MacBook-Pro.local.err -rw-rw---- 1 _mysql _mysql 134217728 11 12 21:04 ib_logfile0 -rw-rw---- 1 _mysql _mysql 134217728 11 11 16:30 ib_logfile1 -rw-rw---- 1 _mysql _mysql 12582912 11 12 21:04 ibdata1 drwx------ 5 _mysql _mysql 170 11 2 18:07 mutter drwx------ 81 _mysql _mysql 2754 10 18 20:21 mysql drwx------ 55 _mysql _mysql 1870 10 18 20:21 performance_schema drwx------ 4 _mysql _mysql 136 11 3 19:28 test
退会済みユーザー

退会済みユーザー

2015/11/12 13:36 編集

では chmod -R 777 /usr/local/var/mysql のあとで、 sudo /usr/local/Cellar/mysql/5.6.27/support-files/mysql.server start をするとどうですか? ============ drwxr-xr-x 3 taichi admin 102 10 18 20:21 .. になっていますね。 visudo での入力は taichi-no-MacBook-Pro ではなく、taichi だったということですね…
edoooooo

2015/11/12 14:18 編集

visudo では、#includedir /private/etc/sudoers.d taichi-no-MacBook-Pro ALL=(ALL) ALL このように入力しました。これは、最後の二行です。 chmod -R 777 /usr/local/var/mysql chmod: Unable to change file mode on /usr/local/var/mysql: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/192-168-108-95.tku.ac.jp.err: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/auto.cnf: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/db: Operation not permitted chmod: /usr/local/var/mysql/db: Permission denied chmod: Unable to change file mode on /usr/local/var/mysql/db: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/taichi-no-MacBook-Pro.local.err: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/ib_logfile0: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/ib_logfile1: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/ibdata1: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/mutter: Operation not permitted chmod: /usr/local/var/mysql/mutter: Permission denied chmod: Unable to change file mode on /usr/local/var/mysql/mutter: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/mysql: Operation not permitted chmod: /usr/local/var/mysql/mysql: Permission denied chmod: Unable to change file mode on /usr/local/var/mysql/mysql: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/performance_schema: Operation not permitted chmod: /usr/local/var/mysql/performance_schema: Permission denied chmod: Unable to change file mode on /usr/local/var/mysql/performance_schema: Operation not permitted chmod: Unable to change file mode on /usr/local/var/mysql/test: Operation not permitted chmod: /usr/local/var/mysql/test: Permission denied chmod: Unable to change file mode on /usr/local/var/mysql/test: Operation not permitted taichi-no-MacBook-Pro:~ taichi$ このように出て、次に実行すると sudo /usr/local/Cellar/mysql/5.6.27/support-files/mysql.server start Password: Starting MySQL .... ERROR! The server quit without updating PID file (/usr/local/var/mysqltaichi-no-MacBook-Pro.local.pid). このようになってしまいました。お疲れのところ申し訳ありません
退会済みユーザー

退会済みユーザー

2015/11/12 14:25 編集

すみません sudo つけてください sudo chmod -R 777 /usr/local/var/mysql とりあえず、permission 〜 とか言われたら、十中八九 sudo 〜
edoooooo

2015/11/12 14:43

sudo chmod -R 777 /usr/local/var/mysql Password: これをしたら何も出なくて、 そのあとにこれをしたら、 おなじエラーとなってしまいました。 sudo /usr/local/Cellar/mysql/5.6.27/support-files/mysql.server start Starting MySQL ... ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid).
退会済みユーザー

退会済みユーザー

2015/11/12 15:31 編集

ls -al /usr/local/var/mysql でちゃんと権限が変わっていますか?もしwが3つ、すべてのファイルについていて、起動できない場合、自分はもうお手上げです。
edoooooo

2015/11/13 01:00

遅くなり申し訳ありません。全てに、wの書き込み権限はありました。 drwxrwxrwx 13 _mysql _mysql 442 11 12 23:39 . drwxr-xr-x 3 endoutaichi admin 102 10 18 20:21 .. -rwxrwxrwx 1 _mysql _mysql 54860 11 9 16:36 192-168-108-95.tku.ac.jp.err -rwxrwxrwx 1 _mysql _mysql 56 11 12 23:39 auto.cnf drwxrwxrwx 13 _mysql _mysql 442 11 6 21:11 db -rwxrwxrwx 1 _mysql _mysql 196561 11 12 23:39 endoutaichi-no-MacBook-Pro.local.err -rwxrwxrwx 1 _mysql _mysql 134217728 11 12 23:39 ib_logfile0 -rwxrwxrwx 1 _mysql _mysql 134217728 11 11 16:30 ib_logfile1 -rwxrwxrwx 1 _mysql _mysql 12582912 11 12 23:39 ibdata1 drwxrwxrwx 5 _mysql _mysql 170 11 2 18:07 mutter drwxrwxrwx 81 _mysql _mysql 2754 10 18 20:21 mysql drwxrwxrwx 55 _mysql _mysql 1870 10 18 20:21 performance_schema drwxrwxrwx 4 _mysql _mysql 136 11 3 19:28 test
退会済みユーザー

退会済みユーザー

2015/11/13 04:00 編集

これでダメなのかぁ・・・ もうお手上げだな〜 起動時のログはどうなっているの?
edoooooo

2015/11/13 04:30

ここまでしていただいたのに申し訳ありません。 このようになっています。 ... ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid).
退会済みユーザー

退会済みユーザー

2015/11/13 04:39

ログファイルにはこれだけですか?この前後のログも見たいのですが…
edoooooo

2015/11/13 05:18

このようになっています。 taichi-no-MacBook-Pro:~ taichi$ sudo /usr/local/Cellar/mysql/5.6.27/support-files/mysql.server start Password: Starting MySQL ... ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid). taichi-no-MacBook-Pro:~ taichi$
退会済みユーザー

退会済みユーザー

2015/11/13 05:20

とくに有用な情報はないですね… $ mysql -u root -p でどんな反応しますか?
edoooooo

2015/11/13 05:35 編集

このようになりました。 mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2) すみません、よろしくお願いします。
退会済みユーザー

退会済みユーザー

2015/11/13 05:51

さすがに、自分だったら再インストールしますねー。 一度、mysql をアンインストールして、初めからインストールしなおします。 今の状況では、いろいろ手が入ってしまっていて、現状をリモートで判断するのが非常に困難です…。直接そのmacを操作できるわけではないですからね… 余談… argiusさんとのやりとり拝見しましたが、Mac 上にMysqlがあっても、Macの中に作ったプログラムは公開するものではないということは理解されていますよね。 mac に mysql をインストールする意味は、公開するためのプログラムの動作を確認する、テストするという目的でしか利用価値がないということはご理解されていますか? 最終的に「公開するもの」を作るのであれば、いずれ「24時間動作可能でどこからでもアクセスできるサーバー」が必要です。VPSであったり、レンタルサーバーであったり。javaとなるとVPSになるでしょう。先の「ロリポップ」のようなサービスはjavaが使えません。いずれLinuxの知識は必須となります。 すぐにVPSが必要なわけではありませんが、開発環境としてはmac 上に仮想環境を作成し、仮想環境上にLinux サーバを立てる。公開するものではありません。あくまで開発のためです。プログラムが完成した時にVPSを借りて公開するという流れになります。 あくまで勉強のためにmac上でmysqlを動かしたいのであれば、「再インストール」。 もしくはそのまま放置しておいて、「virtualbox など使って仮想環境を作る」のいずれかの方法を選択されてはいかがでしょう?
edoooooo

2015/11/13 06:27

ほんとうにありがとうございました。Linuxの知識は、将来的に必要になるのですね、 一通り本のコードを実行させるために、本では、h2databaseなので、実行してみます。 そのあとに、virtualboxなどをつかい仮想環境で、作ってみたいと思います。 mysqlなのですが、今回お世話になる前に1度、再インストールしていました。そのため、他の環境で、探してみたいと思います。 じぶんのために、ここまでしてくださりほんとうにありがとうございました。多くの時間を割かせてしまい、申し訳ありませんでした。   いちにちもはやくsnsを公開できるように、頑張ってみます。 ほんとうにありがとうございました。
退会済みユーザー

退会済みユーザー

2015/11/13 07:36

Linuxの知識は必須というわけではないですが、Windows のサーバーはライセンスが非常に高価ですからね…。無料で利用できるのと引き換えに、トラブルがあったとしてもすべて自己責任です。なので、Linuxのコミュニティに対して「利用方法を教えて欲しい」とか「こうしたいのだけれども、どうしたらいいですか?」という質問をすることもできません。「ソースはすべて公開しているのだから、自分で解決してください。」というスタンスです。 Linuxの知識があることで、お客さんに対しては「リーズナブルな提案」ができたり、自分で何かサービスを行うにしても、コストを抑えることができるのはメリットです。VPSでもLinuxだからこそ安い金額で利用できているのですからね。(最近はWindowsサーバーを提供しているところも出てきていますけど、選択肢は少ないです。) 仮想環境で行う場合は「失敗してもMAC本体に影響がない」という点では、やりたい放題にできるので、学習するには最適だと思います。何度もLinuxサーバーの構築を実験して、Webサーバ、DBサーバ、Tomcatなどの構築の手順を身につけるのはいいと思います。 慣れてくると、OSの仕組みやインターネットの仕組みについて理解が深まるし、面白みはあると思いますよ。 SNSを急いで作る必要はありません。試行錯誤してどれだけ手を動かしたか、が最も大事なことだと思いますので、たくさんの失敗を積み重ねてください。
guest

0

別の回答でも申し上げましたが、できるだけ同じ環境でMySQLをセットアップする記事を参考にされた方がよろしいと思います。

キーワードを"mac homebrew mysql.conf"などにしてググって、検索の期間指定を1年とかにすれば、比較的新しいバージョンに基づいた記事が見つかります。

参考リンク:

mac OS XにHomeBrewでmysqlインストール。からの設定
(mysql_install_db、mysql_secure_installation、my.cnf)やらアンインストールやら - tweeeetyのぶろぐ的めも http://tweeeety.hateblo.jp/entry/2014/11/26/232200

HomebrewでMySQL 5.6をインストール。開発用my.cnfもさらす | karakaram-blog
http://www.karakaram.com/install-mysql56-homebrew

投稿2015/11/10 03:14

argius

総合スコア9390

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

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

anonymouskawa

2015/11/10 03:24

そもそもmacならCUIじゃなくGUIなのでコマンドにこだわる必要ってなかったですね…自分も反省しなきゃ…orz
argius

2015/11/10 03:28

anonymouskawaさん そうですね、場合によってはGUIでも良いと思います。 まあでも、GUIで説明している記事もあまり多くないですし、コマンドの方が説明しやすかったりしますから、気にされなくても良いんじゃないでしょうか。
edoooooo

2015/11/10 03:54

みなさんありがとうございます。実行成功するようにやってみます。
edoooooo

2015/11/10 04:15

homebrewではこの指定するコードが違うことに気づき、touch /usr/local/etc/my.cnf、 vim/usr/local/etc/my.cnf のようにコードを打ち込んだところ、~ ~ ~ ~ ~ ~ "/usr/local/etc/my.cnf" 0L, 0C このようになりました。順序としては、大丈夫でしょうか?どうぞよろしくお願いします
argius

2015/11/10 04:20

空のファイルなので、それでOKだと思います。
edoooooo

2015/11/10 04:47 編集

そのあとにmysql -u root -p としたのですが、同じエラーになってしまいました。 Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38) 確かにhomebrewでインストールしたのですが、mysql --help | grep my.cnf と打つと、 order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf となるのですが、先ほどのように、vim/usr/local/etc/my.cnf でいいのでしょうか? もしよければ次の段階としては、これでいいのでしょうか?どうぞよろしくお願いします
edoooooo

2015/11/10 04:47

mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):
argius

2015/11/10 04:49

vim/usr/local/etc/my.cnfの中身は、2番目のリンクに書いてあるのを参考にしましたか? vimについて良く分からなければ、vimのことを先に調べてください。
edoooooo

2015/11/10 05:02

前回にこのように教わったところから引用しました。 touch /etc/my.cnf とでも打ってファイルを作って vim /etc/my.cnf で先の内容を記述して再起動してみましょう。 VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタということがわかりました。
argius

2015/11/10 06:53

my.cnfのsocketの設定は、 socket=/tmp/mysql.sock にしたんですよね?(2箇所) それと、/tmp/mysql.sockファイルは存在していますか?
edoooooo

2015/11/10 09:37 編集

sudo touch/var/lib/mysql/mysql.sock  と入力したところ、 touch:/var/lib/mysql/mysql.sock:No such file or directory となり、そのまま、 socket=/var/mysql/mysql.sock と実行をしました。 そのあとに、ls -al/var/mysql/mysql.sock としたところ ls:illegal option —/  usage: ls[-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1][file…] となりました。フォルダがありませんとなっているので、my.cnfのsocketの設定はできていないものだと思うのですが、どうでしょうか?どうぞ宜しくお願いします。                     touch /tmp/mysql.sock を最初に作ったのですが、homebrew  で mysqlをインストールしたので、touch /usr/local/etc/my.cnf で作り直しました。 もう一度 http://tweeeety.hateblo.jp/entry/2014/11/25/133946 このページ通りに実行しても問題ないのでしょうか?
argius

2015/11/10 09:36

lsのエラーは、スペースが足りないために起きています。 これと同じようなミスを何度もされているみたいなので、この際ちゃんと覚えましょう。 コマンドを実行する際には、コマンド、オプション、パラメーターの間にスペース(半角スペース)を必ず入れてください。入れなくても動くケースもありますが、常に入れるようにした方が間違いが無いです。 パラメーターが複数ある場合は、各パラメーター間にもスペースを入れます。 lsを例にすると、 ls がコマンド、 -al がオプション、 それ以降はパラメーターです。 話を戻して、まず、 ls -al /var/mysql/mysql.sock ls -al /usr/local/etc/my.cnf を実行してみてください。 次に、 grep socket /usr/local/etc/my.cnf とすると何が出力されますか?
edoooooo

2015/11/10 09:43 編集

ls -al /var/mysql/mysql.sockと入力すると、 No such file or directoryで ls -al /usr/local/etc/my.cnf と入力すると、 -rw-r--r-- 1 taichi admin 0 11 10 13:08 /usr/local/etc/my.cnf となり、 grep socket /usr/local/etc/my.cnf と入力すると何も出力されませんでした。
argius

2015/11/10 10:24

my.cnfは他にはありませんよね? であれば、/usr/local/etc/my.cnfの中身を書いてください。 それと、先に/var/mysql/mysql.sockを作っておきましょう。 touch /var/mysql/mysql.sock を実行してください。
edoooooo

2015/11/10 12:03 編集

cd で辿ったのですが、/usr/local/etc/my.cnf の中には、-bash: cd: my.cnf: Not a directory となり、入れませんでした。しかし、しっかり、/usr/local/etc/my.cnfはありました。 ls my.cnf openssl このように my.cnf に並んで openssl というものも、ありました。 touch /var/mysql/mysql.sock touch: /var/mysql/mysql.sock: No such file or directory touch /usr/local/etc/my.cnf でやってみたのですが、そのあとに、ディレクトリ所有者の変更 sudo chown mysql:mysql /usr/local/etc/my.cnf をやって、 mysql.server stop mysql.server start を行い mysql -u root -p でパスワードを入力したのですが、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38) このようなエラーが出てしまいます。すみませんどうかよろしくお願いします。
argius

2015/11/10 12:18

うーん、やはりコマンドの基本をいったんおさえておかないと、これから先進めないんじゃないかと心配になります。 ネットの記事では、コマンドひとつひとつの使い方については説明していないものがほとんどですから、その辺をご自分で調べられないと厳しいと思います。 一旦JavaやMySQLから離れて、コマンドについて基本的なところだけで良いので学習されることをおすすめしますよ。 とりあえず先に進めてみますが... cdコマンドというのは、ディレクトリーを移動するものです。([c]hange [d]irectoryでcd) my.cnfというのは、ファイルですので、cdでは入れません。 my.cnfの中身を書いて、というのは、my.cnfはテキストファイルなので、テキストエディターを使って編集してください、という意味です。Vimでも良いですが、使い方が難しいので、Macのテキストエディットかなんかで編集してください。 /var/mysql/mysql.sockの方ですが、/var/mysqlディレクトリが無いので作れないんですね。 そこは飛ばしてました。 mkdir -p /var/mysql を実行してから、touchしてください。
edoooooo

2015/11/11 04:39

mkdir -p /var/mysql と実行したところ、 mkdir: /var/mysql: Not a directory のようになってしまい、 touch /var/mysql  としたところ、touch: /var/mysql: Permission denied と許可されていないとなったため、suでスーパーユーザーになって、 sh-3.2# touch /var/mysql と実行したら、何も出なくて、つづけて、 sh-3.2# touch /var/mysql/mysql.sock  と実行したところ、 touch: /var/mysql/mysql.sock: Not a directory となったり、 sh-3.2# mkdir -p /var/mysql  と実行すると、 mkdir: /var/mysql: Not a directory このようになってしまい、作ることができませんでした。すみませんが、どうぞ宜しくお願いします。
argius

2015/11/11 04:51

もしかしたら/varというファイルができてしまっているのかも知れません。 ls -al /var を実行してみてください。 これが根本原因の気がしますね。
edoooooo

2015/11/11 04:58

ls -al /var lrwxr-xr-x@ 1 root wheel 11 8 5 17:29 /var -> private/va というように出てきたので、あるのかと思います。
argius

2015/11/11 05:02

あるかどうかではなく、ディレクトリーであるべきところがファイルになっているのではないかを疑っています。 private/va これ、最後はrが切れてないですか? ls -la private/va ls -la private/var どちらか正しい方を実行してください。
edoooooo

2015/11/11 05:08

ls -la private/var ls: private/var: No such file or directory と出てきました。 directory はありませんでした。
argius

2015/11/11 05:16

ls -la /private/var を実行してみてください。
edoooooo

2015/11/11 05:30

ls -la /private/var total 0 drwxr-xr-x 26 root wheel 884 11 11 10:37 . drwxr-xr-x@ 6 root wheel 204 8 5 17:33 .. drwxr-xr-x 3 root wheel 102 5 27 10:52 Keychains drwx------ 2 root wheel 68 7 15 07:01 agentx drwxr-xr-x 8 daemon wheel 272 8 5 17:28 at drwx------ 30 root wheel 1020 11 7 10:02 audit drwx------ 2 root wheel 68 7 13 14:37 backups drwxr-xr-x 68 root wheel 2312 11 7 10:02 db drwxr-xr-x 2 root sys 68 7 13 14:37 empty drwxr-xr-x 4 root wheel 136 10 18 11:35 folders drwxr-x--- 2 _jabber _jabber 68 7 13 14:38 jabberd drwxr-xr-x 3 root wheel 102 9 10 2014 lib drwxr-xr-x 54 root wheel 1836 11 11 14:28 log drwxrwxr-x 2 root mail 68 7 13 14:37 mail drwxr-xr-x 3 root wheel 102 8 5 17:28 msgs -rw-r--r-- 1 root wheel 0 11 11 13:32 mysql drwxr-xr-x 2 root wheel 68 7 13 14:38 netboot drwxr-xr-x 2 _networkd _networkd 68 7 13 14:38 networkd drwxr-x--- 8 root wheel 272 10 24 21:09 root drwxr-xr-x 4 root wheel 136 9 10 2014 rpc drwxrwxr-x 24 root daemon 816 11 11 14:28 run drwxr-xr-x 2 daemon wheel 68 7 13 14:38 rwho drwxr-xr-x 7 root wheel 238 8 5 17:33 spool drwxrwxrwt 5 root wheel 170 11 10 19:25 tmp drwxr-xr-x 5 root wheel 170 11 11 10:07 vm drwxr-xr-x 3 root wheel 102 7 13 14:38 yp と出てきました。 total 0でした。
argius

2015/11/11 05:40

やはり途中のディレクトリーであるべきところがファイルになっていますね。 消すコマンドを実行すると何かあったら怖いので、移動しましょう。 mv /var/mysql /var/mysql0 を実行してください。 それが上手く行ったら、 mkdir -p /var/mysql を実行して、その後は 2015/11/10 19:24 のコメントに戻ってそこからやり直しましょう。
edoooooo

2015/11/11 05:46

mv /var/mysql /var/mysql0 mv: rename /var/mysql to /var/mysql0: Permission denied となってしまったので、su をして、 sh-3.2# mv /var/mysql /var/mysql0 としたら何も出ませんでした。そのあとにexitして、mkdir -p /var/mysql をしたら、何も出ませんでした。 ありがとうございます。やり直してみます。
edoooooo

2015/11/11 05:51

-rw-r--r-- 1 root wheel 0 11 11 13:32 mysql0 しっかりとうつってました。 つぎの工程にかかってみます。ありがとうございます。
edoooooo

2015/11/11 06:22 編集

申し訳ありません。sh-3.2# touch /var/mysql/mysql.sock できました。
edoooooo

2015/11/11 07:17 編集

Sublime で以前教えていただいたサイトを自分の環境に合わせて、datadir = /usr/local/etc/my.cnf と、socket = /var/mysql/mysql.sock にして、その他はコピペです。 ネットでしらべたところ、間違えてもすぐ直せるとのことなので、停止、編集、再起動をしてみます。
edoooooo

2015/11/11 09:09 編集

[client] port = 3306 socket = /var/mysql/mysql.sock [mysql] show-warnings #safe-updates prompt = '[\d] mysql> ' [mysqld] # basic datadir = /usr/local/var/mysql #tmpdir = /tmp port = 3306 socket = /var/mysql/mysql.sock character-set-server = utf8 default-storage-engine = InnoDB explicit_defaults_for_timestamp = 1 lower-case-table-names = 2 # max connections max_connections = 64 # table_open_cache = max_connections * tables used in one transaction + 5 table_open_cache = 800 # table_definition_cache = all tables(50) + max_connections + 5 table_definition_cache = 400 # open_files_limit = table_open_cache * 1.4 open_files_limit = 1120 # global buffer key_buffer_size = 16M query_cache_type = 0 # innodb_buffer_pool_size = available memory for Mysql * 0.7 innodb_buffer_pool_size = 300M # thread buffer read_buffer_size = 256K read_rnd_buffer_size = 512K join_buffer_size = 256K sort_buffer_size = 512K # InnoDB innodb_file_per_table innodb_autoextend_increment = 64 innodb_log_files_in_group = 2 #innodb_log_group_home_dir = /tmp innodb_log_file_size = 128M innodb_log_buffer_size = 16M innodb_flush_log_at_trx_commit = 1 innodb_flush_neighbors=0 #innodb_flush_method=O_DIRECT innodb_thread_concurrency = 4 innodb_commit_concurrency = 4 # log #log_output = /tmp general_log = 0 slow_query_log = 0 [mysqldump] #max_allowed_packet = 16M quick set-charset single-transaction すみませんよろしくお願いします。
argius

2015/11/11 07:20

またコピペの一部が切れていますね。 先頭の[はあるんですよね? taichitaichiさんが間違えているのか、ただ貼り間違えただけなのか、判断が難しいので、正確に貼ってくださいね。 で、これをmy.cnfに書いて保存したんですよね? あとは再起動してみるとどうなりますか?
edoooooo

2015/11/11 07:39 編集

すみませんでした。コード自体が間違えてたので実行後のエラーをみて修正しました。 mysql.server start Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/etc/my.cnf/taichi-no-MacBook-Pro.local.pid). このようになってしまっていて、datadir について調べたところ、my.cnf の場所ではないなと思い、/usr/local/var/mysql のデフォルトの値にしたのですが、 ... ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid). このようなエラーは治りませんでした。
argius

2015/11/11 07:44

既に起動しているのでは? 再起動するなら、 mysql.server stop してから再度startしてみてください。
edoooooo

2015/11/11 07:49

stop としようとすると、mysql.server stop ERROR! MySQL server PID file could not be found! このように、fileがみつ借りませんとなるので、stopできていないことに気づきました。 http://hack.aipo.com/archives/6067/ をみてやってみます。
edoooooo

2015/11/11 08:03

すみません、このサイト通りやっても、pid-fileに指定されているファイルパス というものが、出てこなくて、サイトを変えて、 http://astail.net/?p=101  というサイトでやろうとしたのですが、強制終了が、あるため不安になりました。大丈夫でしょうか?
argius

2015/11/11 08:08 編集

MySQLが起動しているかどうかを確認しましょう。 念のため、PIDファイルも見てみます。 ps ax | grep mysql ls -l /usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid cat /usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid をそれぞれ実行してみてください。
edoooooo

2015/11/11 08:15

ps ax | grep mysql 10947 s000 S+ 0:00.00 grep mysql ls -l /usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid No such file or directory cat /usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid No such file or directory となりました。
argius

2015/11/11 08:21

では起動はしてないんですね。 あとはファイルの権限の問題ではないかと思います。 ls -l /usr/local/var/mysql/*.err を実行してみてください。
edoooooo

2015/11/11 08:39

ls -l /usr/local/var/mysql/*.err -rw-r----- 1 taichi admin 54860 11 9 16:36 /usr/local/var/mysql/192-168-108-95.tokyo.ac.jp.err -rw-r----- 1 taichi admin 83807 11 11 17:14 /usr/local/var/mysql/taichi-no-MacBook-Pro.local.err このようになりました。すみませんよろしくお願いします。
argius

2015/11/11 08:45

権限では無いのかな? 今度は tail -n 20 /usr/local/var/mysql/taichi-no-MacBook-Pro.local.err を実行してみてください。
edoooooo

2015/11/11 08:48

/usr/local/var/mysql/taichi-no-MacBook-Pro.local.err 2015-11-11 17:14:22 11415 [Note] Shutting down plugin 'INNODB_LOCK_WAITS' 2015-11-11 17:14:22 11415 [Note] Shutting down plugin 'INNODB_LOCKS' 2015-11-11 17:14:22 11415 [Note] Shutting down plugin 'INNODB_TRX' 2015-11-11 17:14:22 11415 [Note] Shutting down plugin 'InnoDB' 2015-11-11 17:14:22 11415 [Note] InnoDB: FTS optimize thread exiting. 2015-11-11 17:14:22 11415 [Note] InnoDB: Starting shutdown... 2015-11-11 17:14:23 11415 [Note] InnoDB: Shutdown completed; log sequence number 1751092 2015-11-11 17:14:23 11415 [Note] Shutting down plugin 'BLACKHOLE' 2015-11-11 17:14:23 11415 [Note] Shutting down plugin 'ARCHIVE' 2015-11-11 17:14:23 11415 [Note] Shutting down plugin 'MRG_MYISAM' 2015-11-11 17:14:23 11415 [Note] Shutting down plugin 'MyISAM' 2015-11-11 17:14:23 11415 [Note] Shutting down plugin 'MEMORY' となりました。よろしくお願いします。
argius

2015/11/11 09:02

my.cnfとメッセージを見直したら、 [mysqld] # basic datadir = /usr/local/etc/my.cnf になってますね。 ここはdirなのでディレクトリーを指定しないとダメです。 datadir = /usr/local/var/mysql にしてください。 修正して保存したら、もういちどstartしてみてください。
edoooooo

2015/11/11 09:11

mysql.server start Starting MySQL ... ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid). となってしまいます。 mysql.server stop ERROR! MySQL server PID file could not be found! でもこのようになってしまいます。 よろしくお願いします。
argius

2015/11/11 09:18

あ、ごめんなさい。 /var/mysql にMySQLのデータがあるんでしたっけ? それなら、 datadir = /var/mysql ですね。 どこがdatadirなのかは作った人じゃないと分からないので、調べて正しいディレクトリーを設定してください。
edoooooo

2015/11/11 09:30

cdで辿ったのですが、/usr/local/var/mysq に今までmysqlを使って作ったデータベース名がありました。cdで/var/mysqlを辿ったのですが、ありませんでした。そのため、datadir=/usr/local/var/mysql かなと思うのですが、どうでしょうか?よろしくお願いします。
edoooooo

2015/11/11 09:38 編集

このサイトを実行してみようと思ったのですが、ロックファイル(/var/lock/subsys/mysql)を削除すればよい.とあり、大丈夫でしょうか?
argius

2015/11/11 09:38

うーん、それでは ls -ld /usr/local/var/mysql を見てみてもらえますか?
edoooooo

2015/11/11 10:03

ls -ld /usr/local/var/mysql drwxr-xr-x 13 taichi admin 442 11 11 18:08 /usr/local/var/mysql のように出ました。
argius

2015/11/11 10:07

権限でもないようですね。 今度はこれをお願いします。 grep ERROR /usr/local/var/mysql/taichi-no-MacBook-Pro.local.err | tail
edoooooo

2015/11/11 10:11

grep ERROR /usr/local/var/mysql/taichi-no-MacBook-Pro.local.err | tail 2015-11-11 16:40:54 10394 [ERROR] Aborting 2015-11-11 16:46:00 10864 [ERROR] Can't start server : Bind on unix socket: Address already in use 2015-11-11 16:46:00 10864 [ERROR] Do you already have another mysqld server running on socket: /var/mysql/mysql.sock ? 2015-11-11 16:46:00 10864 [ERROR] Aborting 2015-11-11 17:14:22 11415 [ERROR] Can't start server : Bind on unix socket: Address already in use 2015-11-11 17:14:22 11415 [ERROR] Do you already have another mysqld server running on socket: /var/mysql/mysql.sock ? 2015-11-11 17:14:22 11415 [ERROR] Aborting 2015-11-11 18:08:40 11944 [ERROR] Can't start server : Bind on unix socket: Address already in use 2015-11-11 18:08:40 11944 [ERROR] Do you already have another mysqld server running on socket: /var/mysql/mysql.sock ? 2015-11-11 18:08:40 11944 [ERROR] Aborting このようになりました。よろしくお願いします。
argius

2015/11/11 10:24

では、次はこれをお願いします。 netstat -an | grep 3306
edoooooo

2015/11/11 10:38 編集

何も出なかったので、大丈夫だったのだと思います。 まだmysql.server stopでは、エラーが出てしまいます。どうぞよろしくお願いします
argius

2015/11/11 10:51

1でダメなら、2をやってみてください。 ↓↓↓ 1. Macを再起動後、 mysql.server start 2. mv /var/mysql/mysql.sock /var/mysql/mysql.sock0 してから mysql.server start
edoooooo

2015/11/11 10:57

ありがとうございます。やってみます。
edoooooo

2015/11/11 11:15

2.でmv /var/mysql/mysql.sock /var/mysql/mysql.sock0 としたら、 mv: rename /var/mysql/mysql.sock to /var/mysql/mysql.sock0: Permission deniedとなり、 su をして、sh-3.2# mv /var/mysql/mysql.sock /var/mysql/mysql.sock0 としたら、 mv: rename /var/mysql/mysql.sock to /var/mysql/mysql.sock0: No such file or directory となってしまいます。 数時間前は、ls -al /var/mysql/mysql.sock とすると、このようになっていたのに、 -rw-r--r-- 1 root wheel 0 11 11 15:36 /var/mysql/mysql.sock やり直したところ、sh-3.2# ls -al /var/mysql/mysql.sock と実行すると、このようになってしまいます。 sh: sh-3.2#: command not found どうぞよろしくお願いします。
edoooooo

2015/11/11 11:35

/var/mysql/mysql.sockにcdしようとして、やってみたところ、mysqlにすすみ、lsをしても、このように、何も表示されません。 cd mysql taichi-no-MacBook-Pro:mysql taichi$ ls taichi-no-MacBook-Pro:mysql taichi$ ls taichi-no-MacBook-Pro:mysql taichi$ ls すみません よろしくお願いします。
argius

2015/11/11 11:40

1はダメだったということですよね? もういちど、 grep ERROR /usr/local/var/mysql/taichi-no-MacBook-Pro.local.err | tail を実行してみてください。
edoooooo

2015/11/11 11:42

はい、そうです。実行してみます。
edoooooo

2015/11/11 11:44

grep ERROR /usr/local/var/mysql/taichi-no-MacBook-Pro.local.err | tail 2015-11-11 20:00:58 1324 [ERROR] Can't start server : Bind on unix socket: Address already in use 2015-11-11 20:00:58 1324 [ERROR] Do you already have another mysqld server running on socket: /var/mysql/mysql.sock ? 2015-11-11 20:00:58 1324 [ERROR] Aborting 2015-11-11 20:02:45 1806 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 2015-11-11 20:02:45 1806 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode 2015-11-11 20:02:45 1806 [ERROR] InnoDB: The system tablespace must be writable! 2015-11-11 20:02:45 1806 [ERROR] Plugin 'InnoDB' init function returned error. 2015-11-11 20:02:45 1806 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2015-11-11 20:02:45 1806 [ERROR] Unknown/unsupported storage engine: InnoDB 2015-11-11 20:02:45 1806 [ERROR] Aborting このように出ました。申し訳ありません。よろしくお願いします。
argius

2015/11/11 12:48

うーん、何なんでしょうね。 sudoなどを使ったために権限あたりがごっちゃになってしまったんじゃないかとは思いますが、 これは再インストールした方が早いかも知れません。 ここまでやっていただいたのに申し訳ないですが。 いまさらですが、なぜ/etc/my.cnfを作りたいんでしたっけ? さらに突っ込んだことを聞いてしまいますが、 プロフィールと質問を総合してみたところによれば、 MacでJava+Tomcat+MySQLでSNSを作ろうとなさっているということでしょうか? だとしたら、MySQLを動かすだけならそんなに難しいことをする必要はないと思うんですよね。 今、試しにMac(OS X Yosemite)で私が貼ったリンク(下のkarakaram-blogさんの方)を元にMySQLをBrewのインストールで1からセットアップしてみましたが、my.cnfが無くても動かすことができ、JavaからJDBCで接続することが出来ました。 なので、差支えなければ少しお考えを聞かせてください。
edoooooo

2015/11/11 15:58 編集

遅くなり大変、申し訳ありません。 何度もなんども申し訳ありませんでした。アドバイスをくださり本当にありがとうございました。ここまでしていただいて本当にありがとうございます。 考えとしては、MacでJava+Tomcat+MySQLでSNSを作ろうしています。mysqlとデータベースを接続して、本に書いてあるコードを実行しようと考えていました。 以前ここで、https://teratail.com/questions/19623 質問に答えていただいとときに、JDBCの接続は、できたのですが、データベースを操作しようとして、ターミナルでデータベースを作ろうとしたのですが、はじめにログインをする時に、パスワードを入力しようとするとエラーがおこってしまい、これらの動作が必要だと思い、質問をさせていただきました。    なんども申し訳ありません。どうぞよろしくお願いします
argius

2015/11/11 16:26

回答ありがとうございます。 まず、ターミナルでデータベースを作成するだけなら、my.cnfは要らないはずです。 私が先ほど試したのは、データベースを作るところまでmy.cnfを作ることなくできましたから。 ちなみにMacのバージョンは何ですか?たぶん割と新しいものだとは思いますが、古いバージョンではできないこともありますので、念のため。 そして、将来的にはmy.cnfも必要になるかもしれませんが、本格的にSNSを運用するときに、Macで運用するわけじゃないですよね? そうすると、今やっている知識はあまり役に立たなくなるかもしれません。どちらかといえば、Linuxで構築したほうが練習になるんじゃないかと思います。 ですから、今はどちらかというと、アプリの構築のほうに力を注がれるほうが良いのではないでしょうか? ということで、my.cnfが本当に必要かどうか教えてください。 今晩はこれで一旦失礼します。
anonymouskawa

2015/11/12 00:06

my.cnfを作ろうとしたのは、自分が前の質問で回答したことによるものですね。 接続しようとしたらsocketエラーが出たというので、 1)起動してない 2)パスが一致していない を疑ったのですが起動はしているとのことなのでsocketのパスが一致していないのだろうと思ったのです。 そのため、my.cnfに記述がないか確認してもらったが、my.cnf自体がないとのことで、作って再起動してくれと回答したのが発端です。
edoooooo

2015/11/12 01:00 編集

すみません、自分でも、こんがらがっていました。ありがとうございます。 バージョンなのですが、10.10.5 でした。最新のmacbookpro です。 本格的にsnsを運用することを考えているのですが、macでできるものだと考えていました。windowsのノートパソコンが必要ということでしょうか? 今は、簡単なjspで接続をしようとしているのですが、mysql.server start しないと、データベースを作れずにいる状況です。 よろしくお願いします。
anonymouskawa

2015/11/12 01:53

my.cnfの値を [client] port = 3306 socket = /var/mysql/mysql.sock [mysqld] datadir = /var/mysql/mysql port = 3306 socket = /var/mysql/mysql.sock にして ps ax | grep mysql でプロセスを確認してmysqlが上がっていればkillする。 OSを再起動して、MySQLを起動。 それでも出来なかったら、再インストールしてください。
edoooooo

2015/11/12 02:27

ありがとうございます。 ps ax | grep mysql 5016 s000 R+ 0:00.00 grep mysql  となりました。 これはmysqlが上がっていないということでしょうか?
anonymouskawa

2015/11/12 02:33

上がっていないです。 OSを再起動して、その後MySQLを起動して下さい。
edoooooo

2015/11/12 02:46

了解しました。ありがとうございます。
argius

2015/11/12 02:51

anonymouskawaさん なるほど、了解です。 根本的な解決ではないですが、my.cnf関連では、 /var/mysqlがファイルになっていたためmysql.sockが作成できない状態でした。 /var/mysqlを取り除きディレクトリーに変えました。
edoooooo

2015/11/12 02:53

mysql.server start Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid). と同じエラーになってしまいました。
edoooooo

2015/11/12 02:58 編集

皆様本当にありがとうございます。
argius

2015/11/12 03:00

taichitaichiさん Macで運用することはできないわけでは無いですが、外からのアクセスを受け付けるようにするならMacをずっと起動しっぱなしにしないといけませんよね? 私もMacで簡単なWebアプリを動かして外からつないでいるので、それでもできないことはないですが、MacbookProとは別のマシン(Mac mini)で動かしています。 また難しい話になるので詳細は避けますが、この手のアプリを運用するのは、外部のサーバーを借りてそこで運用するのが一般的です。 外部のサーバーはほとんどがLinuxです。Windowsも稀にありますが、おそらく費用が高いです。Macは皆無でしょう。私もあまり詳しくはないのでこれくらいしか分かりません。
edoooooo

2015/11/12 03:13

そうなのですか、まず、アプリの勉強を進めるために、mysqlをhomebrewで再インストールして、アプリを動かし、そのあとに、Linuxで構築するための勉強をしようと思うのですが、アプリを動かす際に、Linuxではないほうの、mycnf ?の勉強をしなくてはいけないのでしょうか?
argius

2015/11/12 03:27

いえ、Linuxで構築するとしたら、MacでMySQLを構築する場合とまったく違う訳ではありませんが、違いを認識しながら作業しなければならなくなります。 my.cnfに限らず、です。 だったら、最初からMySQLは外部に構築したものを使った方が良いのではないかと思いました。 また、外部の、いわゆるレンタルサーバーなどでは、MySQLを簡単にセットアップできるサービスを提供しているものもありますので、そちらを使った方が楽かと思います。 ただし、セキュリティー上の問題で外部つまりローカルのMacなどからつなげられない場合もあるので選択する際に注意が必要です。 外部からJDBCでつなげられるMySQLを探してください。その際は、別途、質問すれば詳しい方に回答いただけるかも知れません。 もちろん、レンタルサーバーは費用はかかってしまいますので、ご都合によりますが。
edoooooo

2015/11/12 03:31

そうなのですか 費用がかかるとなると、今の自分の実力では、まだ公開できるようなものは作れないのですが、知識が違うものとなると、考えてしまいます。いろいろ調べてから、別途質問してみます。 先ほどのアンインストールが完了して、再インストールをしたのですが、mysql.server start をすると、同じ、 mysql.server start Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid).  というエラーが出てしまいました。 sublimeで編集したものも消さないといけないのでしょうか?
argius

2015/11/12 04:05

とりあえず、my.cnfは無しで行きましょう。 コマンドでなくても良いので、my.cnfを他の場所に移動しておいてください。 コマンドがまだかなり不慣れなようですので、finder上で移動してしまったほうが楽では無いですか?
edoooooo

2015/11/12 04:23

とりあえず、不安だったので、メモ帳にコピーして、マイファイルにドラックアンドドロップしました。
argius

2015/11/12 04:31

念のため、 ll /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf でmy.cnfが無いことを確認して、なければ起動してみてください。
edoooooo

2015/11/12 04:34

ll /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf -bash: ll: command not found ありませんでした。 . ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid). すみません、まだ同じエラーが出てしまいます。
argius

2015/11/12 04:43

あ、すみません。 ls -l /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf でした。 ちなみに、 -bash: ll: command not found は、llというコマンドが無い、という意味です。 メッセージは必ず読むようにして、意味を理解するように努めてください。 英語で分からなければ辞書でもGoogle翻訳でも良いので訳して読んでください。 そうしないと、いつまでたってもコマンドを使えるようになりませんよ。
edoooooo

2015/11/12 06:27 編集

ls -l /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf ls: /Users/taichi/.my.cnf: No such file or directory ls: /etc/my.cnf: No such file or directory ls: /etc/mysql/my.cnf: No such file or directory -rw-r--r-- 1 _mysql _mysql 1391 11 11 16:30 /usr/local/etc/my.cnf ありませんでした。 すみません。メッセージは、しっかり検索します。 mysql.server start Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/taichi-no-MacBook-Pro.local.pid). PIDファイルが、見つかりません。自分の予想では、権限の問題なので調べてみます。 先ほどしたアンインストールなのですが、このようにいろいろ消しました。 brew uninstall mysql rm -rf /usr/local/mysql rm -rf /usr/local/mysql-5.5.15-osx10.6-x86_64 sudo rm -rf /Library/StartupItems/MYSQLCOM sudo rm -rf /Library/PreferencePages/MYSQL.prePane sudo rm -rf /Library/Receipts/mysql-.pkg
edoooooo

2015/11/12 07:08

すみません、わかりません・・・ さっき移動した、sublime text のコードを書き換えてからうつさないといけなかったのでしょうか?何度インストールを繰り返しても、このエラーから抜けられません、すみませんが、よろしくお願いします。
edoooooo

2015/11/12 07:19

先ほど試したのですが、だめでした。 sudo chown -R _mysql:_mysql /usr/local/var/mysql mysql以下のファイルの所有者をすべて_mysqlにしても同じでした。 /usr/local/var/mysql/ 以下の .pid ファイルと ps -alx | grep mysql で残ったプロセスをキルする  これでも、残ったプロセスは、なく /usr/local/var/mysql/ 以下の .err ファイルを消す /usr/local/var/mysql/ 以下の .err ファイルの所有者を _mysql からホストに変更する などをしようと思ってます。すみません
guest

0

MySQLオプション(/etc/my.cnf)の設定例

必要なところを**「必ず自分の環境に合わせて変更して」**実行してください。

投稿2015/11/10 02:02

anonymouskawa

総合スコア856

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

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

edoooooo

2015/11/10 02:03

昨日は、大変お世話になりました。自分の環境を確かめつつ実行してみます。
edoooooo

2015/11/10 02:26

[mysqld] と実行してみたのですが、-bash: [mysqld]: command not found との文が出てきました。 このコードをどのように実行すればいいのかを教えていただけないでしょうか。不足が、多くて申し訳ありません。
anonymouskawa

2015/11/10 03:04

ごめんなさい、ギブアップです。
edoooooo

2015/11/10 03:52

すみませんありがとうございました。大変お世話になりました。
guest

0

ベストアンサー

Vimは操作が難しいので、Sublime Textなどで編集して保存したほうが良いかも知れません。

(提案ですが、タイトルに書かれていることは達成できたと思うので、いったん質問を解決済みにして、その回答欄か、新しい質問で続きのコメントをしませんか?)

投稿2015/11/12 08:05

編集2015/11/12 08:08
argius

総合スコア9390

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

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

edoooooo

2015/11/12 08:09

もうしわけありません、ありがとうございます。
argius

2015/11/12 08:12

どうしましょうか?ここで続きをしますか? Kosuke_Shibuyaさんの回答も参考になりそうですけど。
edoooooo

2015/11/12 08:33

Kosuke_Shibuya さんに回答してもらったコードを実行しているところです。まだ半分のところなのですが、じっくりとやらせていただいています。
edoooooo

2015/11/12 08:33

どうぞよろしくお願いします。
argius

2015/11/12 09:01

MySQLについては、別の回答欄でやりとりされているようですので、 ちょっと別の提案をさせてください。 今は参考書を見て練習しているんでしたっけ? どうしてもMySQLでないとダメでなければ、 別のDBを使うのも手かと思いました。 MySQLのセットアップでつまずくぐらいなら、そういったセットアップが不要な H2databaseというものがあります。 Jarファイルを持ってくるだけなので、とても簡単です。 MySQLとH2databaseは完全には互換性が無いので、 またそこでつまずく可能性もありますが、今の状況よりはマシになるのでは、と思います。
edoooooo

2015/11/12 09:52

本での例では、H2databaseを使っていました。 でも将来的にとおもい自分は、mysqlを使っています。 すっきりわかるシリーズという本です。今教えて頂いてるかたにいただいたアドバイスでも対処不能の状態にmysqlがある場合には、すぐにでもH2Database使いたいと思います。 本にも、インストールの仕方や実行の仕方が、のっていたのですごくやりやすそうです。すっかり忘れていました。ありがとうございます。
argius

2015/11/12 10:08

それなら話は早いですね。 将来的に、とお考えになったお気持ちはわかります。 私の考えでは、2通りあって、Javaの場合はサービスを公開できる手段が限られますので、 (A). 仮想環境でLinuxを練習して、VPS上で運営する (B). PaaS(AWS, Google App Engine, Herokuなど)を利用する となるかと思います。 Linuxを学ぶことも含めるのであれば(A)でも良いですが、SNSを作ることが主要な目的なら、(B)でも良いのではないかと思います。 (B)だとしたら、今はH2で練習するだけで良いと思います。 ところで、その参考書では、サービスの公開については触れられているのでしょうか? 「スッキリわかる サーブレット&JSP入門」ですか?
edoooooo

2015/11/12 10:21

はい、スッキリわかる サーブレット&JSP入門です。 シリーズの入門、実践、sql、サーブレット&jspの4冊を元にsnsを作ろうとしています。 簡単な機能が含まれる、サンプルコードは、あるのですが、サービスの公開については触れられていませんでした。
argius

2015/11/12 10:41

ちょうど他の質問者さんが同じ本を参考にされていたので、もしやと思いました。 Amazonの中身検索で見た感じでは、初心者向けとしては悪くなさそうです。 ただ、DAOの書き方だけはちょっといただけないと思いました。 13章のJDBCとDAOパターンのところです。 今インプレスのサイトからサンプルコードをDLしてみたんですが、 これが完成形だとしたらちょっとひどいです。 まずは教科書通りにやってみてください。 余裕があれば、以下をお読みください。 学習を先に進めたいのであれば、読み飛ばしていただいてかまいません。 もし興味があれば、なぜ13章のDAOがダメなのかをご説明いたしますよ。 いくらかマシなDAOを最近書いてみたので、よかったら参考にしてください。 Java8じゃないと使えませんけど。 Java8版 簡易DAOサンプル https://gist.github.com/argius/e71722f5cad6f79227fc
edoooooo

2015/11/12 10:46

一応サンプルコードでなんども、作り、mysqlの接続のコードも書いたのですが、実行すると繋がらないため、404エラーが出るという状態でした。 接続が、できずに、空いた時間で、何度も13章を読み返していたので、とても興味があります。 java8なので、見れると思います。 とてもありがたいです。ほんとうにありがとうございます。 見てみます。
edoooooo

2015/11/12 10:52

見ることができました。なんとなくですが、同じ結果になるのだろうなということは、わかったのですが、素人なため、どこがひどかったのかは、わかりませんでした。 わかったことといったら、@Override してたぐらいでした。すみません おしえていただけないでしょうか?
argius

2015/11/12 11:06

ご覧いただきありがとうございます。 本当はもっと完成度を上げたいところですが、難易度がさらに上がってしまうので、簡易版にしています。 @Overrideのような@を付けたものは、「アノテーション」と言います。 これはまだすぐに覚えなくても良いです。 簡単に説明すると、アノテーションは、プログラムロジックと直接関係ない操作をするためのマーカー(印)のようなものです。 @Overrideは、このメソッドがオーバーライドとして宣言されていますよ、という印です。メソッド名が間違っていたりして@Overrideになってない場合にコンパイラーが警告を出してくれます。 JDBC接続するところはさておき、サンプルのDAOがイケてないところは、ざっとこんなところです。 ・例外をスローしないでnullをリターンしているところ ・すでにJava7で登場しているtry-with-resources構文を活用していないところ ・変数の初期値にnullを設定しているところ ・Class.forNameがfindAllメソッドの中にあるところ Javaを上手く使うコツのひとつに、nullを徹底的に排除するというものがあります。 実際、別の質問者さんもnullで苦しんでいたようでした。 メソッドでエラーが発生したら、nullで返すのではなく、SQLExceptionをそのままメソッドの外にスロー、つまりサーブレット側でキャッチできるようにすべきです。 そして、サーブレットもエラーにしてしまうべきです。 try-with-resources構文とthrows SQLExceptionを使えば、MutterDAOの45行目以降の無駄なcatchとfinallyがすべて要らなくなり、findAllメソッド自体はとてもスッキリすることがお分かりいただけると思います。 なぜtry-with-resourcesを扱わないのかは良く分かりませんが、今後アプリを書くなら、絶対に使うべきです。 どうしてもJava6以前のバージョンを使わないといけない場合は別ですけどね。
edoooooo

2015/11/12 11:16

ありがとうございます。説明を聞いてて、とても楽しくなりました。アノテーションやオーバーライドやエラーの放出は、その前のシリーズの参考書に乗っていた気がします。 よんでいて、すっきりしているのは、とても感じました。本がすべてだと思っていたので、とても新鮮で楽しかったです。ありがとうございました。
argius

2015/11/12 14:07 編集

ありがとうございます。 今は完全には理解できないと思いますが、教科書のサンプルが上記のような欠点があることだけ覚えておいてください。 この辺でいったん終わりにしましょうか。 ここまでで何か聞いておきたいことがありましたらどうぞ。 少し厳しいことや失礼なことも申し上げたかもしれませんが、どうかご容赦ください。 また他の質問でお会いしましょう。
edoooooo

2015/11/12 11:35

ほんとにお世話になりました。自分も綺麗なコードでsnsを作れるように頑張ってみます。ありがとうございました。
argius

2015/11/12 11:44

ひとつだけ小さな訂正があるので書きます。 返信は結構です。 「メソッドでエラーが発生したら、nullで返すのではなく、SQLExceptionをそのままメソッドの外にスロー、つまりサーブレット側でキャッチできるようにすべきです。 そして、サーブレットもエラーにしてしまうべきです。」 と書きましたが、サーブレットではエラーにせずに、簡単なエラー画面を出すようにした方が良いですね。 セキュリティー上、ユーザーには何が起こったのかを詳しく分からないようにします。 エラーの情報から、内部の情報が判断できたりして、セキュリティーが弱いところを攻撃されたりする可能性があるからです。
edoooooo

2015/11/12 11:56

すごい本格的でカッコよくとても楽しみです。じぶんでググって、解決できるように努力しますが、今後ともどうかよろしくお願い致します。何日間にもわたってじぶんのために時間を取らせてしまい、申し訳ありませんでした。ほんとうにありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問