haiju's 開発メモ

開発に必要な情報を自分用にメモ

大人の事情でCentOSを強要してはいけないと思う

仕事先で使用しているCentOS 6.5に不具合のあるMySQL

アンインストールして再インストールしたところ、方法が

間違っていたらしく、MySQLが起動しないので何もできない

という状況に陥って、設定ファイルの修正など調べないといけない

ことがたくさんあり何も作業が進まない事態になった。

CentOSが重用されるのは、RedHat系の有料サポートが受けられる

からなのかもしれない。

でも、開発環境構築が本当に面倒だし動作保証がない。

運用環境はCentOSで構築すればいいと思うけど、開発環境は

他のLinuxを使わせてほしいと思った。

枯れてるにも程があるだろう。

アホなのか?(ΦωΦ)

MySQLは途中で不具合が発生したものと同じバージョンだけど

取り出し元のパッケージのバージョンが違ったので、より改良された

ものがインストールされたという可能性はあると思う。

何せ、同じバージョンなのに、MySQLが起動しないし、起動時に

前回見たことのない大量のエラーログを吐いていたし。

インストールができても起動しないことには全くお話にならないし。

あー。どうして障害が発生する時は全部重なるんだ?

訳がわからん。

yumに追加したmysql57-communityからmysqlをインストールしようとして[Errno 256] No more mirrors to try

開発サーバーのmysql 5.6で不具合があり、アンインストール後に

再インストールを始めようとしたけど、一向に、mysqlのインストール

までに到達せず、それ以前で時間がかかってタイムアウト後に

エラーになったりしたので、/etc/yum.confに タイムアウト時間を増や

す設定を追加したり、キャッシュクリアしてみたり、いろいろしたけど

相変わらずで進捗がない、しぬーwww(ΦωΦ;)

って思っていたら、前回の環境構築後にセキュリティ設定がかけられて

いたことと、CentOS6.5の各リポジトリが古くなって削除されてる

とこを見に行って見つからなくてタイムアウトでコケていたらしい。

世間的にはCentOS7.xに移行しろよって流れだと思う。

わしもローカルのVM環境は7系の最新が入ってるから、そう思うけど

なかなか企業の情シス的にはサポートあるんだから、わざわざ

アップデートする必要ないとかアップデートしたら動かなくなる

環境もあるからってことで早急には対応しなくてもいい。

っていう大人の事情が働いてる現場が多そうだw

[手順]

 1. 古いyumのキャッシュを確認。

# du -sh /var/cache/yum
67M /var/cache/yum

2. キャッシュを全削除。

# rm -rf /var/cache/yum/*

# yum clean all

3. updateしてリポジトリリストが正常か確認。

# yum update

# yum repolist

4. 特にエラーが発生しなければOK。

[参考サイト]

qiita.com

http://www.cheebacca.jp/index.php/yum-no-more-mirrors-to-try/

server.etutsplus.com

yum が [Errno 256] No more mirrors to try エラーを返す - Red Hat Customer Portal

Why does yum return error: [Errno 256] No more mirrors to try ? - Red Hat Customer Portal

mysql_secure_installationについて

リモートサーバーからmysqlクライアントにrootでアクセスできない件

で思い出したことがあった。

ローカルのVMにインストールしてた時のように何も考えず、

mysql_secure_installationを実行して、rootユーザーのリモート

ログイン禁止でYを実行していたので、ローカルから外部の

開発サーバーのmysqlクライアントにrootでログインしようとして、

エラーになっていたということを思い出したw(ΦωΦ;)

まぁ、それはいいとして(良くないけどw)。

では、なぜNavicatでアクセスする場合もエラーなのか?

自分は、金曜日に仕事をしてる時まで問題なく接続できて

いたのに、何で今日はダメなんだ?って思う。

本当に意味がわからない。全社的な障害が発生していた影響

なのか?それとも別の問題なのか?よくわからないけど、

とりあえず、mysql_secure_installationの本体は見つけることが

できた。でも、いろいろ検索しているのに解除する方法は

アンインストール -> 再インストールで何とかする他ないっぽい。

というか今まで大丈夫だったのに、何でアクセスできなく

なったのかって疑問だけが残る。何でだろう?(ΦωΦ)

仕様が変わってrootでアクセスするようになったではないと

思うしな・・・思うけど、思ってるだけでそうなの?

とりあえずあとで調べるとして、参考サイトはメモしておく。

[参考サイト]

qiita.com

qiita.com

Secure a MySQL installation using mysql_secure_installation « Networking How To's

www.digitalocean.com

www.itzgeek.com

MySQL でrootのパスワードをリセットする方法

3連休明けに出勤してみたら、全社全体の障害が

発生した影響などを受けて、自分の開発サーバー

