CentOS6.4でMySQLのポートを変更するときにはまった
MySQLのポート変更は通常の手順で行くとWindowsもLinuxもあまり変わらないはずで
my.cnfを書き換えてファイアウォールの設定を行うだけ。
Linuxの場合大抵下記のように紹介されてる。
mysqlを終了しておく
# service mysql stop
/etc/my.cnfを書き換えする
# editra /etc/my.cnf # 下記追加か書き換え port=3307
ファイアウォールでポートを解放する。
# editra /etc/sysconfig/iptables # 下記追加 --dportの次の数字を解放したいポートに設定する -A INPUT -m state --state NEW -m tcp -p tcp --dport 3307 -j ACCEPT
ファイアウォールを再起動
# /etc/init.d/iptables restart
mysqlを開始する
# service mysql start
しかし、CentOS6.4環境では下記エラーが出てMySQLの起動が失敗する
Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
MySQLのログを確認すると何やらTCP/IPのPortの権限がないとか書かれている
2013-06-23 18:35:09 5356 [ERROR] Can't start server: Bind on TCP/IP port: Permission denied 2013-06-23 18:35:09 5356 [ERROR] Do you already have another mysqld server running on port: 6000 ? 2013-06-23 18:35:09 5356 [ERROR] Aborting
色々調べても日本語のサイトじゃ情報収集できなく結局下記のオラクル社員のブログ?で情報発見した。
https://blogs.oracle.com/jsmyth/entry/selinux_and_mysql
CentOSにはSELinuxというセキュリティーポリシーのプログラムがあるらしく
こいつが色々と邪魔してた
結果からいくとこうすることで解決できた。
# setenforce 0 # service mysql start Starting MySQL.. SUCCESS! # netstat -nlp | grep 3307 tcp 0 0 :::3307 :::* LISTEN 5772/mysqld
正確に言うと邪魔しているのではなく余計なポートを使わせないようにしているみたいだけど
セキュリティ考えて標準ポートから変えたいんだよね
でもsetenforce 0して逆にセキュリティにあんまりよろしくないのかもしれない
あと同ページには/datadirの権限についてのエラーも書いてあるからもしかしたらデフォルトの設定ではエラー出るかも、まぁ、出たらこれ思い出してもう一度読み直そう
(英語ページ読むのって疲れるんだよねw)
CentOSにエディターのEditraをインストール
さすがにviでやってるのも面倒になってきた
Windowsでも軽量エディターとしてお世話になっている
EditraがLinuxでも使えるみたいなので早速インストールする
(多数のプログラミング言語等に対応しててハイライトしてくれるからオススメ)
まずwxPythonが必要なためインストールしておく
# yum -y install http://puias.math.ias.edu/data/puias/6/x86_64/os/Addons/wxPython-2.8.12.0-1.puias6.x86_64.rpm
続いてEditraのソースを手に入れる
# wget http://editra.org/uploads/src/Editra-0.7.20.tar.gz
解凍する
# tar xvfz Editra-0.7.20.tar.gz
インストールする
# cd ./Editra-0.7.20 # python setup.py install
/usr/localにeditraを移動
# mv editra /usr/local
ためしに起動してみる
# editra ./src/Editra.py
これでテキストの編集が捗る!
ちなみに、rpm見つけるまでソースからコンパイルしようとして数時間格闘したw
CentOS6.4にMySQL5.6.12+mroongaのインストール
さてさて、今回の本目的である
MySQLのレプリケーション環境構築をしていきます。
デフォルトではMySQL5.1がセットアップされてあるため依存関係でMySQL-sharedは一発でインストールできないらしい。
そのためまずはshared-compatをインストール
# yum localinstall http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.12-2.el6.x86_64.rpm
次にほかのすべての物をインストール
# yum localinstall http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-{shared,server,devel,client}-5.6.12-2.el6.x86_64.rpm
※MySQLのUPDATEがあった場合URLが有効じゃないかも、なのでその時はURL置き換えてください。
これですべてのMySQLパッケージがインストールされました
次はMySQLの初期設定
MySQLサービスを起動してパスワード設定します。
5.5まではrootのパスワードが設定されていたみたいだけど
5.6からはランダムなパスワード文字列が設定されるみたい
# service mysql start # cat /root/.mysql_secret # The random password set for the root user at Fri Jun 21 22:19:08 2013 (local time): oNKuNNrg
この場合oNKuNNrgがパスワードみたいね
早速下記コマンドで変更する
# mysql -uroot -p mysql> SET PASSWORD FOR root@localhost=PASSWORD('****'); mysql> exit
これで準備はOKあとはDB作るなりCREATE TABLEするなり
SQL文打ってけばOK
-
-
- mroongaのインストール方法を追加---
-
InnoDB FTSの全文検索じゃあ3000万レコード超えたあたりから
インデックスが重くて使い物にならなかったのでmroongaをインストールしてみる。
# rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm # yum install mecab mecab-devel mecab-ipadic --disablerepo=* --enablerepo=groonga # yum install groonga-libs groonga-tokenizer-mecab groonga-normalizer-mysql --disablerepo=* --enablerepo=groonga # yum localinstall http://y-ken.github.io/package/centos/6/x86_64/mysql56-mroonga-3.05-1.el6.x86_64.rpm # mysql -uroot -p mysql> INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so'; mysql> CREATE FUNCTION last_insert_grn_id RETURNS INTEGER SONAME 'ha_mroonga.so'; mysql> CREATE FUNCTION mroonga_snippet RETURNS STRING SONAME 'ha_mroonga.so'; mysql> CREATE FUNCTION mroonga_command RETURNS STRING SONAME 'ha_mroonga.so'; mysql> SHOW PLUGINS; mysql> SHOW VARIABLES LIKE 'mroonga_%';
mroongaのビルドされたものを下記サイト様から頂きました。
http://y-ken.hatenablog.com/entry/how-to-install-mysql5.6.x-with-mroonga-for-centos6
CentOS6.4 ネットワークの設定
VMwareでCentOSをインストールすると最初からネットワークの設定がされていて
インターネットにも接続できるのですがIPアドレスが固定じゃないので固定にしていきます。
まぁ、いろいろ設定ファイル書き換えたり四苦八苦したのですが実は特に設定ファイル書き換える必要なくて
ルータの設定で一発だったw
CentOS6.4は最初はDHCPでリースされる設定になっているのでそれをvmware player側とルータ側で
コントロールしてあげればいい話っぽい
まず、vmware playerの管理>仮想マシン設定でネットワークアダプタの設定をブリッジに変更する
そうすることでルータ側からゲストOSが直接認識されるようになる。
あとはルータのDHCPリースでIPアドレスを手動割り当てすればOK
ちなみに手動割り当て時にMACアドレスが必要なので下記コマンドでゲストOSのMACアドレスを知ることが出来る(HWaddr部分)
$ /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:F2:72:90 inet addr:192.168.11.10 Bcast:192.168.11.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fef2:7290/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3874 errors:0 dropped:0 overruns:0 frame:0 TX packets:1893 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4498867 (4.2 MiB) TX bytes:175079 (170.9 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:30 errors:0 dropped:0 overruns:0 frame:0 TX packets:30 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2328 (2.2 KiB) TX bytes:2328 (2.2 KiB)
もしくは
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="dhcp" HWADDR="00:0C:29:F2:72:90" IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="d31eb4f1-38e2-4444-88bf-16a5679408e7"
DNS設定はめんどくさいから暇なときにでも設定w
CentOS6.4 英語キーボードを日本語キーボードへ設定変更
先日に続いて今度はキーボードの設定です。
さっそくキーボードの設定ファイルの中身見てみましょう。
# cat /etc/sysconfig/keyboard KEYTABLE="us" MODEL="PC105+inet" LAYOUT="us" KEYBOARDTYPE="pc"
見事に英語設定です。
まぁ、あたりまえだけどw
じゃあ次はviで下記に書き換えます。
# vi /etc/sysconfig/keyboard KEYTABLE="jp106" MODEL="jp106" LAYOUT="jp" KEYBOARDTYPE="pc" # cat /etc/sysconfig/keyboard KEYTABLE="jp106" MODEL="jp106" LAYOUT="jp" KEYBOARDTYPE="pc"
うんあっさり終わった。
- その他
VMでGUI画面で操作しているのでいちいちスリープなるのがめんどくさいからOFFにした
システム>設定>スクリーンセイバーからごにょごにょっとやった
まずはCentOS6.4 日本語化
どうもこんにちわyuuです。
個人でAndroidClient+RMIClient+Webapp+MySQLのアプリケーション開発してます。
なんかWindowsで開発してデバックしてるとVMの問題とか
実際の実行速度とか見極めにくいのでテスト環境として
VMwareでLinuxインストールはじめてみました。
とりあえずMySQLはレプリケーション利用して更新系と参照系にわけるので
MasterDBとSlaveDBのServerをそれぞれ仮想化して作っていきます。
とりえあずLinuxド素人が本番環境設定用に残す忘備録ですがどうぞよろしく。
まずはとりあえずCentOS6.4をさくっとインストール
で、ログインしたらまず、rootへ
$ su
次に日本語化用のパッケージをまとめてインストール
# yum groupinstall "Japanese Support"
何回か[y/n]聞かれるからy[Enter]
Complete!でパッケージインストール完了
Linuxってこんなコマンド一つでインストールできるのか楽すぎるw
次は設定ファイルを書き換え
対象ファイルは「/etc/sysconfig/i18n」で中身は下記の通りになってるはず
cat /etc/sysconfig/i18n LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16"
となっているので一行目をLANG="ja_JP.UTF-8"に変更する
# vi /etc/sysconfig/i18n # source /etc/sysconfig/i18n # echo $LANG jp_JP.UTF-8
再起動したら完了!
-追記-
完了のはずがなぜか反映されていなかった
最初の画面はたしかに日本語だけどログインすると英語...
ユーザー固有の設定を行ったら日本語環境になった。
$ vi ~/.bash_profile #最終行に追加 LANG=ja_JP.UTF-8 export LANG $ source ~/.bash_profile $ echo $LANG ja_JP.UTF-8
OSインストールしょっぱなから躓いた・・・
日本語キーボードの設定まだだから記号がjp106と違い非常に扱いにくかった
でもしばらく触ってるうちに変な打ち方おぼえちまったぞw
今日はとりあえずここまでにして日本語キーボードの設定は明日にしよう