Original post: http://anothermysqldba.blogspot.com/2014/03/planning-mysql-downtime-and-other.html
我々は、すべての中にMySQLが安定しており、再起動することなく、非常に長い時間実行できることを知っている。
時々、我々はいくつかの変数を調整したりもアップグレードのためにそれを再起動する必要があります。
いくつかは彼らのユーザが眠っているので、一晩これを実行するのに最適な時期であることを前提としてい可能性があります。
しかし、多くの場合、一晩もバックアップと異なるデータマイニング等を行うことができ、他のcrontab関連のスクリプトが含まれてい
…
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
プライマリキーを使った1:1関連でカラム数の多いテーブルを分割する - Hidden in Plain Sight
プチ・デザインパターン的なやつ、僕もよくやってます。
で、運用エンジニア的にはデータの不整合を起こしうる要因はできる限りDB側の制約でも防ぎたいので、このusersとprofilesの場合だと、usersで自動採番されたidをprofilesでも使うのでprofilesの自動採番する機能は残しておくと事故るリスクがあるので落としたいわけです。
なので、僕はいつもこんな感じでmigrationを書いてます。
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :email, …[さらに読む]
February 26, 2014 By Nilnandan Joshi
Percona Supportのエンジニアとして現在関わっている案件の中で、ALTER TABLEの進捗状況を確認する方法について顧客から尋ねられた。実は、MySQL 5.5以前は、テーブルに対するALTERの実行状況を本番環境で確認するのは少々難しく、(数百万行もあるような)巨大なテーブルではなおさらだった。これは、リビルドとテーブルのロックを伴うため、パフォーマンス低下だけでなくユーザ影響もあったためだ。とはいえ、ALTERを始めてしまえば、それがいつ終わるのかを知るのはとても重要なことだ。インデックスを作成している間、 …
[さらに読む]
データは 日々の覚書:
全文検索のテスト用にtweets.csvを食わせるSQL で書いた、わたしのツイートをテーブルに突っ込んだもので試してみました。
トークナイザーとノーマライザーはデフォルトのTokenBigram, NormalizerMySQLGeneralCIにそれぞれなっています。
$ /usr/groonga/4.0.0/bin/groonga /usr/mysql/5.6.16/data/mroonga.mrn[さらに読む]
> table_list --output_type tsv
0 1393927353.03097 0.000258684158325195
"id" "UInt32"
"name" "ShortText"
"path" "ShortText"
"flags" "ShortText"
"domain" "ShortText"
"range" "ShortText"
"default_tokenizer" "ShortText"
"normalizer" "ShortText"
259
"tweets"
"/usr/mysql/5.6.16/data/mroonga.mrn.0000103"
"TABLE_PAT_KEY|PERSISTENT" …
ちょこちょこ使うi_s関連のSELECTステートメント。
やる前にSET GLOBAL innodb_stats_on_metadata= 0; しておかないと重くなる。
- xxxってカラム、どのテーブルにあるんだっけ?
mysql56> SELECT CONCAT(table_schema, '.', table_name) AS object, column_type FROM columns WHERE column_name= ? ORDER BY 1, 2;
- データベース上のINDEXの一覧がほしい。
mysql56> SELECT CONCAT(table_schema, '.', table_name) AS object, index_name, GROUP_CONCAT(column_name ORDER BY seq_in_index) AS columns FROM statistics WHERE table_schema NOT IN ('mysql', 'information_schema', 'performance_schema') GROUP BY 1, 2;
- フルテキストインデックスどこだっけ?
mysql56> SELECT CONCAT(table_schema, '.', table_name) AS object, index_name, GROUP_CONCAT(column_name ORDER BY …[さらに読む]
去る2014/03/01(土)の OSC 2014 Tokyo/Spring
でMyNAとしてセミナーの枠をいただいたので、おはなしししてきました。
雨の中たくさんの方に足を運んでいただきました。本当にどうもありがとうございました。
MySQLチューニング from yoku0825
…
MySQL分補充エントリー。
MyNA
15987のメール でそんな話題があっていろいろ考えてネタにしようと思ってたんですが、気が付けばこれ去年の7月じゃないですか。。
やりたいこと。
mysql56> SHOW GRANTS;
+------------------------------------------------+
| Grants for user1@localhost |
+------------------------------------------------+
| GRANT USAGE ON *.* TO 'user1'@'localhost' |
| GRANT DROP ON `user1`.* TO 'user1'@'localhost' |
+------------------------------------------------+
2 rows in set (0.00 sec)
なユーザーに
mysql56> DROP TABLE user1.t1;
Query OK, 0 rows affected (0.07 sec)
…
SAPはまさにエンタープライズであり、データベースのエンタープライズ向け機能の全てを使うものだった。これは、それまでのあらゆるMySQLユーザのもの(大抵はWebアプリケーションで、ますます広く使われていた)とはかなり違ったアプリケーションだった。これについては「MySQLがエンタープライズに目を向けた」と言われた。
…
[さらに読む]- MySQLの過去を振り返る Part 1
- MySQLの過去を振り返る Part 2
- MySQLの過去を振り返る Part 3
- MySQLの過去を振り返る Part 4
- MySQLの過去を振り返る Part 5
Netfrastructureは、データベースエンジンだけでなく色々なものを持っていたが、MySQLにとって興味深いものの一つはやはりストレージエンジンだろう。Netfrastructureの面白いところの一つとしては、組み込みのJava …
[さらに読む]この1週間、linux.conf.au 2014での発表内容を書きとめてきた。
ここで、買収の時代に突入して行こう。MySQLの歴史の中にもいくらか登場してくる。そして2005年はその2番目だ(最初はNDBを手に入れるためのMySQL …
[さらに読む]