20210414のMacに関する記事は5件です。

M1 Mac で docker mysql を使う

$ docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -d -p 3306:3306 mysql Unable to find image 'mysql:latest' locally latest: Pulling from library/mysql docker: no matching manifest for linux/arm64/v8 in the manifest list entries. See 'docker run --help'. 普通に docker run しようとすると、no matching manifest が発生してしまうので、その時は --platform linux/x86_64 を指定する。 docker run -d --platform linux/x86_64 --name mysql -e MYSQL_ROOT_PASSWORD=mysql -p 3306:3306 mysql この記事によると、別のCPUアーキテクチャのエミュレーションをしているので動いているらしい。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

XAMPPのMySQLデータベースを起動させるまでの闘いの記録

背景 これはとある夜下がりにとある人間がとある技術書を読みながら手を動かしていくぜと意気込んで読みすすめて行ったところ、序盤のXAMPPを使おうという何気ない記事の所で、全く予想だにしていなかったエラーの波に飲み込まれ、XAMPPのMySQLをRunningにするまでに何時間も悪戦苦闘した闘いの記録である 概要 注)・XAMPPのインストールの部分は省略しています。   ・環境はMacです。 まずはApacheを起動しよう!となってたのでStartをクリックすると簡単に起動。よしよし。 次はMySQLを起動しよう!となってたのでStartをクリックすると簡単に起動・・・・・・しない!!! 何度やっても赤いランプのStoppedになってしまう。 ということで速攻で検索して調べてみました。 はじめにxampp mysql 起動しないで検索したらほとんどがWindowsの場合のページばかりヒットしたので、検索ワードに「mac」を入れることにしました。(自分はMacを使用しています) そしてteratailのこちらのページが役に立ちそうと思って記事の内容を読みながら試してみました。 そしてとりあえずlogを見てみる事にしました。 ・XAMPPのMySQL起動時のエラーログの確認コマンド $ sudo tail /Applications/XAMPP/xamppfiles/var/mysql/自分のMacの名前.local.err /Applications/XAMPP ❯ sudo tail xamppfiles/var/mysql/~Mac.local.err Password: 2021-04-13 22:21:53 0 [Note] InnoDB: Waiting for purge to start 2021-04-13 22:21:53 0 [Note] InnoDB: 10.4.18 started; log sequence number 1764329; transaction id 2369 2021-04-13 22:21:53 0 [Note] InnoDB: Loading buffer pool(s) from /Applications/XAMPP/xamppfiles/var/mysql/ib_buffer_pool 2021-04-13 22:21:53 0 [Note] Plugin 'FEEDBACK' is disabled. 2021-04-13 22:21:53 0 [Note] InnoDB: Buffer pool(s) load completed at 210413 22:21:53 2021-04-13 22:21:53 0 [Note] Server socket created on IP: '::'. 2021-04-13 22:21:53 0 [ERROR] Can't start server: Bind on TCP/IP port. Got error: 48: Address already in use 2021-04-13 22:21:53 0 [ERROR] Do you already have another mysqld server running on port: 3306 ? 2021-04-13 22:21:53 0 [ERROR] Aborting 2021-04-13 22:21:55 16635 mysqld_safe mysqld from pid file /Applications/XAMPP/xamppfiles/var/mysql/~Mac.local.pid ended Can't start server: Bind on TCP/IP port. Got error: 48: Address already in use Do you already have another mysqld server running on port: 3306 ? 上記のエラーログから他のどこかでMySQLのポート番号【3306】が使われていて起動出来ないのだと仮定しました。 そして調べていた所ポート番号の競合を確認出来るコマンドを発見したので使用してみた 使用中のすべてのポートを確認する場合 netstat -an 特定のポートを確認する場合 netstat -an | find ":<ポート番号>" 参考サイト:2.1.3 ポート番号が競合していないことを確認する コマンド実行して検証 $ netstat -an | find "3306" find: 3306: No such file or directory >そんなファイルは無いよと言われてしまいました。 残念ながらこのコマンドでは思った結果が得られませんでした 別のコマンドを見つけたので実行して再度検証 /Applications/XAMPP ❯ netstat -na | grep LISTEN tcp6 0 0 *.64279 *.* LISTEN tcp4 0 0 *.64279 *.* LISTEN tcp46 0 0 *.3306 *.* LISTEN ・・・以下略 >ここでようやくMySQLのポート番号【3306】がどうやらなにかに使われていることが分かりました。 さらに検証を進める $ ps aux | grep mysql このコマンドを打つと【mysql】という検索キーワードでプロセスの一覧を取得出来る。 だが何行にも渡って【mysql】関連のプロセスが出てるのでこのどれが原因なのかよく分からない? ついに起死回生のコマンド見つけた 原因となるmysqlのプロセスを見つけるコマンドを探し回ること数時間、ついにあるコマンドをstack overflowで見つけた! それがこのコマンドlsof -nP -i4TCP:3306である。 > (3306はMySQLのポート番号) さっそく実行 $ lsof -nP -i4TCP:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 16496 user 17u IPv6 0xdaf9973c9634bf6b 0t0 TCP *:3306 (LISTEN) ここでついにプロセスID【16496】が現在MySQLが動いているプロセスであることが判明した。 ※余談だが、上記のコマンドと似たようなコマンドでlsof -i -P | grep 3306というのもあって実行した所、結果は同じだったが結果が返るまでの時間が結構遅かったので自分は前述のコマンドのがオススメ。 killコマンドでプロセスを終了させる ここまでに調べた内容でプロセスを終了するkillコマンドについてはすでに知っていた為、早速該当のプロセスに実行する。 killコマンドの実行 $ kill 16496 (オプションで-9を入れると強制終了になるらしいが今回は使わない。) ようやくXAMPPのMySQLを起動してみるが・・・ これで完全に緑ランプが点くだろうと確信してXAMPPのStartを意気揚々と押してから待つこと数秒。 無慈悲にもstopped(赤いランプ)の状態になり、再び絶望に落とされる。 「そんな・・・、バカな・・・。一体何が悪かったんだ・・・。頭か・・???」と意気消沈してしばらく現実逃避してました。(腕立てとかスクワットとか) 再度MySQLのプロセスを確認 気を取り直して、とりあえずもう一度プロセスを確認することに。 $ lsof -nP -i4TCP:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 16496 user 17u IPv6 0xdaf9973c9634bf6b 0t0 TCP *:3306 (LISTEN) 「なに!?復活してる!?」 「確かに貴様はさっきkillったはずなのに!!!?」 ですが、このことから全てが分かりました。 そう、このMySQLは自動復活のスキルを保有しているということに!!!! MySQLの自動機能について調べる 早速mysql 自動起動で調べた所、答えが全て載っている最高なこちらのサイトを見つけました。 まずはこちらのサイト内から得た知識で、下記のコマンドで自動機能が設定されているかを調べます。 $ brew services list Name Status User Plist mysql@5.6 started user /Users/user/Library/LaunchAgents/homebrew.mxcl.mysql@5.6.plist 完全に自動機能が設定されていました。 というわけで自動機能を停止するコマンドを実行 $ brew services stop mysql@5.6 Stopping `mysql@5.6`... (might take a while) ==> Successfully stopped `mysql@5.6` (label: homebrew.mxcl.mysql@5.6) 念の為MySQLが動いているかを下記コマンドにて確認 $ mysql.server status ERROR! MySQL is not running ちゃんとMySQLが止まっていることが確認出来ました。 再度killコマンドを実行 $ kill 16496 もう一度確認 lsof -nP -i4TCP:3306 →なにも表示されなかった為MySQLが停止していることが分かる。 決着 全ての闘いが終わり、XAMPPのMySQLのStartをクリック。数秒待った後に無事にRunningの緑のランプの点灯に変わることが確認出来ました。嘘ではありません。 これが証拠です!! おわりに この件は冒頭でも述べた通り、昨晩と今日にかけて数時間色々と試行錯誤した結果ようやく解決出来ましたので、緑のランプが点いた時は本当に嬉しかったです また今回の件で自分がMySQLの自動起動の設定をしていたことをすっかり忘れていたことや、起動しているプロセスのポート番号を調べるコマンドを知らなかったりなど多くの事を学習することが出来ました? 今回の学んだ内容を落とし込む意味と他の人への共有のために面倒でしたが今回の記事を書きました。 もしこの記事を見ることで、同じように困っている人達のお役に立つことが出来たならとても光栄です。 この度はこの拙い記事にお付き合いくださり誠にありがとうございました!! 今回の内容をまとめると ・まずはXAMPPのMySQL起動時のエラーログの確認 $ sudo tail /Applications/XAMPP/xamppfiles/var/mysql/自分のMacの名前.local.err →「3306」がすでに使用中なことを確認 ・MySQLのポート番号「3306」の確認 $ lsof -nP -i4TCP:3306 →該当のプロセスIDを確認:今回は「16496」 ・killコマンドの前に自動起動されていないかの確認 $ brew services list →ここで自動起動設定されていたらkillしてもすぐに復活するので止める ・自動起動の停止 $ brew services stop mysql(@~) (なお、自動起動の再開コマンド:brew services start mysql) ・念の為MySQLが停止されていることを確認 $ mysql.server status →「ERROR! MySQL is not running」止まっていることを確認 ($ lsof -nP -i4TCP:3306こちらのコマンドで確認してもよい) ・killコマンドの実行 $ kill (16496) ・これでXAMPPのMySQLが起動出来ます 参考サイト MacOS XAMPP MySQLがStopped 2.1.3 ポート番号が競合していないことを確認する 【MySQL】自動起動の意外な落とし穴
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacユーザーのためのGitの環境構築メモ

