の おと

考えたこと,学んだことを書きます

mysqlサーバ立ち上がらない沼

mysqlサーバが立っているかわからない

webコンテナができない

yumが通らない

 

mysqlサーバがそもそも立っていないんじゃないか?という指摘をたくさん受けたのでdocker-composeでやってみるもうまくいかないのでDesktopに新しいアプリ作ってやろうと思い以下をやったがこれもダメだよ!

  rubyが入っていることを確認した.

cureseven:~ cureseven$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]

 

mysqlが入っていることは確認できなかった.


cureseven:~ cureseven$ mysql2 --version
-bash: mysql2: command not found

 

brewをupdateし成功した

cureseven:Desktop cureseven$ brew update

 

 brewmysqlをインストールしようとしたら既にあった

cureseven:Desktop cureseven$ brew install mysql
Warning: mysql 5.7.19 is already installed

 

mysqlのバージョンが確認できた


cureseven:Desktop cureseven$ brew info mysql
mysql: stable 5.7.19 (bottled)

 

mysql.serverをスタートしようとし失敗した.

cureseven:Desktop cureseven$ mysql.server start
Starting MySQL
... ERROR! The server quit without updating PID file (/usr/local/var/mysql/cureseven.local.pid).

 

mysqlの権限を_mysqlに変更した

cureseven:Desktop cureseven$ sudo chown -R _mysql:_mysql /usr/local/var/mysql
Password:

 

mysql.serverをスタートしようとしたらまたPIDファイル

cureseven:Desktop cureseven$ mysql.server start
Starting MySQL
... ERROR! The server quit without updating PID file (/usr/local/var/mysql/cureseven.local.pid).

 

今度はcureseven.local.errの権限をcuresevenにしてみた

cureseven:Desktop cureseven$ sudo chown cureseven /usr/local/var/mysql/cureseven.local.err

 

やっぱりだめ

cureseven:Desktop cureseven$ mysql.server start
Starting MySQL
... ERROR! The server quit without updating PID file (/usr/local/var/mysql/cureseven.local.pid).

 

mysqlのプロセスを確認し殺したが同じ結果

cureseven:Desktop cureseven$ ps -ef | grep mysql
501 2540 719 0 4:42PM ttys001 0:00.00 grep mysql
cureseven:Desktop cureseven$ sudo kill -9 501
cureseven:Desktop cureseven$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/cureseven.local.pid).

 

mysqlユーザを作ろうとしたら(2)のエラーが出てきた

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

 

mysqld_safeを行ったが同じ結果

cureseven:Desktop cureseven$ mysqld_safe
2017-09-13T08:03:16.6NZ mysqld_safe Logging to '/usr/local/var/mysql/cureseven.local.err'.
2017-09-13T08:03:16.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2017-09-13T08:03:19.6NZ mysqld_safe mysqld from pid file /usr/local/var/mysql/cureseven.local.pid ended
cureseven:Desktop cureseven$ mysql.server start
Starting MySQL
... ERROR! The server quit without updating PID file (/usr/local/var/mysql/cureseven.local.pid).

mysqlもうアンインストールしよ

cureseven:Desktop cureseven$ brew remove mysql
Uninstalling /usr/local/Cellar/mysql/5.7.19... (322 files, 233MB)

 

クリーンナップされたみたい

cureseven:Desktop cureseven$ brew cleanup

 

このサイトに従ってアンインストールした

MacでMySQL5.7をアンインストールする - Qiita

 

installし直し

cureseven:Desktop cureseven$ brew install homebrew/versions/mysql56

 

ダメかい

cureseven:Desktop cureseven$ mysql.server start
-bash: /usr/local/bin/mysql.server: No such file or directory

 

installし直し

cureseven:Desktop cureseven$ brew install mysql

 

うぉ

cureseven:Desktop cureseven$ mysql.server start
Starting MySQL
SUCCESS!
cureseven:Desktop cureseven$ 2017-09-13T08:20:08.6NZ mysqld_safe A mysqld process already exists

 

根本的な解決はされていないがとりあえずmysqlサーバがコンテナ外では,動いた

Docker諦める説ある