今回は、MySQL5.7でrootユーザのパスワードを忘れてしまったときに再設定を行う手順がこれまでのバージョンといくつか異なる部分があったので備忘録として投稿します。 環境 MySQL : 5.7.11 CentOS : 7.1 1. MySQLにパスワード入力なしでログインできるよう設定 はじめに、パスワード入力なしでMySQLにログインできるようにします。 パスワード入力なしでログインできるように /etc/my.cnf に skip-grant-tables を追加します
はじめに mysqlのsocketエラーでrailsアプリが起動できない mysqlが起動できない mysql起動で「The server quit without updating PID file」 辺りを試してみてもMySQLが起動できなくなったので備忘録的に。 ちなみに発生したエラーメッセージは次の通り。 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) ... /tmp/mysql.sock がない時に発生した ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38) ... /tmp/mysql.sock を作った後
追記: Rails4.2.5以降では以下の問題は解消しています Error log: but the gem is not loaded??? な、なぜ... /Users/user/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/connection_specification.rb:177:in `rescue in spec': Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to yo ur Gemfile (and ensure its version is at the minimum requi
Full MySQL Support Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL databases. Perfect Web Development Companion Whether you are a Mac Web Developer, Programmer or Software Developer your workflow will be streamlined with a native Mac OS X Application! Flexible Connectivity Sequel Pro gives you direct access to your MySQL Databases on local and remote se
前回、Windows環境(非Ruby環境)からCentOS上のRails環境へMySQLデータを移行したのですが、文字化けが発生しました。原因調査のため、Rails環境のコンソールで日本語データを登録できるか確認しました。 ●Railsコンソールでデータ登録 2.0.0-p247 :003 > chrt=Chrt.new(id: "1234",name: "試験用データ") 2.0.0-p247 :004 > chrt.save : (0.1ms) ROLLBACK ActiveRecord::StatementInvalid: Mysql2::Error: Incorrect string value: '\xE8\xA9\xA6\xE9\xA8\x93...' for column 'name' at row 1: INSERT INTO `chrts` (`id`, `name`)
先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLとMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ
Vagrant(CentOS6.5)にRails4.1 + Nginx + Unicorn + MySQL環境でRailsを起動する。RubyRailsMySQLnginxVagrant Vagrant(CentOS6.5)にRuby2.1.2 Rails4.1をインストールの続き Nginxインストール 今回はyumから $ sudo yum install -y nginx MySQLインストール 同じyumから $ sudo yum install -y mysql mysql-server mysql-devel ついでにデフォルトで立ち上げる設定に RailsInstalll インストールするディレクトリへ $ mkdir /path/to/dir/ && cd /path/to/dir/ budnlerで管理したいので最初にインストール $ gem install bundle
MySQLでgroup byした結果をカウントする テスト用テーブル +--------------------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+--------------+------+-----+---------+-------+ | pref_cd | char(2) | NO | PRI | | | | pref_name | text | YES | | NULL | | | city_cd | char(5) | NO | PRI | | | | city_name | text | YES | | NULL | | | town_street_cd
な、なんと person_diaryはインデックスが適用されずにフルスキャンされ(1行目のkeyがNULL) 逆にpersonはid列に設定してあるプライマリキーが適用される(2行目のkeyがPRIMARY) という二つの謎な現象が発生しました。 そもそもpersonはnameカラムに対してLIKE検索しているのに、id列のプライマリキーが効いちゃうのは全く納得いきません。なぜ、どうしてこんなことが起こるのでしょう? 原因 私がMySQLに期待していた動きとしては ①サブクエリを実行してperson.idのリストをメモリ中に作成 ②person.person_idに張られているインデックスを使って検索 というところでした。 期待通りに動いてくれなかったのには二つのMySQLの特性が関係していました。 特性① サブクエリを含むSQLは外側から先に実行される MySQLの場合、サブクエリを含む
よくMySQLはサブクエリが弱いと言われるが、これは本当だろうか?半分は本当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし
最近chefにハマってます。 いろんなレシピを書いて勉強中です。 で、mysql-5.6をchefでインストールしようとしたらはまってしまいました。(泥沼に… CentOS6標準のmysql-5.1と同じノリでやったら苦労したのでメモ。 mysql-5.1のとき こんな感じでレシピ書いてました。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 %w(mysql-server mysql mysql-devel).each do |pkg| package pkg do action :install end end template '/etc/my.cnf' do source 'my.cnf.erb' owner 'root' group 'root' mode 64
MySQLのバージョン インストールされたMySQLのバージョンは以下のようになります。 名前 バージョン ダウンロード元 my.cnfサンプル 以下のサンプルを参照して、my.cnfファイルを作成してください。 # このファイルは MySQL 5.6を基準として作られてあります。 # http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html を参照しました。 [mysqld] ##-------------------------------------------------------------------- # mysqldの基本設定 ##-------------------------------------------------------------------- # id は 1 から 2^
CentOS7.1の64bit版にMySQL5.6.25をRPMからインストールする方法を以下に示します。 ※CentOS6 64bitをご使用の場合は、当サイトのCentOS6 64bitにMySQLをRPMからインストールのページをご覧ください。 CentOS7になり、標準リポジトリからMySQLはインストールできなくなっています。MySQLの公式サイトからRPMをダウンロードすることで、新しいバージョンのインストールを行うことができます。 ※MySQLのyumリポジトリを使用して、最新バージョンをインストールすることも可能です。詳細は当サイトのCentOS7 64bitのyumリポジトリにMySQLを追加し、最新バージョンをインストールのページをご覧ください。 依存関係にあるパッケージで、CentOS7.1の標準リポジトリからインストールできるものについては、特別なものでない限り省略
chefでサーバーの構築をプログラマブルにやるっていうのはもうだいぶ昔から定番になってきています。 今回は特にMySQL 5.6のインストールをchefで行う場合のケースについて書いていきます。 MySQL5.6はインストールがなかなかめんどくさく、chefを使わなくても結構大変です。 だがしかし、度重なる試行錯誤の末、ついにMySQL5.6をchefでインストールする決定版が出来たため、公開しようと思います! ただし、今回はEC2 + RDS等、webサーバーとDBサーバーを分けて、かつEC2(webサーバー)のみにMySQL5.6をインストールする場合のことを書いていきます。 ちなみにserverはCentOSを想定していますのでubuntuの方はすみません そもそもchefとは MySQL5.6を単純にインストールする場合 MySQL5.6をchefでインストールする まとめ そもそ
さてと、ありがちな下記のようなテーブルを作ってみます。ちなみに 5.1.45 で試してます。 DELIMITER ; DROP TABLE IF EXISTS diary; CREATE TABLE diary ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `subject` varchar(64) NOT NULL, `content` text NOT NULL, `created_on` datetime NOT NULL, `updated_on` datetime NOT NULL, PRIMARY KEY (`id`,`updated_on`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 PARTITION BY RANGE ( to_days(updated_on)) ( PARTITION p
こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL
mysqlには、レンジパーティションってものがありまして、うーなんでしょ?ある規則にしがったデータをおのおののデータファイルに振り分けてくれる機能です。 ・データ領域が分割されるため、大量のデータを処理することによる性能上のボトルネックの発生を抑えられる ・MyISAMなど、テーブルサイズに上限がある場合でもそれ以上のデータを格納することが可能になる といった点です、少ないデータですとこれといった利点はないかと思いますが、数百万規模データですと、このデータ分割が、大きな効果を呼ぶ。。かもしれないですし、そうでないかもしれません(汗 ただ、はっきりといえるのが、ある規則に従ったデータを、SELECTする際にそのSELECTで必要の無いデータまで、mysqlがシークする必要がないっていったところでしょうか?ただし、データをまたぐ検索が発生する場合は、パフォーマンスは非パーティションテーブルと比
任意のSQLクエリで取得した結果の差分から、insert/update/deleteイベントを検知するプラグインをリリースしました。イベント検知だけでなく、レコードの内容と共にElasticsearch/Solrへ同期を行う、Outputプラグインも同封しています。 これはあえてバイナリログ(MySQLBinlogAPI)は使わずに、SQLクエリの実行結果の差分を見てinsert/update/deleteイベントを検知します。 そのため、純粋なテーブル同期だけでなく、任意のJOINやVIEWテーブルを元とした差分同期処理が実現できるのが特徴です。 y-ken/fluent-plugin-mysql-replicator https://github.com/y-ken/fluent-plugin-mysql-replicator http://rubygems.org/gems/flue
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く