MySQLにNavicat(Windows向けGUImysql

(クライアント)でアクセスできなくなるエラーが

発生したので、黒い画面でmysqlクライアントに

アクセスできるかどうか確認したりしていたが、

本格的に調べようとするとrootのパスワードが必要

ということで、アクセスしてみたら、どういう訳か?

ユーザーでアクセスは問題ないのに、rootでアクセス

しようとするとエラーが発生して無理だった。

なので、rootパスワードが違うんだっけ?

と思い、rootパスワードのリセットを調べてみた(ΦωΦ)

[手順]

1. 実行中のMySQLを停止。

% sudo service mysqld stop

2. MySQLをセーフモードで起動。

% sudo mysqld_safe --skip-grant-tables &

3. MySQLへrootでパスワード無しでログイン。

% mysql -u root

4. rootのパスワードをリセット。

mysql > use mysql;

mysql > UPDATE user SET password=PASSWORD(設定したパスワードを""内に) WHERE USER = 'root';

mysql > Flush privileges; 

※上記実行後に「Query ok」が出力されればOK。

5. セーフモードで起動したMySQLからログアウト。

mysql > quit;

6. セーフモードで起動したMySQLを停止。

% sudo service mysqld stop

7. 通常モードでMySQLを再起動。

% sudo service mysqld start

8. 再度、4で変更したパスワードでログインできる

 か確認。

※結局、2のセーフモードで起動でエラーが発生して

 実行できなかったので断念したが、改めて実行したら

 何のエラーも発生せずrootでログインできたし、

 Navicatも問題なくアクセスできるようになったので、

 全社全体の障害からの反映が遅れていただけだった

 っぽい。自分は担当者じゃないので、詳しくは知らん

 けどw(ΦωΦ)

[参考サイト]

https://liginc.co.jp/web/programming/mysql/87393/2

stackoverflow.com

blog.dreamhive.co.jp

gist.github.com

www.sasukepg.jp

VirtualBox 5で共有ディレクトリにアクセスする場合の備忘録

そういえば、VirtualBox 5にインストールしてるCentOS7の

共有ディレクトリにアクセスする方法って、どうやるんだっけ?

って忘れた場合の備忘録(ΦωΦ)

[手順]

(ex) CentOS7のユーザーディレクトリ以下の.vimrcを開発サーバー

  のホームディレクトリにコピー

1.ターミナルで以下パスにアクセス。

$ cd /media/sf_share

2.そこへ共有したいファイル等をコピー。

$ cp /home/username/.vimrc ./docs

3.2より、Windowsで設定している共有フォルダにアクセスし、

 開発サーバーのホームディレクトリへコピー。

(ex) C:\Users\username\VirtualBox VMs\share\docs 

[参考サイト]

vividcode.hatenablog.com

CentOS7にCrystalをインストールして使ってみるためのメモ

何度か、仕事で使ってるCentOS7に好きな言語環境を

構築しようとして、うまく行かなくて断念したことが複数回

あったので、備忘録として参考サイトをまとめておく(ΦωΦ)

まぁ公式ドキュメントを追いかければいいじゃないw

ってだけの話だけどね。

暇な時にちょっと手を動かす時の助けになればいいので。

[参考サイト]

On RedHat and CentOS · GitBook

qiita.com

gitでリポジトリから不要になったファイルを削除する

テストと本番サーバーのPHPのバージョンが古すぎてローカル開発

環境に構築できないので、ローカルで開発したコードをテストサー

バーにわざわざgit渡しで動作確認とデバッグを行っているが、

その際に検証用のためだけに作成したファイルがあり、共有のため

リモートブランチに登録してしまって気持ち悪いことになるので、

作業が終わったらリモートサーバーから削除したい。

というのを調べてみた。

調べたけど実行は終わってからw(ΦωΦ)

[手順]

1.リポジトリから削除、かつ、ディレクトリから削除

$ git rm FILENAME

※ちなみに以前の以下の作業と同じ

$ rm FILENAME

$ git add FILENAME

※rmでファイル削除して、$ git add FILENAMEを実行すると

 今では以下のwarningメッセージが出るので、同じ意味だよー

 ということで受け止めておくだけにするw(ΦωΦ;)

warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
whose behaviour will change in Git 2.0 with respect to paths you removed.
Paths like 'geppou_dup_del2.php' that are
removed from your working tree are ignored with this version of Git.

* 'git add --ignore-removal <pathspec>', which is the current default,
ignores paths you removed from your working tree.

* 'git add --all <pathspec>' will let you also record the removals.

Run 'git status' to check the paths you removed from your working tree.

2.リポジトリから削除、ローカルには残す

$ git rm --cached FILENAME

3.リポジトリから履歴ごと削除

 こちらは、あとで詳しく読んで必要があればやる。

4.あとは、とりあえずコミットする。

※違ったら詳しく読んで対応する

[参考サイト]

techacademy.jp

yatta47.hateblo.jp

mimaunes.hatenablog.com

qiita.com

qiita.com

d.hatena.ne.jp

qiita.com

qiita.com