タグ

MySQLに関するcyarのブックマーク (16)

  • 【さくらインターネット】phpMyAdminからMySQLのインポートが失敗(タイムアウト?)するときの対処法 – ysklog

    WordPressをエックスサーバーからさくらインターネットに移転する際、データベース(MySQL)をphpMyAdminからさくらインターネットのデータベースサーバーにインポートしようとしたのですが、何度やっても失敗(タイムアウトのエラー?)になりました。 ここではこのときに対処した方法をメモしておきたいと思います。 インポートできなかった原因 さくらインターネットのphpMyAdminを使ってなぜさくらインターネットのデータベースサーバーにMySQLをインポートできなかったのか?についてですが、単純にインポート対象のMySQLの容量が大きすぎたからです(42.3MBもありました)。 そのためタイムアウトとなってインポートがうまくいかず、何度やってもphpMyAdminのログインページにリダイレクトされました(容量が小さいものは問題なくインポートできた)。 タイムアウトにならない方法 タ

    cyar
    cyar 2018/04/23
  • 超巨大な MySQL のデータを共用サーバーにインポートできる BigDump の使い方

    数GBのダンプファイルをインポートしたくても共用サーバーの場合ですと数十MBに制限されていることが多くて入れられません。VPS や専有サーバーの場合は設定を変更してアップロードできる最大サイズを変更する方法もありますが、ファイルサイズが増えるたびに変更するのは大変です。 しかし BigDump を使えば巨大な SQL ファイルをサーバーに合わせて分割インポートしてくれるので、ファイルサイズが大きくなってもサーバーの設定を変更しなくても良いですし、共用サーバーでも巨大なファイルをインポートすることができます。 ここでは BigDump を使った SQL ファイルのインポートを説明します。説明にあたって以下のページが参考になりましたのでこちらも御覧ください。 WikiCookRecipe日記: MySQLインポートファイルがでかすぎる時には BigDump を使ってみよう! MySQL のデー

    cyar
    cyar 2018/04/23
  • 別のサーバーのデータベースに接続したい

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。 PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

    別のサーバーのデータベースに接続したい
    cyar
    cyar 2018/04/16
    外部接続許可
  • Google

    世界中のあらゆる情報を検索するためのツールを提供しています。さまざまな検索機能を活用して、お探しの情報を見つけてください。

    cyar
    cyar 2018/04/15
    外部接続許可
  • 【MySQL】ユニーク制約の削除 - pospomeのプログラミング日記

    ユニーク制約を削除しようとして、 ALTER TABLE CHANGE , ALTER TABLE MODIFY を実行したけど、 削除できない・・・。 ユニーク制約を追加すると、 自動的にインデックスができるらしく・・・。 そのインデックスを削除することでユニーク制約が削除できるらしい。 ということで、インデックスを確認する。 SHOW INDEX FROM tb_test; その中で該当列のインデックスを削除する。 ALTER TABLE tb_test DROP INDEX email; これでOK。

    【MySQL】ユニーク制約の削除 - pospomeのプログラミング日記
    cyar
    cyar 2018/03/16
    ユニークキーの削除
  • PHPでプレースホルダを使ってSQLを発行する方法〜PDOの使い方 | Web活メモ帳

    PHPでプレースホルダ(SQLを発行する際に後から値を指定する方法)のやり方を聞かれたのでブログでもシェア。 PHPではPDOを使う事で簡単にプレースホルダが使えるようになりますよ。 以下のサイトを参考にさせていただきました。感謝! PDOで接続、SELECT、プリペアドステートメントとは(PHPMySQLに接続) PHPでPDOを使ってMySQLに接続、INSERT、UPDATE、DELETE、COUNT、SUM – Qiita プレースホルダとは 実際にプレースホルダを使った例を見てみましょう $sth = $dbh->prepare('SELECT name, color, calories FROM fruit WHERE calories < ? AND color = ?'); $sth->execute(array(150, 'red')); この「?(ハテナ)」記号が

  • PHP での SQL インジェクション対策はどのように行いますか?

    前提 まず、SQL インジェクション対策を含め、脆弱性対策の前提としてなるべく新しい安定版の PHP を利用するようにしてください。 バージョンアップにより脆弱性が解消したり、より安全になっています。 なお、以下の方法は PHP 5.3.7 以上で対応しています。(PHP 5.3.6 でも対応していますが、Windowsの実装が不完全です) ただし、PHP 5.3 系は 2014/8/14 でセキュリティサポートが終了しています。 PDO + 静的プレースホルダを用いた SQL 文発行 PDO を利用する場合、以下のポイントを押さえることで安全に利用出来ます。 1.文字エンコーディングを指定する 2.静的プレースホルダを用いる 3.バインド時に型を指定する それぞれについて、以下に実装方法を説明します。 1. 文字エンコーディングを指定する 期待した文字エンコーディングとして動作するよう、

    PHP での SQL インジェクション対策はどのように行いますか?
  • PHP: 文字セット - Manual

    文字セット 適切な文字セットをサーバーレベルで設定しておくのが理想であり、MySQL のマニュアルの » Character Set Configuration にもそうするよう書かれています。 しかしそれ以外にも、各 MySQL API には実行時に文字セットを指定する方法が用意されています。 警告 文字セットと文字のエスケープ 文字セットはきちんと理解して設定しておかないといけません。 すべての操作に影響が及び、セキュリティの問題を引き起こす可能性があるからです。 たとえば、文字列のエスケープ (mysqli なら mysqli_real_escape_string()、 PDO_MySQL なら PDO::quote()) は文字セットの設定に従った動きをします。 これらの関数は、クエリで設定した文字セットは使わないことを知っておくことが大切です。 たとえば次の例のような設定をしても

    PHP: 文字セット - Manual
    cyar
    cyar 2018/03/07
  • PDOでmysqlに接続する時の文字コード | Bamboo lath 日々の記録

    久しぶりにメモ。 開発環境でPDOからmysqlにつないでデータを入れたりしてたのに 番サーバに設置した途端にプログラムから入れたデータが文字化けした。 mysql> show variables like 'character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | bina

    cyar
    cyar 2018/03/07
  • PDOで接続、SELECT、プリペアドステートメントとは(PHPでMySQLに接続) - Qiita

    PDOって何なんだ。 PDOは「PHP Data Objects」の頭文字をとった名称です。 って言われても「何がどうなってんの?」と思い、なかなか分からなかった。 データアクセス抽象化レイヤとか言われてるけど、「いや、だからソレ何?」って感じです。 調べたので解説します。 データアクセス抽象化レイヤ アプリケーションとDBMS(データベース管理システム)の間に入ってDBMSの違いを意識せずにアプリケーションを作成するもの。 要するに「色んなデータベースがあるけど、同じ様に書いても全部のデータベースに対応してますよ」って事です。(若干の差異はあるらしい) つまりPDOって… そのデータアクセス抽象化レイヤの一つで、PHP5.1からバンドルされてる(標準で使えるようになってる)ヤツです。 データベースを途中で変更しなければならない際などを考えると使いやすい。 プリペアドステートメントで結構動

    PDOで接続、SELECT、プリペアドステートメントとは(PHPでMySQLに接続) - Qiita
    cyar
    cyar 2018/03/07
  • 使用可能(有効)な文字コードの一覧を調べる - MySQL 逆引きリファレンス

    MySQL で使用可能な文字コードの一覧は SHOW CHARACTER SET で調べることができます。 SHOW CHARACTER SET Windows7 + MySQL5.6.21 で実行してみた結果は以下の通りです。 mysql> SHOW CHARACTER SET; +----------+-----------------------------+---------------------+--------+ | Charset | Description | Default collation | Maxlen | +----------+-----------------------------+---------------------+--------+ | big5 | Big5 Traditional Chinese | big5_chinese_ci | 2

    cyar
    cyar 2018/03/06
  • PDOを使ったPHPでのデータベース基本操作 - Qiita

    PHPでデータベースを操作する方法をまとめました。簡易な解説なので、プログラムの日が浅い人は理解できないかもしれません。復習用としてお使いください。 PHPでデータベースを操作する場合は、まずPDOオブジェクトを生成します。この時はコンストラクタでデータベース情報を設定しておきます。 後は、そのPDOオブジェクトのメソッドでデータベースを操作するだけです。今回は、$dbhという変数でPDOオブジェクトを管理しています。 データベース接続に必要な情報 まずはサンプルコードです。 <?php define('DB_HOST', 'DBの場所'); define('DB_NAME', 'DBの名前'); define('DB_USER', 'ユーザー名'); define('DB_PASSWORD', 'パスワード'); // 文字化け対策 $options = array(PDO::MYSQL

    PDOを使ったPHPでのデータベース基本操作 - Qiita
    cyar
    cyar 2018/03/06
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
    cyar
    cyar 2018/03/06
  • WordPressでデータベースを安全に使うプレースホルダ #WordPress|CodeIQ MAGAZINE

    WordPressMySQLデータベースを使用しています。自作プラグイン等からもデータベースへアクセス可能です。そしてデータベースへのクエリを発行する時、WordPressで用意されている動的プレースホルダを使えば、SQLインジェクションを防ぐことができます。 しかし、プレースホルダは適切に使わないと意味がありません。正しい使い方を学びましょう。 by レスキューワーク株式会社 水野史土 SQLインジェクション データベースを扱う場合、不正な文字列を入力されてしまうことに注意しなければなりません。不正な文字列を適切に処理しなかった場合、想定外のSQLが実行されてしまいます。 データベースの内容を書き換えられたり、全て消されてしまったり、といった被害が発生するかもしれません。このような攻撃をSQLインジェクションと呼びます。アプリケーションを作成する場合は、SQLインジェクションが起きない

    WordPressでデータベースを安全に使うプレースホルダ #WordPress|CodeIQ MAGAZINE
    cyar
    cyar 2018/01/25
    プレースホルダ
  • 【Rails】URLをインデックス可能な形でデータベースに保存する方法 - Qiita

    はじめに URLをデータベースにユニークに保存したくなる時があると思います。 URLは仕様としては長さの上限はありません。 クエリパラメーターやフラグメントを含めた長いURLは、string型では保存できずtext型で保存する必要があります。しかし、text型はご存知の通りMySQLやPostgreSQLでは、インデックスを貼れません。 インデックスが貼れなければ、UNIQUEインデックスも貼れないので、重複データが挿入される可能性があります。 また、すでに保存されたURLを検索するのにも不利です。 そこで、railsを使って、URLをstring型で、モデルとして保存する方法を考えました。 ハッシュを利用するけど・・・ 長い文字列を保存するための方法として、ハッシュ関数を利用します。 ご存知の通り、ハッシュ関数を利用すればどんなに長い文字列も短い文字列に一意に変換できます。 ハッシュ関数

    【Rails】URLをインデックス可能な形でデータベースに保存する方法 - Qiita
    cyar
    cyar 2018/01/20
  • PostgreSQLのデータをMySQLに移行する - Qiita

    長くアプリケーションをメンテナンスしているうちに、データベースを別の環境に移行する機会もあるかと思います。私が経験したPostgreSQLからMySQLへの移行における手順を示しておきます。 このシステムは下記のような特徴を持っているため、かなり簡単な部類に入るかと思います。 データをバッチで突っ込む以外に更新は無い TRIGGERは使わない VIEWは使わない それらしい機能は全然使わない 機能も大したこと無い、それゆえに制限も無いということで、データベース・エンジンはMyISAMにしました。テーブルの関連付けは移行しないということです。関連付けも移行する場合はまた別途手順が必要になるでしょう。 PostgreSQLのデータをエクスポートする PostgreSQLの付属のプログラムpg_dumpを使います。ここでは、ダンプするデータベースの名前をdb1としておきます。この時、後の作業のた

    PostgreSQLのデータをMySQLに移行する - Qiita
  • 1