背景 結構な頻度でGitの環境構築するので備忘録として... 本題 Git,GitHub ・下記をメインに参考に進める 新しいMacでGitHubのSSH接続をするまでの環境構築手順 - Qiita ・SSHに関しては下記の記事がお気に入りです お前らのSSH Keysの作り方は間違っている - Qiita Sourcetree 下記を参考に進める MacでのSourcetreeセットアップとGitHub連携とプルリクエスト作成までの手順 - Qiita .gitignore 下記で言語・FWごとにgitignoreを生成可能 gitignore.io 以上となります!記事を書いてくださった皆さんありがとうございました!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

xcrun: error: unable to find utility "altool", not a developer tool or in PATHの解決法

Command Line Toolsがエラー App Store Connectなんかにビルドをアップロードする時なんかに使う人もいるであろうxcrun altoolのコマンド。 xcrun altool --upload-app -f aaaaaaaaaaa.ipa -t ios -u test@gmail.com -p testtest こんな感じのコマンドでビルドをテストフライトにアップしようとしたらエラー発生!!! xcrun: error: unable to find utility "altool", not a developer tool or in PATH よくわからんが再度インストールしようとしても、ダメらしい。。。 xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates CommandLineToolsを削除して再インストール sudo rm -rf /Library/Developer/CommandLineTools xcode-select --install 上記のコマンドで無事解決しました。 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Macでネットワークドライブ上にgit cloneしようとしたらエラーになって困った

fatal: Not a git repository (or any parent up to mount parent /home/foobar) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). みたいな出力があれば以下の方法で解決できます。 bar.gitを開こうとしていたという前提だと、 $ mkdir bar $ cd bar $ git init $ git remote add origin git@github.com:foo/bar.git で解決されます。 お試しあれ。 appendix: GIT_DISCOVERY_ACROSS_FILESYSTEM not set https://stackoverflow.com/questions/16853624/git-discovery-across-filesystem-not-set/17975161#17975161
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む