Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
![SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b2e706d6d9108886702cb1458edf496c7cc381f5/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRmxoMy5nb29nbGV1c2VyY29udGVudC5jb20lMkZhLSUyRkFPaDE0R2p5aFdreExQQUM3TnFRZFhyRGVLRXdHRFhXRDdjdS1rX1Q0REdyZlpJJTNEczUwP2l4bGliPXJiLTQuMC4wJmFyPTElM0ExJmZpdD1jcm9wJm1hc2s9ZWxsaXBzZSZmbT1wbmczMiZzPThhODgzNjdiNjNmMTk5ZTViOGE2YWU1ZjkwYTM3MTY5%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D733d442a0581612f7a2b72a031e3ab2a%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9U1FMU1RBVEUlNUJIWTA5MyU1RCUzQSUyMEludmFsaWQlMjBwYXJhbWV0ZXIlMjBudW1iZXIlM0ElMjBudW1iZXIlMjBvZiUyMGJvdW5kJTIwdmFyaWFibGVzJTIwZG9lcyUyMG5vdCUyMG1hdGMlRTIlODAlQTYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtcGFkPTAmcz0wMjc5NmY5ZGEzYjEwMTkzNzgwOTI4ODE1NWMzOGEzZQ%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDB5YW1hdGV0c3UwNDE4JnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9MjY2MWQ5NmE2MGViOTg2YWZiZWMyZWFkNTc3YTQ5YzM%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3Dee74d2f02c6ef3d450fc0260aae20ebd)
ローカルマシンに立てた Apache で WordPress を動作させようとしたところ、以下のエラーメッセージがブラウザに表示されて、MySQL への接続が上手くいかないエラーが発生しました。 ( ! ) Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in /path/to/wp-includes/wp-db.php on line 1138
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめまして、Yahoo!ショッピングでシステム開発を担当している村上です。 Yahoo!ショッピングでは数億件にのぼる商品が日々更新されています。 今回はそれを支える巨大なDBの運用の中で遭遇したMySQLのアンチパターンと、回避した方法について紹介いたします。 特定のテーブルをJoinするとすごく遅くなる Yahoo!ショッピングでは商品を出品するためのツールがあります。 商品情報には「商品名」「価格」といった、任意で設定可能な項目のほか、「ブランド」「商品種別」など、製品ごとに入力する内容が決まっている項目を、マスター情報としてテーブルで管理しています。 このマスター情報を利用して、出品の際に入力情報が正確であるかどうか確か
MySQLの最適化 コマンド MySQL データベースのテーブルを最適化する方法について調べました。 MyISAMは最適化されますが、innoDBは最適化されません。 どうしてもinnoDBの最適化が必要なら、一度、mysqldumpで出力したものをインポートし直す必要があります。 だそうです....。 SQL文で最適化する場合、'OPTIMIZE TABLE テーブル名'で最適化できます。 コマンドで最適化する場合、「mysqlcheck -o -uユーザー名 -pパスワード データベース名」で最適化されます。 全データベースを最適化する場合、「mysqlcheck -A -o -uroot -prootパスワード」で最適化されます。 cronを使ってMySQLデータベースの最適化を行う #!/bin/sh /usr/bin/mysqlcheck -o -r --all-database
(エンコードUTF-8で運用の場合。) ● 1. /etc/my.cnf に以下の設定を追加する。 [client] default-character-set = utf8 [mysqld] character-set-server = utf8 ● 2. mysqlを再起動する。 service mysqld restart これでも解決しない時は次を試す ● 3 . /etc/my.cnf に以下の設定を追加する。 [mysqld] skip-character-set-client-handshake ● 4. mysqlを再起動する。 service mysqld restart ● 5.これでも改善されない場合 文字化けする ・各DB ・各テーブル の character-set を確認すること ● コマンドラインからmysqlを実行して文字化けが発生している場合は mysql
単純にパスワード文字列をsha256でハッシュ化すると、レインボーテーブル(ありがちな単語を予めハッシュ化したテーブル)に弱くなるので、パスワード+乱数などを組み合わせてからハッシュ化します。この時の乱数をソルトといいます。 EC-CUBEでは、以下の2つのソルトを使っているようです。 1つ目は、AUTH_MAGICは、EC-CUBEインストール時に生成される小文字アルファベット乱数(data/config/config.php) 2つ目は、文字通りのsaltは、会員登録時に生成される10ケタの小文字アルファベット乱数(cutomerテーブルのsaltフィールド) なので、以下の手順でログインを行う AUTH_MAGICは予め取得しておく ログインIDであるメールアドレスをキーにレコードを取得 取得したsaltフィールド、AUTH_MAGIC、入力されたパスワードを使って、hash_hma
ここ数日 blockdiag の話が続いていましたが、久しぶりに Sphinx の話に戻ります。 僕は Sphinx を使ってお仕事のドキュメントを書いているので、 ドキュメントのひとつとしてデータベース定義書を書くことがあります。 このデータベース定義書、みなさんはどうやってメンテナンスしていますか? 以前、僕のチームでは Excel で定義書を作っていたのですが、 定義書と実際に稼動しているスキーマが異なることが稀にあり、 混乱が生したり、ちょっとしたトラブルの元になることがありました。*1 よく考えてみると、データベース定義書とスキーマを二重に管理しなくてはならないので、 どこかで同期に失敗すると(更新忘れなど)そこに差ができてしまうのは自明なことです。 一部の企業では Excel から DDL を書きだすようなマクロを持っているそうですが、 差分更新ができないなどでうまくメンテナン
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Errors Exceptions Generators References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security Introduction
今回は、MySQLのストレージエンジンの中でも特に有名な「MyISAM」と「InnoDB」の2つを取り上げます。MyISAMはMySQLのデフォルトストレージエンジンで、ストレージエンジンを指定せずにテーブルを作成するとMyISAMが選択されます。もう一方のInnoDBエンジンは、MySQLに豊富なトランザクション機能を提供するストレージエンジンとして有名です。 まずはそれぞれのテーブルファイルの構造について解説し、最後にInnoDBのトランザクションについて解説します。 各ストレージエンジンのファイル構造を説明する前に、前知識としてMySQLのディレクトリ構造について説明します。 MySQLのデータベースディレクトリには、バイナリログと呼ぶデータベースの更新情報を格納するファイルと、2つのサブディレクトリが存在します(図1)。 「mysql」ディレクトリには権限テーブルと呼ばれるMySQ
Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL
tkyk.name このドメインを購入する。 2018 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy
MySQLを含め主要なRDBMSで実装されているインデクスは、B-TREE構造です。 MySQLを含め主要なRDBMSでは、B-TREE構造以外のインデクスも実装している場合もあります。 さらに、MySQLでは、ストレージエンジンにより、インデクスの構造、何のアドレスを持つか(行のアドレスを持つのか、複数行が格納されているページアドレスを持つのか)が違ってきます。 どの程度の精度で、容量見積りをしたいのかによっても、話がまったく違ってきます。 B-TREE構造のインデクスの精度を持った算出方法例を、考え方を理解してもらうために提示しておきます。 MySQLのマニュアルでは、MyISAMに関しては、かなり雑な概算式が掲載されています。 http://dev.mysql.com/doc/refman/5.1/ja/key-space.html (key_length+4)/0.67 * 行数・
MySQLのMyISAMテーブルではオプションを指定せずにテーブルを作成するとサイズの上限は4GBとなる(*1)。テーブルサイズの設定に関するメモ。 (*1) 対象Ver.は4.0〜。ファイルシステムのファイルサイズ上限により4GBまで使えない場合もある。 テーブルサイズの上限の表示 テーブルサイズの上限は'SHOW TABLE STATUS'で表示できる。Max_data_lengthのカラムがテーブルサイズの上限値。データベース、テーブル名を指定して表示したい場合は、SHOW TABLE STATUS FROM DB名 LIKE 'テーブル名'で表示できる。 mysql> SHOW TABLE STATUS FROM test LIKE 'sample' \G *************************** 1. row ***************************
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く