MySQL 5.6 on Ubuntu 14.04ã§å°ãã¯ã¾ã£ããã¨
3å·ã§ãã
ãªã³ãã¬+CentOS6ç³»ãªã¤ã³ãã©ãã¡ããã¡ãããã¦ãã®ãä¸å¹´ãããåã§ãã£ããä¼ç¤¾è¾ãã¦ãä»ã®ä¼ç¤¾ã§ä¹ ã ã«MySQLæ§ç¯ããããããããã¡ãã£ã¨ã¯ã¾ãã¾ãããç§ã«Ubuntuã®ç¥è¦ãã»ã¨ãã©ç¡ãã£ãã¨ããã®ãåå ã§ããããã®ã¡ã¢ã«ãªãã¾ãã
ã¤ã³ã¹ãã¼ã«æã«MySQLã®ã¦ã¼ã¶ãã¹ã¯ã¼ããèãããªãããã«ãã
é常ubuntuã«aptã§MySQLãã¤ã³ã¹ãã¼ã«ããã¨rootã®ãã¹ã¯ã¼ãã©ãããï¼ã¨ãã¤ã³ã¿ã©ã¯ãã£ããªããã¨ããè¡ããã¾ãããããã·ã§ã«ã¹ã¯ãªãããchefãªã©ããã¤ã³ã¹ãã¼ã«ããå ´åããããã¹ããããããã§ããããã§ä¸è¨ã®ããã«DEBIAN_FRONTEND=noninteractiveãã³ãã³ãã«æ¸¡ãã¨ã¹ããããããã¨ãã§ãã¾ãã
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server-5.6 mysql-client-5.6 libmysqlclient-dev
ããã¼ã³ã§ããã¾ããUbuntuåãä½ãã¦ã¯ã¾ã£ãäºæã§ãã
mysqldãè½ã¡ãªã
ä¸è¨ã¤ã³ã¹ãã¼ã«ç´å¾ãps -ef | grep mysql
ã£ã¦ããã¨mysqldãåå¨ãã¦ãã¾ããã§ããã®ããã»ã¹ãªã®ã§ããã/etc/init.d/mysql stop
ã£ã¦ãã£ã¦ãè½ã¡ã¦ããã¾ãããkillãã¦ããã¡ã§ãã
service mysql stop
ã£ã¦ããå¿
è¦ãããã¾ããæ®æ®µserviceã³ãã³ãã»ã¨ãã©ä½¿ããªãã®ã§è§£æ±ºããã¾ã§çµæ§æéãé£ã£ã¦ãã¾ã£ã...ãserviceã³ãã³ãã§è½ã¨ãããã¨ã¯/etc/init.d/mysql stop
ã/etc/init.d/mysql start
ãå¹ãããã«ãªãã¾ãã
File 'mysql-bin.index' not found (Errcode: 13 - Permission denied)ã¨ãè¨ããã
ãã¼ã¿ãã£ã¬ã¯ããªã®å ´æãå¤ãããã§ãããããããããã«å½ããã¾ããããã¼ã¿ãã£ã¬ã¯ããªå¤ããå ´åã¯æ³¨æã§ãããåå ã¯/etc/apparmor.d/usr.sbin.mysqld
ã¨ãããã¡ã¤ã«ããã£ã¦ã§ãã(ç¥ããªãã£ã)ããã®ãã¡ã¤ã«ã«ä¸è¨ã追è¨ãã¾ãã以ä¸ã®ä¾ã¯ãã¼ã¿ãã£ã¬ã¯ããªã/db/mysqlã«ããå ´åã«ãªãã¾ãã
/db/mysql/ r, /db/mysql/** rwk,
ããã¦sudo service apparmor reload
ã§è§£æ¶ãã¾ãã
[ERROR] Function 'innodb' already existsããã°ã«è¨é²ããã
http://www.faqssys.info/error-function-innodb-already-exists/
ããã§ããããã¶ããã°ã ã¨æãã¾ããmysql.plugin
ãã¼ãã«ã«å
¥ã£ã¦ããinnodbãã©ã°ã¤ã³ããªãããã£ã¦æå³ã§ããä»ã«ãFEDERATEDããªããã¨ããããããã°ã«åºã¾ã...ã
ããã«ã¤ãã¦ã¯ããããinnodbã¯ãã«ãã¤ã³ããããã®ã使ã£ã¦ã¾ãã®ã§ãmysql.pluginãã¼ãã«ã§ä¸è¦ãªãã®ãæ¶ãã¾ããããã®ã¨ã©ã¼ãã°ãåºã¦ãã¦ãåä½ã«å½±é¿ã¯ç¡ããããªã®ã§ãããERRORã£ã¦æåãæ°æã¡æªãã®ã§ã
[ERROR] InnoDB: Tablespace open failed for '"mysql"."innodb_index_stats"', ignored.ããã°ã«è¨é²ããã
http://bugs.mysql.com/bug.php?id=67179
ããã§ããã該å½ã®ãã¼ã¸ã§ã³ã§ã¯ãªãã®ã§ãã...ãããçºçãã¾ããã
http://bugs.mysql.com/file.php?id=19725&bug_id=67179&text=1
ãã¡ãã®è¦é ã«å¾ã£ã¦å¾ã£ã¦ãã¼ãã«ãåä½æãã¦MySQLãåèµ·åãã¦å®äºã§ãã
以ä¸ã§ãã
ncã³ãã³ãã§TCP/UDPãã¼ãã®çé確èªããã
3å·ã§ãã
ãã®ã·ãã®ããã¦ããã¨è¬ã®åã«ãã£ã¦éä¿¡ãé®æããã¦ã¨ã¦ãå°ããã¨ãããã¾ãã ç§ã®ç¾å ´ã§ã¯fluentdãéç¨ãã¦ããã®ã§ãããã¤ãå ã»ã©è»¢éå ãã¹ããã転éå ãã¹ãã«ãã°ã転éã§ããªããªã£ã¦ãã¾ãã¾ããã
fluentdã¯ãã°ã®åãå£ã¨ãã¦24224çªãã¼ããTCPãUDPåæ¹ã§ãªã¹ã³ããã®ã§ãã®ãã¼ãã調æ»ãã¾ãã
ã¾ãTCP24224ãã¼ãã®èª¿æ»ã§ããtelnetãç¨ããã®ãå®çªã§ããæ²é¡ã®ncã³ãã³ãã§ãã§ããã®ã§ä»åã¯ncã³ãã³ãã§ãã£ã¦ã¿ã¾ãã
次ã®ããã«ãã¦è»¢éå ãã¹ãã§24224çªãTCPã§ãªã¹ã³ãã¾ãã
nc -l -p 24224
ããã¦è»¢éå ãã次ã®ããã«hello tcpã¨ããã¡ãã»ã¼ã¸ãéãã¾ãã
echo "hello tcp" | nc TARGET_HOST 24224
çéãã§ããã°è»¢éå ã«hello tcpã¨ããã¡ãã»ã¼ã¸ã表示ããã¾ãã
ç¶ãã¦UDP24224çªã調æ»ãã¾ããncã³ãã³ãã«-uãã¤ãããã¨ã§UDPã§ãªã¹ã³ãããã¨ãã§ãã¾ãã
nc -l -u -p 24224
転éå ãã¹ãããåãã-uãªãã·ã§ã³ãã¤ãã¦UDPã§ã¡ãã»ã¼ã¸(hello udp)ãéä¿¡ã
echo "hello udp" | nc -u TARGET_HOST 24224
UDP24224çªã®çéãã§ããã®ã§ããã°ã¡ãã»ã¼ã¸ã表示ããã¾ãã
ç§ã®ç°å¢ã§ã¯ãã¡ã§ãããã©ãããUDP24224çªã«è¬ã®åãåããããã§ããçªç¶ã§ããiptablesãåãã¦ãªããã
å°ã£ããªããã¨æããªãããã®ããã°ãæ¸ãã¾ããã
追è¨
ä»ãfluentdã¯heatbeat_type tcpãè¨å®ããã°udp空ãã¦ãªãã¦ããããã ããã¨æãã¦ãããã¾ããããªãçªç¶udpããã¡ã«ãªã£ããä¸æè°ãªãã§ãããå°ããªãã¦æ¸ã¿ããã§ãã
Linuxã®ãã¼ãé³ãé³´ãããªãããã«ãã
3å·ã§ããä»å¹´ãæ®ãã¨ãããã¨356æ¥ãããã§ããããã°ã£ã¦ããã¾ãããã
- OS
vim /etc/inputrc #set bell-style none ã®ã³ã¡ã³ãã¢ã¦ããã¯ããã¦ä¸åº¦ãã°ã¢ã¦ããã
- vim
~/.vimrc set visualbell
ã£ã¦ããã
2014å¹´ã®ã¾ã¨ã
『飲んだ勢いで俺たちのブログを開設しました』
ã¨ããã®ããã°ãå§ã¾ã£ã¦ãã1ã¶æããã¡ã¾ããã
ä»åã¯ä»å¹´æå¾ã®è¨äºã¨ãããã¨ã§ãä»å¹´ã®ç·ã¾ã¨ãçãªãã¤ã§ãã
â»ã¡ãªã¿ã«7人ã§ãé±ä¸å½çªå¶ã§æ¸ãã¦ã¾ããã
è¨äºæ°ãã¯ã¦ãæ°ãã¢ã¯ã»ã¹æ°ï¼
1ã¶æã§ã©ãããè¨äºãã©ã®ãããã®ã¦ã¼ã¶ã«å±ããã®ãã«ã¤ãã¦ã§ãã
ããã§ã¯ã¾ãã
ç·è¨äºæ° 28ï¼
- 飲んだ勢いで俺たちのブログを開設しました
- rpmのconfigfilesクエリ
- Pingdomで外形監視
- Sinatra の configure で書く必要がないかも知れない項目
- GoConveyでerror型をテストする時に気をつける事
- crontabの曜日の指定
- 俺とおまえとawk
- 俺とおまえとperlワンライナー
- lessの--no-initオプション
- BigQueryのunixtimeなカラムをdateに変換する
- (tmux) ペインを独立したウィンドウに変える
- ELBのIPアドレス個数でサービス規模は推定できるのか
- Sinatraライクなgin-gonicで手軽にGolangを試す。
- scpとrsyncでパスのケツスラッシュのありなしの挙動を毎回迷うのでメモ
- test-unitさえあればご飯大盛り三杯はイケる
- はてなAPIとS3を使って隊員ごとのブクマ数をブログパーツ化してみた
- Vagrantのshell provisionerはシェルスクリプト以外も指定出来る
- gentooでびっくりしたこと
- Ruby の Object Data Dumper
- Travis CIでMongoDB 2.6系を使う設定
- catで複数行の文字を入力してファイルへ出力
- Macでお手軽にリモートマシンからのコマンド終了通知
- CloudFront+S3の画像配信にリサイズ機能を追加する
- 例えばディレクトリの作成にinstallコマンドを使う
- mysqldumpで欲しいレコードだけ抽出する
- ちょっとしたファイルの転送に便利な SimpleHTTPServer
- Golang + mgoを使う時にクエリはbson型にするんだよ、というお話
- DHCP だけど DNS サーバを手動で指定したい
ç·ã¯ã¦ãæ° 671ï¼ï¼
ããã¦
ç·ã¢ã¯ã»ã¹æ° 12000ï¼ï¼ï¼
åºååå ¥ ç¡ãï¼ï¼ï¼
ããã¼ããã£ããããã¾ãããã
1ã¶æã«ãã¦ã¯ã¾ãã¾ããããªãã§ããããã
ç¶ãã¦ããã¡ãã£ã¨ç´°ããè¦ã¦ã¿ã¾ãã
ã¯ã¦ãæ°ã®TOP10ã¯ãããªãã¾ããã
- 俺とおまえとawk - 俺たちのブログ
- scpとrsyncでパスのケツスラッシュのありなしの挙動を毎回迷うのでメモ - 俺たちのブログ
- CloudFront+S3の画像配信にリサイズ機能を追加する - 俺たちのブログ
- Ruby の Object Data Dumper - 俺たちのブログ
- (tmux) ペインを独立したウィンドウに変える - 俺たちのブログ
- test-unitさえあればご飯大盛り三杯はイケる - 俺たちのブログ
- ELBのIPアドレス個数でサービス規模は推定できるのか - 俺たちのブログ
- 例えばディレクトリの作成にinstallコマンドを使う - 俺たちのブログ
- mysqldumpで欲しいレコードだけ抽出する - 俺たちのブログ
- Sinatraライクなgin-gonicで手軽にGolangを試す。 - 俺たちのブログ
ä¸ãã7å·ã6å·ã1å·ï¼ï¼ï¼
è¨äºãã¨ã®ã¢ã¯ã»ã¹æ°åå¸ãã ãããåãã§ãã
awkã¨ã±ãã¹ã©ã®è¨äºãç¹ã«äººæ°ã§ããã
æ¸ãã¦ã人ããã£ããã°ã£ãã ããããããå¤ãããããã¼ã«ã®éç¨ç³»TIPSãå¤ãã§ãããã
ã¿ããªãã£ã¨Dockerã¨ãHubot+Slackã¨ãã¿ãããªãªã·ã£ã¬è¨äºæ¸ããã
åéå¡ãã¨ã®ã¯ã¦ãæ°ã¯ãããªãã¾ããã
- 1å· : 77
- 2å· : 24
- 3å· : 34
- 4å· : 81
- 5å· : 24
- 6å· : 189
- 7å· : 242
次ã®é£²ã¿ä¼ã¯2å·ã¨5å·ã®ãªã´ãªã§ããã
ã¾ã¨ã
ã¨ããããã§ããã®1å¹´ã®ããã°ã¾ã¨ãã§ããã
ã¾ããªãã¨ãã£ã¦ããéå§ãã28æ¥æ¬ ãããã«æ¸ããã®ããããã§ããã
ãã£ã±å¿åãè¯ãã£ãã®ããªã
æåã¯ååãåºããã«æ¸ãã£ã¦ãªããä¸æ¯ã ãªã¨æãã¾ãããã
ãã®ã¶ããæéç¡ãã£ããããããã¿æãã¤ããªã£ãããã¦ãã
ããããªãã§ãããããæ¸ãã¡ã¾ãï¼ã
ã¨ããå²ãåããããããã£ãæ°ããã¾ãã
ãã£ã±ããã°ã§ä¸çªå¤§äºãªã®ã¯ã¨ã«ããæ¸ããã¨ã§ãããã
ã¢ã¯ã»ã¹æ°ãã¯ã¦ãæ°ããã£ããããæ°åã«ãªã£ã¦è¯ãã£ãã§ãã
ã¨ããæãã§ããï¼ï¼ï¼
ããã§ã¯ã¿ãªãããä»å¹´ã¯ãç²ãæ§ã§ããã
ä»å¾ã©ãããå½¢ã§ç¶ãã¦ãã®ãã¯è¬ã§ãããæ¥å¹´ããããããé¡ããã¾ãï¼
DHCP ã ãã© DNS ãµã¼ããæåã§æå®ããã [Linux]
ãã£ã調ã¹ã¦ããã¨ã®ã¡ã¢ã
Vagrant 㧠Linux ãã·ã³ãèµ·åããã¨ãã«ããããã¯ã¼ã¯è¨å®ã NAT (+ DHCP) ã«ããç¶æ ã§ãDNS ãµã¼ãã¯ç¤¾å ã®ãã¤ã使ãããã£ãã æ®éã« /etc/resolv.conf ãç·¨éãã¦
+ nameserver x.x.x.x
ã¨ããã¦ãã/etc/init.d/network restart
ã¨ããã¦ãããã¯ã¼ã¯ãåèµ·åãã㨠DHCP (æ£ç¢ºã«ã¯ dhclient-script) ã«ãã£ã¦ã/etc/resolv.conf ãæ¸ãæãããã¦ãã¾ãã
$ cat /etc/resolv.conf ; generated by /sbin/dhclient-script nameserver 10.0.2.3
VirtualBox ã® 10.0.2.3 ãæå®ããããããããªãã¨ããããã¨ãã話ã
æ¹æ³ï¼ï¼PEERDNS=no ã使ã
/etc/sysconfig/network-scripts/ifcfg-eth0 ã« PEERDNS=no ã追å ããã¨ãDHCP 㧠/etc/resolv.conf ãæ´æ°ãããªãããã«ã§ããã
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp PEERDNS=no
ãªã®ã§ããã¨ã¯ /etc/resolv.conf ãæåã§ããã£ã¦è¯ã
$ cat /etc/resolv.conf nameserver x.x.x.x nameserver y.y.y.y
æ¹æ³ï¼ï¼DNS1/DNS2 ã使ã
DNS1/DNS2 ãæ¸ãã¦ç½®ã㨠network ãåèµ·åããæã«ã/etc/resolv.conf ã«è¿½è¨ãã¦ãããã
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp DNS1=x.x.x.x DNS2=y.y.y.y
$ sudo /etc/init.d/network restart $ cat /etc/resolv.conf ; generated by /sbin/dhclient-script nameserver x.x.x.x nameserver y.y.y.y
ifcfg-eth1 ãããå ´åã©ããªãããï¼ã¨æã£ã¦è©¦ããæãã©ãããå¾åã¡ããããã ã
ãããã«
PEERDNS=no ãããããããªãããã£ã¨ãã¾ãæ¹æ³ããã°ãããã¦ã¡ãã
Golang + mgoã使ãæã«ã¯ã¨ãªã¯bsonåã«ãããã ããã¨ããã話
ã¡ãªã¼ã¯ãªã¹ãã¹ã5å·ã§ãããããªæéã«ããã°æ¸ãã¦ããæç¹ã§ãå¯ãä¸ããã
ãããããã¿ãç¡ããªã£ã¦æ¥ãã®ã§ãæ¬å½ã«å°ãã¿ã§ã
Golang + mongodbãå©ç¨ããæã«mgo
mgo - Rich MongoDB driver for Go
ã¨ãããã©ã¤ãã使ã£ã¦ãããã§ãããã¯ã¨ãªãæããæã«ãã¿ã«stringã§
var result ResultEntity query := "\"delete_flg\": 0" err := session.Find(query).All(&result)
ã¿ããã«æ¸ãã¦ãã¯ã¨ãªãåãã¦ããã¾ãããï¼ããªãè²ã 端æã£ã¦ãã¾ãã»ã»ã»ãï¼
ã©ããããã¨è¨ãã¨ä¸åº¦bsonåã«å ¥ããå¿ è¦ããããããã«ä¸ã§ãã¹ãããã¦ãããããªå ´åããããbsonã«ããå¿ è¦ãããã¾ãã
var result ResultEntity query := bson.M{"test": testid, "hoge_flg": 1, "fuga_flg": 0, "time_start_at": bson.M{"$lte": now}, } err := session.Find(query).All(&result)
ã¿ããã«æ¸ãã¨åãã¾ããã¨ããã話ã§ããã¾ããæ®éã«ã¡ããã¨ããã¥ã¡ã³ãèªãã 人ãªãè¿·ãã¾ãããã¡ãªã¿ã«åã¯åãã®é ã«ä»åã®ä¾ã§è¨ãã¯ã¨ãªå ã®ã{"$lte": now}ããbsonã«ããªãã¦ããããããè¨æ¶ãããã¾ãã
以ä¸ãã¡ãªã¯ãªã§ããï¼
ã¡ãã£ã¨ãããã¡ã¤ã«ã®è»¢éã«ä¾¿å©ãª SimpleHTTPServer
ãµã¼ãéã§ã¡ãã£ã¨ãããã¡ã¤ã«ã®åã渡ããããããã¨ã¯ããããã¨æãã
ããããã¨ãã«ã¯ scp
ã¨ã rsync
ã¨ãã使ã£ããããã¨æãã
ã ãã© ssh
ããã®ãµã¼ãéã§è¨±å¯ããã¦ãªãã£ãããã±ãã¹ã©ãã·ã¥ã¨ããæ°ã«ãããããªãã¦ã¯ãªããªãã£ãããã¦æå¤ã¨ãã«ãã
ãã¨ã¯ netcat
ã¨ããããã©æ¥å¸¸çã«ä½¿ããªãããæ¯å使ãæ¹èª¿ã¹ããããªãã¦ã¯ãªããªãã¦*1ãã«ãã
ãã㧠SimpleHTTPServer ã§ãã
ãã¶ãã¿ããªç¥ã£ã¦ã¦æ®éã«ä½¿ã£ã¦ãããããªãããªã¨æã£ããã©ããã¾ãã¾ååã®ããããã 3 人é£ç¶ã§ç¥ããªãã¦ä¿ºãæãã¦ãããã¿ãããªæ©ä¼ããã£ããããã®ããã°ã«ãæ¸ãã¦ãããã¨æãã
SimpleHTTPServer ã¨ã¯
python
ã®ç°¡æWEBãµã¼ãã
ã³ãã³ãã©ã¤ã³ããèµ·åããã¨ãã«ã¬ã³ããã£ã¬ã¯ããªä»¥ä¸ã DocumentRoot
ã«ãªãã
èµ·åæ¹æ³
ãããã®å ´åã第ä¸å¼æ°ã§ä»»æã®ãã¼ãçªå·ãæå®ã§ãããããã©ã«ã㯠8000
- python 2 ç³»
$ python -m SimpleHTTPServer
- python 3 ç³»
$ python -m http.server
ã§
éããããã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã« cd
ã㦠SimpleHTTPServer
ãèµ·åããã°ãåãåãããããµã¼ãå´ãã wget
ãªã©ã§ã«ã³ã¿ã³ã«ãã¡ã¤ã«ãåå¾åºæ¥ããè¶
便å©ã
ssh
ã§ãããã¨ãã±ãã¹ã©ãã·ã¥ã¨ããæ°ã«ãããããªãã¦ããããã©ã£ãé©å½ã«ç©ºãã¦ã¦çéãåãããã¼ããããã°ããã ãããæé«ã
*1:ãããã ãã§ããããããã§ããã