約 3,764,960 件
https://w.atwiki.jp/th0901/pages/36.html
RPMインストール # rpm -ivh --nopost MySQL-server-advanced-gpl-5.1.30-0.rhel4.x86_64.rpm # rpm -ivh MySQL-client-advanced-gpl-5.1.30-0.rhel4.x86_64.rpm my.cnf修正 通常のmy.cnfに加えて以下を追加で記載 # vi /var/lib/mysql/my.cnf server-id = 2 ←更新系とは違うIDを指定 #for slave server read_only slave_net_timeout = 60 log-slave-updates master-retry-count = 86400 relay-log = /var/lib/mysql/relaylog/mysql-relay 初期DB作成 # su - mysql -c "/usr/bin/mysql_install_db --datadir=/var/lib/mysql/data" スレーブサーバを起動する。 # /etc/init.d/mysql start マスターサーバでレプリケーションユーザ作成 mysql GRANT REPLICATION SLAVE ,REPLICATION CLIENT,SELECT,RELOAD,EVENT,SHOW VIEW,LOCK TABLES,TRIGGER ON *.* TO repl @ 192.168.11.0/255.255.255.0 IDENTIFIED BY password ; ※ホストの指定方法 repl @ % すべてのホストからアクセスを許可 repl @ 192.168.11.1 192.168.11.1のみアクセスを許可 repl @ 192.168.11.0/255.255.255.0 セグメントからのアクセスを許可(2進数表現は不可) repl @ localhost ローカルからのみアクセスを許可 マスターサーバのデータをダンプする。 # mysqldump -h192.168.11.1 -urepl -ppassword --all-databases\ --master-data=2 --single-transaction /var/lib/mysql/dumpfile.sql 取得したダンプファイルをスレーブへリストアする。 # mysql -uユーザ名 -pパスワード dumpfile.sql スレーブ上でレプリケーションの設定を行う。 CHANGE MASTERコマンドを使ってレプリケーションの設定を行う。 ダンプファイルの先頭に、マスター上のバイナリログファイル名と開始位置が 記述されているので、次のコマンドで抜き出す。 # head -100 dumpfile.sql | grep CHANGE -- CHANGE MASTER TO MASTER_LOG_FILE= mysql-bin.000002 , MASTER_LOG_POS=106; ここで表示されたCHANGE MSTER TOコマンドに対してマスターのホスト名や利用する アカウント情報などを追加することにより、CHANGE MASTER TOコマンドを完成させて 実行しましょう。完成形のコマンドは次のようになるでしょう。 mysql CHANGE MASTER TO MASTER_HOST= 192.168.11.1 , MASTER_USER= repl , MASTER_PASSWORD= password , MASTER_PORT=3306, MASTER_LOG_FILE= mysql-bin.000002 , MASTER_LOG_POS=106, MASTER_CONNECT_RETRY=60; レプリケーションを開始 mysql START SLAVE; mysql SHOW SLAVE STATUS\G ~省略~ Slave_IO_Running Yes Slave_SQL_Running Yes ~省略~ ※上記表示が両方ともYesであれば、レプリケーションは正常
https://w.atwiki.jp/nicepaper/pages/151.html
今回はPHPのPDOにてsetAttributeの利用方法を記述していきたいと思います。7月27日記事 目次 setAttributeとは PHPマニュアルにて 使い方例 SQL文のエラーを吐く setAttributeとは とりあえず日本語に直すとsetは動詞で「セットする、位置づける、固定する」という意味があり、Attributeは名詞で「属性」という意味があります。つまり属性をセットするというものです。PDOは様々なデータベース(MySQLやPostgresやOracle)で利用できるようになっています。その中にはデータベース固有のものも含まれていたりします。そんな中でどうPDOを動かしたいのか意図的に属性を指定するために使われたりします。メソッドみたいですが、色々な記事で関数と書かれていたりしますね。 PHPマニュアルにて http //php.net/manual/ja/pdo.setattribute.php PDO ATTR_CASE 強制的にカラム名を指定したケースにする PDO CASE_LOWER 強制的にカラム名を小文字にする PDO CASE_NATURAL データベースドライバによって返されるカラム名をそのままにする PDO CASE_UPPER 強制的にカラム名を大文字にする PDO ATTR_ERRMODE エラーレポート PDO ERRMODE_SILENT エラーコードのみ設定する PDO ERRMODE_WARNING E_WARNING を発生させる PDO ERRMODE_EXCEPTION 例外 を投げる PDO ATTR_ORACLE_NULLS (Oracle だけでなく、全てのドライバで利用可能) NULL と空文字列の変換 PDO NULL_NATURAL 変換しない PDO NULL_EMPTY_STRING 空文字は NULL に変換される PDO NULL_TO_STRING NULL は空文字に変換される となっており、第一引数、第二引数の指定の仕方が載っています。 使い方例 SQL文のエラーを吐く $dbh- setAttribute(PDO ATTR_ERRMODE, PDO ERRMODE_WARNING);//SQL文エラーはエラー吐く 第一引数にてATTR_ERRMODEを設定し、第二引数でERRMODE_WARNINGを設定し、E_WARNINGを発生させる方法が載っています。今回、 Fatal error Call to a member function fetchColumn() on a non-object というエラーがでたので、これを設定してあげると、SQL文エラーがあると判明しました。SQL文エラーがあった場合、その詳細を返してくれることができます。 以上
https://w.atwiki.jp/vmlinuz/pages/52.html
Linux版MySQL TOP linux mysql コンテンツ インストール手順 5.5.28 ソースからのインストール 5.6.8 ソースからのインストール 5.6.12 5.6.8と共通 動作例など 動作例 障害対応など トラブルシューティング
https://w.atwiki.jp/vmlinuz/pages/59.html
mysql チュートリアル TOP linux mysql チュートリアル 概要 インストールしてから実際に動作させるまでの流れ +コンテンツ一覧 mysql チュートリアル概要 実行環境 チュートリアル基本的な起動~停止 起動スクリプト組み込み ログイン レプリケーション構築構築手順 ダンプ(バックアップ) 実行環境 CentOS 6.3(minimal) チュートリアル 基本的な起動~停止 # mysqld 起動 /opt/mysql/support-files/mysql.server start # mysqld 停止 /opt/mysql/support-files/mysql.server stop # mysqld 再起動 /opt/mysql/support-files/mysql.server restart 起動スクリプト組み込み # 起動スクリプト作成 cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld # REDHAT系管理登録 chkconfig --add mysqld # サービス起動 service mysqld start # サービス停止 service mysqld stop # サービス再起動 service mysqld restart ログイン # DBアクセス mysql # ユーザ指定 mysql -uroot # パスワードを使用してログイン mysql -uroot -p # パスワードをコンソールで指定してログイン mysql -uroot -proot_pass # DBを指定してログイン mysql -uroot -Dmysql レプリケーション構築 構築手順 Master サーバ my.cnfに以下の記述を実施 [mysqld] log-bin=mysql-bin server-id=1 mysqlを再起動 ./support-files/mysql.server restart Slaveサーバ my.cnfに以下の記述を実施 [mysqld] server-id=2 Masterサーバ SlaveからレプリケーションSlaveとしてアクセスできるようにユーザ作成と権限を付与 CREATE USER repl @ %.slave.mydomain.com IDENTIFIED BY slavepass ; GRANT REPLICATION SLAVE ON *.* TO repl @ %.slave.mydomain.com ; MasterDBのステータスを確認 -- データに変更がないようにテーブルロックを獲得 FLUSH TABLES WITH READ LOCK; -- File と Positionを確認 SHOW MASTER STATUS; レプリケーションを実施する前にMasterDBとSlaveDBで同期を実施する この際、ターミナルエミュレータなどのコンソールを2つ用意する 1つ目のセッション -- テーブルロックを獲得してDBへの更新をとめる FLUSH TABLES WITH READ LOCK; 2つ目のセッション # mysqldump コマンドを使用してMasterDBのバックアップを実施 mysqldump --all-databases --master-data dbdump.sql 1つ目のセッション -- 獲得していたテーブルロックを解除する UNLOCK TABLES; Slaveサーバ MasterからダンプしたDBデータをリストアする mysql dbdump.sql MySQLを再起動 ./support-files/mysql.server restart MasterDBへの接続情報をセット CHANGE MASTER TO MASTER_HOST= %.master.mydomain.com , MASTER_USER= repl , MASTER_PASSWORD= slavepass , MASTER_PORT=3306; レプリケーションスタート START SLAVE; レプリケーションステータス SHOW SLAVE STATUS \G ダンプ(バックアップ) MySQLに付属しているダンプツールであるmysqldumpはダンプ内容を標準出力に出します。 標準出力に出されても困ることがほとんどなのでここではファイルに保存することを前提にしています。 # DB内のすべてのテーブルをダンプ mysqldump [dbname] [filename] # テーブルを指定してダンプ # テーブル名はいくつ指定しても可 mysqldump [dbname] [table name] [filename] Today - Yesterday - Total -
https://w.atwiki.jp/hitoshop/pages/28.html
PHPのmysql操作関数 mysql操作関数 mysql_fetch_assoc関数 機能と返り値 mysql_fetch_array関数の第二引数に[MYSQL_ASSOC]を指定した場合と同じ 引数 mysql_query関数で返された結果セットID ?php $rst = query(sql文); while ($col = mysql_fetch_assoc($rst)) { echo $col[menberID]; echo $col[name]; } ? mysql_fetch_row関数 機能と返り値 mysql_fetch_arrayの第二引数で[MYSQL_NUM]で指定した場合と同じ 引数 mysql_query関数で返された結果セットID ?php $rst = query(sql文); while ($col = mysql_fetch_assoc($rst)) { echo $col[0]; echo $col[1]; echo $col[2]; echo $col[3]; } ? mysql_num_fields関数 機能と返り値 結果セットに含まれるフィールド数を返す。主にフィールドをループ処理する場合に使用 引数 mysql_query関数で返された結果セットID ?php $rst = query(sql文); $fldCnt = mysql_num_fields($rst); echo $fldCnt . のフィールド数があります ; ? mysql_field_name関数 機能と返り値 結果セットから指定のフィールド名を取得 引数 第一引数に、mysql_queryで返された結果セットID。第二引数に、取得したいフィールド番号を指定 ?php $rst = query(sql文); $fldCnt = mysql_num_fileds($rst); echo $fldCnt . のフィールド数があります ; for ($i = 0; $i $fldCnt; $i++) { echo mysql_filed_name($rst, $i) . br / ; } ? mysql_result関数 機能と返り値 結果セットから特定の行番号/列番号のデータを返す。ループ処理においてレコード番号やフィールド番号をインデックスとして扱いたい場合や、ランダムにデータを取り出したい場合に使用する 引数 第一引数に、mysql_query関数で返された結果セットID。第二引数にレコード番号。第三引数に、フィールド番号(省略可能) ?php $rst = query(sql文); echo 1行1列目の値は、 . mysql_result($rst, 0, 0); echo 3行2列目の値は、 . mysql_result($rst, 2, 1); ? mysql_list_tables関数 機能と返り値 指定データベース内のテーブルの一覧を結果セットとして返す 引数 第一引数に、データベース名。第二引数にmysql_connect関数で返された接続ID(省略可能) ?php $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); $rst = mysql_list_tables($DBNAME); while ($col = mysql_fetch_array($rst)) { echo $col[0] . br / ; } ? mysql_list_fields関数 機能と返り値 指定テーブルのフィールド名の一覧を結果セットとして返す。結果セットにはレコードはなく、結果セットの各フィールド名が指定テーブルのフィールド名を表す 引数 第一引数にデータベース名、第二引数にテーブル名。第三引数にmysql_connect関数で返された接続ID(省略可能) ?php $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); $rst = mysql_list_fields($DBNAME, testTable ); $fldCnt = mysql_num_fields($rst); for ($i = 0; $i $fldCnt; $i++) { echo mysql_fields_name($rst, $i); } ? mysql_errno / mysql_error関数 機能と返り値 発生したエラーについて、mysql_errno関数は「エラー番号」を返す。(エラーが発生しなければ[0]を返す)。mysql_errorは「エラーメッセージ」を返す 引数 mysql_connect関数で返された接続ID(省略可能) ?php $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); //実在しないデータベースに意図的に選択 $selectDB = mysql_select_db( nothingDB , $con); //エラー番号取得 $errorNo = mysql_errno(); if ($errorNo != 0) { echo $errorNO; echo mysql_error(); } ?
https://w.atwiki.jp/nicepaper/pages/76.html
前回記事PHPとMySQLを使いGETメソッドで受け取ったデータを取得&表示の続きです。新規投稿ページできたぁと思っても、その記事を再編集できなければ、利用者は極めてビクビクしながら、新規投稿しなけれびなりません。人間はミスする生き物ですから、再編集機能も設ける必要があります。今回はそれを作っていきます。6月5日記事 編集ページ取得イメージ 書いてみる クエリの条件 ページング機能 概要 ページング機能のコード まとめ 編集ページ取得イメージ こんな感じにしましょうか?もっと見る的のローディング機能を作るか、次ページ、前ページというようにページング機能を作るか迷いました。どっちをやってもいいのですが、やはりページング機能から実装していきます。ローディング機能に関してはまた後日行っていきたいと思います。 イメージは以下。 まずは、[最新のページ一覧]、[過去のページ一覧]的なリンクを作っていきます。 書いてみる クエリの条件 削除以外の状態のページ、「公開」と「下書き」のページを取得していく必要があります。 5件分取得し(あとでも取得件数を変えられるようにしておく)。 ページング機能 個人的には、もっと見るもっと読むボタン(ローディング)より、次へや前へのボタン(ページング)の方が好きです。ページング機能から行っていきます。 概要 まず、GETメソッドで受け取った変数をフィルターします。 1ページあたりの表示件数を設定する。 ページ数を取得する もし、ページ数を取得していない状態なら、1ページ目とする 総件数を取得する。 初めて呼ばれたときには総件数を数え、ページ数を1にする 総件数を1ページあたりの表示数で割り、小数点を切り上げた整数値にする。 ページサイズ×ページ-1からページサイズ×ページまでのデータを取得する 表示する。 フォームで自身のファイルに-1や+1するページ数を投げる。 というようにやっていきますが、PDOで総件数を取得するのがあいまいらしい。PDOではrowCount() という関数が使えるが、色々な情報を見ると正しい行数を返すかはあやしいらしい・・・・。 なんでやw結構使う関数だと思うのに。ということで調査が必要です。 ・ ・ ・ 調べました。 "SELECT COUNT(*) FROM テーブル名 WHERE status = 1 OR status = 2 "; と fetchColumn(); を使い、取得していきたいと思います。 コードを書いていきます。 ページング機能のコード ?php require( config.php ); $dsn = mysql dbname= .DB_NAME. ;host= .DB_HOST. ;port= .DB_PORT. ; $user = DB_USER; $password = DB_PASSWORD; try{ $dbh = new PDO($dsn, $user, $password); }catch (PDOException $e){ print( Connection failed .$e- getMessage()); die(); } $pagesize = 5;//1ページあたりの表示件数 if(isset($_GET["page"])) $page = filter_var($_GET["page"],FILTER_SANITIZE_NUMBER_INT,FILTER_NULL_ON_FAILURE); if(empty($_GET["page"])) $page = 1; if($page == NULL) $page = 1; $offset = $pagesize*($page -1); $sql = "SELECT * FROM テーブル名 WHERE status = 1 OR status = 2 ORDER BY id DESC LIMIT ".$offset.",".$pagesize; //print $sql; $news = array(); foreach ($dbh- query($sql) as $row){ array_push($news, $row); } //トータル件数取得 $sql = "SELECT COUNT(*) FROM テーブル名 WHERE status = 1 OR status = 2 "; $stmt = $dbh- query($sql); $total = $stmt- fetchColumn(); //print $sql; $totalpage = ceil($total/$pagesize); ? !DOCTYPE HTML html head meta charset="utf-8" link href="reset.css" rel="stylesheet" type="text/css" link href="style.css" rel="stylesheet" type="text/css" title タイトルcontents Manager /title /head body div id="page" div id="head" header h1 CONTENTS MANAGER /h1 /header /div div id="container" div id="menu" nav li id="current" a href="setting.php" 新規作成 /a /li li a href="editlist.php" 編集 /a /li li a href="http //www.hoge.net" サイトトップへ /a /li li a href="javascript ;" onclick="window.close();" ウインドウを閉じる /a /li /nav /div div id="contents" !-- ここから -- section id="edit_list" h1 投稿一覧 /h1 dl dt id="dthead" ID /dt dd id="ddhead" ul li class="date" 公開(予定)日付 /li li class="title" タイトル /li li class="status" 状態 /li li class="edit" 編集 /li li class="delete" 削除 /li /ul /dd ?php foreach($news as $new) ? dt ?php echo htmlspecialchars($new[ id ],ENT_QUOTES,"UTF-8"); ? /dt dd ul li class="date" ?php echo htmlspecialchars($new[ info_date ],ENT_QUOTES,"UTF-8"); ? /li li class="title" ?php echo htmlspecialchars(mb_convert_encoding($new[ title ],"UTF-8","EUC-JP"),ENT_QUOTES,"UTF-8"); ? /li li class="status" ?php switch($new[ status ]){ case 2 echo "公開"; break; case 1 echo "下書き"; break; default echo "削除"; break; }? /li li class="edit" form action="edit.php" method="post" input type="hidden" name="id" value=" ?php echo htmlspecialchars($new[ id ],ENT_QUOTES,"UTF-8"); ? " input type="submit" name="submit" value="編集" /form /li li class="delete" form action="delete.php" method="post" input type="hidden" name="id" value=" ?php echo htmlspecialchars($new[ id ],ENT_QUOTES,"UTF-8"); ? " input type="submit" name="submit" value="削除" /form /li /ul /dd ?php endforeach; ? !--ループ-- /dl ?php if($page = 2){ echo a href="editlist.php?page= .($page-1). " [最新ページへ] /a ; }else{ echo [最新ページ] ; } if($page $totalpage){ echo a href="editlist.php?page= .($page+1). " [過去のページへ] /a ; } ? /section !-- ここまで-- /div /div footer p フッター /p /footer /div br br /body /html CSS部 section#form dl{ margin-top 30px; } section#form dl dt{ width 180px; float left; clear both; padding 10px; border-top 2px solid #EEE; } section#form dl dd{ width 400px; float left; padding 10px; border-top 2px solid #EEE; } section#edit_list dl{ margin-top 30px; min-height 300px; /*background #FFC;*/ } section#edit_list dl dt{ width 30px; float left; clear both; padding 5px; border-bottom 2px dotted #EEE; } section#edit_list dl dd{ float left; border-bottom 2px dotted #EEE; } section#edit_list dl dt#dthead,section#edit_list dl dd#ddhead{ border-top 2px solid #EEE; border-bottom 2px solid #EEE; } section#edit_list dl dd ul{ width 640px; } section#edit_list dl dd li{ display inline-block; height 16.5px; float left; padding 5px; } section#edit_list dl dd li.date{ width 120px; } section#edit_list dl dd li.title{ width 320px; } section#edit_list dl dd li.status{ width 50px; } section#edit_list dl dd li.edit{ width 50px; } section#edit_list dl dd li.delete{ width 50px; } まとめ ユーザが見るページと似たように見えますが、公開日が新しい順にソートするのではなく、ID順にソートしていくクエリを投げれば行けると思います。 以上
https://w.atwiki.jp/nicepaper/pages/108.html
MySQLの文字コードはEUC-JPだが、ファイルはutf-8にしておいて、挿入時にEUC-JPに変更してつっこんでみたいという記事。6月26日記事 目次 MySQLはEUC-JP(ujis)、HTMLファイルもEUCにしてみる。 MySQLの文字コードチェック HTMLファイル等もEUCにしてみる。 トライ UTF-8の文字コードファイルだが、挿入する瞬間にEUC-JPにmb_convert_encodingする。 補足 MySQLはEUC-JP(ujis)、HTMLファイルもEUCにしてみる。 MySQLの文字コードチェック mysql show variables like character_set% ; 結果こんな感じ Variable_name Value character_set_client ujis character_set_connection ujis character_set_database ujis character_set_filesystem binary character_set_results ujis character_set_server ujis character_set_system utf8 character_sets_dir /文字セットディレクトリ/ HTMLファイル等もEUCにしてみる。 !DOCTYPE HTML html lang="ja" head meta charset="euc-jp" 以下略 euc-jpで保存。 この状況で行うと確かに文字化けせずデータベースに格納されていることが確認できました。 トライ UTF-8の文字コードファイルだが、挿入する瞬間にEUC-JPにmb_convert_encodingする。 PDOの利用をする場合 $stmt- bindParam( title , mb_convert_encoding($_POST[ form_title ],"EUC-JP","UTF-8"), PDO PARAM_STR); こんな感じにしておく。 するとEUC-JPで挿入してくれます。 補足 機種依存文字やIBM拡張文字が含まれていると、文字によっては変換できない場合もある。 参考サイト 以上
https://w.atwiki.jp/m_shige1979/pages/626.html
同一のマシンで起動 環境設定 1つめのデータディレクトリ IP :192.168.111.10 Port:3309 Path:C /ProgramData/MySQL/data1 2つめのデータディレクトリ IP :192.168.111.10 Port:3310 Path:C /ProgramData/MySQL/data2 1つ目のデータ設定 データディレクトリをコピー c \ xcopy "C \Program Files\MySQL\MySQL5.1\data" "c \ProgramData\MySQL\data1" /E /I C \Program Files\MySQL\MySQL5.1\data\ibdata1 C \Program Files\MySQL\MySQL5.1\data\ib_logfile0 C \Program Files\MySQL\MySQL5.1\data\ib_logfile1 C \Program Files\MySQL\MySQL5.1\data\mysql-bin.000001 C \Program Files\MySQL\MySQL5.1\data\mysql-bin.000002 C \Program Files\MySQL\MySQL5.1\data\mysql-bin.index C \Program Files\MySQL\MySQL5.1\data\m_shige1979-PC.err C \Program Files\MySQL\MySQL5.1\data\mysql\columns_priv.frm C \Program Files\MySQL\MySQL5.1\data\mysql\columns_priv.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\columns_priv.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\db.frm C \Program Files\MySQL\MySQL5.1\data\mysql\db.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\db.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\event.frm C \Program Files\MySQL\MySQL5.1\data\mysql\event.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\event.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\func.frm C \Program Files\MySQL\MySQL5.1\data\mysql\func.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\func.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\general_log.CSM C \Program Files\MySQL\MySQL5.1\data\mysql\general_log.CSV C \Program Files\MySQL\MySQL5.1\data\mysql\general_log.frm C \Program Files\MySQL\MySQL5.1\data\mysql\help_category.frm C \Program Files\MySQL\MySQL5.1\data\mysql\help_category.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\help_category.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\help_keyword.frm C \Program Files\MySQL\MySQL5.1\data\mysql\help_keyword.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\help_keyword.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\help_relation.frm C \Program Files\MySQL\MySQL5.1\data\mysql\help_relation.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\help_relation.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\help_topic.frm C \Program Files\MySQL\MySQL5.1\data\mysql\help_topic.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\help_topic.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\host.frm C \Program Files\MySQL\MySQL5.1\data\mysql\host.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\host.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\ndb_binlog_index.frm C \Program Files\MySQL\MySQL5.1\data\mysql\ndb_binlog_index.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\ndb_binlog_index.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\plugin.frm C \Program Files\MySQL\MySQL5.1\data\mysql\plugin.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\plugin.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\proc.frm C \Program Files\MySQL\MySQL5.1\data\mysql\proc.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\proc.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\procs_priv.frm C \Program Files\MySQL\MySQL5.1\data\mysql\procs_priv.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\procs_priv.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\servers.frm C \Program Files\MySQL\MySQL5.1\data\mysql\servers.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\servers.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\slow_log.CSM C \Program Files\MySQL\MySQL5.1\data\mysql\slow_log.CSV C \Program Files\MySQL\MySQL5.1\data\mysql\slow_log.frm C \Program Files\MySQL\MySQL5.1\data\mysql\tables_priv.frm C \Program Files\MySQL\MySQL5.1\data\mysql\tables_priv.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\tables_priv.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone.frm C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_leap_second.frm C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_leap_second.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_leap_second.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_name.frm C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_name.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_name.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition.frm C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition_type.frm C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition_type.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition_type.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\user.frm C \Program Files\MySQL\MySQL5.1\data\mysql\user.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\user.MYI 76 個のファイルをコピーしました c \ copy "C \Program Files\MySQL\MySQL5.1\my-huge.ini" "C \ProgramData\MySQL\data1\my.ini" 1 個のファイルをコピーしました。 c \ my.iniを設定 # The following options will be passed to all MySQL clients [client] #password= your_password port= 3309 socket= /tmp/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] basedir="C \Program Files\MySQL\MySQL5.1/" datadir="C \ProgramData\MySQL\data1/" default-character-set=cp932 default-storage-engine=INNODB sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" max_connections=100 port= 3309 起動 c \ "C \Program Files\MySQL\MySQL5.1\bin\mysqld" --defaults-file="C \ProgramData\MySQL\data1\my.ini" --console 100701 18 23 59 [Warning] --default-character-set is deprecated and will be removed in a future release. Please use --character-set-server inste 100701 18 23 59 [Warning] --skip-locking is deprecated and will be removed in a future release. Please use --skip-external-locking instead. 100701 18 23 59 [Note] Plugin FEDERATED is disabled. 100701 18 23 59 InnoDB Started; log sequence number 0 44233 100701 18 24 06 [Note] Event Scheduler Loaded 0 events 100701 18 24 06 [Note] C \Program Files\MySQL\MySQL5.1\bin\mysqld ready for connections. Version 5.1.48-community-log socket port 3309 MySQL Community Server (GPL) 100701 18 29 19 [Note] C \Program Files\MySQL\MySQL5.1\bin\mysqld Normal shutdown 100701 18 30 59 [Note] Event Scheduler Purging the queue. 0 events 100701 18 30 59 InnoDB Starting shutdown... 100701 18 31 04 InnoDB Shutdown completed; log sequence number 0 46837 100701 18 31 04 [Note] C \Program Files\MySQL\MySQL5.1\bin\mysqld Shutdown complete c \ 接続確認~切断 C \ "C \Program Files\MySQL\MySQL5.1\bin\mysql" -u root --port=3309 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version 5.1.48-community-log MySQL Community Server (GPL) Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type help; or \h for help. Type \c to clear the current input statement. mysql show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.09 sec) mysql create database testdb1; Query OK, 1 row affected (0.08 sec) mysql use testdb1; Database changed mysql create table testtable1( data1 varchar(10), data2 varchar(10), data3 varchar(10), - primary key(data1)); Query OK, 0 rows affected (0.16 sec) mysql insert into testtable1(data1, data2, data3) values( 111 , aaa , bbb ); Query OK, 1 row affected (0.10 sec) mysql insert into testtable1(data1, data2, data3) values( 222 , ccc , ddd ); Query OK, 1 row affected (0.06 sec) mysql insert into testtable1(data1, data2, data3) values( 333 , eee , fff ); Query OK, 1 row affected (0.06 sec) mysql select * from testtable1; +-------+-------+-------+ | data1 | data2 | data3 | +-------+-------+-------+ | 111 | aaa | bbb | | 222 | ccc | ddd | | 333 | eee | fff | +-------+-------+-------+ 3 rows in set (0.00 sec) mysql quit Bye C \ "C \Program Files\MySQL\MySQL5.1\bin\mysqladmin" -u root --port=3309 shutdown C \ 2つ目のデータ設定 データディレクトリをコピー c \ xcopy "C \Program Files\MySQL\MySQL5.1\data" "c \ProgramData\MySQL\data2" /E /I C \Program Files\MySQL\MySQL5.1\data\ibdata1 C \Program Files\MySQL\MySQL5.1\data\ib_logfile0 C \Program Files\MySQL\MySQL5.1\data\ib_logfile1 C \Program Files\MySQL\MySQL5.1\data\mysql-bin.000001 C \Program Files\MySQL\MySQL5.1\data\mysql-bin.000002 C \Program Files\MySQL\MySQL5.1\data\mysql-bin.index C \Program Files\MySQL\MySQL5.1\data\m_shige1979-PC.err C \Program Files\MySQL\MySQL5.1\data\mysql\columns_priv.frm C \Program Files\MySQL\MySQL5.1\data\mysql\columns_priv.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\columns_priv.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\db.frm C \Program Files\MySQL\MySQL5.1\data\mysql\db.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\db.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\event.frm C \Program Files\MySQL\MySQL5.1\data\mysql\event.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\event.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\func.frm C \Program Files\MySQL\MySQL5.1\data\mysql\func.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\func.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\general_log.CSM C \Program Files\MySQL\MySQL5.1\data\mysql\general_log.CSV C \Program Files\MySQL\MySQL5.1\data\mysql\general_log.frm C \Program Files\MySQL\MySQL5.1\data\mysql\help_category.frm C \Program Files\MySQL\MySQL5.1\data\mysql\help_category.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\help_category.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\help_keyword.frm C \Program Files\MySQL\MySQL5.1\data\mysql\help_keyword.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\help_keyword.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\help_relation.frm C \Program Files\MySQL\MySQL5.1\data\mysql\help_relation.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\help_relation.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\help_topic.frm C \Program Files\MySQL\MySQL5.1\data\mysql\help_topic.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\help_topic.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\host.frm C \Program Files\MySQL\MySQL5.1\data\mysql\host.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\host.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\ndb_binlog_index.frm C \Program Files\MySQL\MySQL5.1\data\mysql\ndb_binlog_index.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\ndb_binlog_index.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\plugin.frm C \Program Files\MySQL\MySQL5.1\data\mysql\plugin.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\plugin.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\proc.frm C \Program Files\MySQL\MySQL5.1\data\mysql\proc.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\proc.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\procs_priv.frm C \Program Files\MySQL\MySQL5.1\data\mysql\procs_priv.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\procs_priv.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\servers.frm C \Program Files\MySQL\MySQL5.1\data\mysql\servers.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\servers.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\slow_log.CSM C \Program Files\MySQL\MySQL5.1\data\mysql\slow_log.CSV C \Program Files\MySQL\MySQL5.1\data\mysql\slow_log.frm C \Program Files\MySQL\MySQL5.1\data\mysql\tables_priv.frm C \Program Files\MySQL\MySQL5.1\data\mysql\tables_priv.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\tables_priv.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone.frm C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_leap_second.frm C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_leap_second.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_leap_second.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_name.frm C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_name.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_name.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition.frm C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition_type.frm C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition_type.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\time_zone_transition_type.MYI C \Program Files\MySQL\MySQL5.1\data\mysql\user.frm C \Program Files\MySQL\MySQL5.1\data\mysql\user.MYD C \Program Files\MySQL\MySQL5.1\data\mysql\user.MYI 76 個のファイルをコピーしました c \ copy "C \Program Files\MySQL\MySQL5.1\my-huge.ini" "C \ProgramData\MySQL\data2\my.ini" 1 個のファイルをコピーしました。 c \ my.iniを設定 # The following options will be passed to all MySQL clients [client] #password= your_password port= 3310 socket= /tmp/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] basedir="C \Program Files\MySQL\MySQL5.1/" datadir="C \ProgramData\MySQL\data2/" default-character-set=cp932 default-storage-engine=INNODB sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" max_connections=100 port= 3310 起動 c \ "C \Program Files\MySQL\MySQL5.1\bin\mysqladmin" -u root --port=3310 shutdown C \Program Files\MySQL\MySQL5.1\bin\mysqladmin connect to server at localhost failed error Can t connect to MySQL server on localhost (10061) Check that mysqld is running on localhost and that the port is 3310. You can check this by doing telnet localhost 3310 c \ "C \Program Files\MySQL\MySQL5.1\bin\mysqld" --defaults-file="C \ProgramData\MySQL\data2\my.ini" --console 100701 19 19 50 [Warning] --default-character-set is deprecated and will be removed in a future release. Please use --character-set-server instead 100701 19 19 50 [Warning] --skip-locking is deprecated and will be removed in a future release. Please use --skip-external-locking instead. 100701 19 19 50 [Note] Plugin FEDERATED is disabled. 100701 19 19 50 InnoDB Started; log sequence number 0 44233 100701 19 19 51 [Note] Event Scheduler Loaded 0 events 100701 19 19 51 [Note] C \Program Files\MySQL\MySQL5.1\bin\mysqld ready for connections. Version 5.1.48-community-log socket port 3310 MySQL Community Server (GPL) 100701 19 23 42 [Note] C \Program Files\MySQL\MySQL5.1\bin\mysqld Normal shutdown 100701 19 23 42 [Note] Event Scheduler Purging the queue. 0 events 100701 19 23 42 InnoDB Starting shutdown... 100701 19 23 46 InnoDB Shutdown completed; log sequence number 0 46837 100701 19 23 46 [Note] C \Program Files\MySQL\MySQL5.1\bin\mysqld Shutdown complete c \ 接続確認~切断 c \ "C \Program Files\MySQL\MySQL5.1\bin\mysql" -u root --port=3310 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version 5.1.48-community-log MySQL Community Server (GPL) Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type help; or \h for help. Type \c to clear the current input statement. mysql show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.00 sec) mysql create database testdb1; Query OK, 1 row affected (0.01 sec) mysql use testdb1; Database changed mysql create table testtable1( data1 varchar(10), data2 varchar(10), data3 varchar(10), - primary key(data1)); Query OK, 0 rows affected (0.06 sec) mysql insert into testtable1(data1, data2, data3) values( 111 , xxx , aaa ); Query OK, 1 row affected (0.03 sec) mysql insert into testtable1(data1, data2, data3) values( 222 , zzz , bbb ); Query OK, 1 row affected (0.07 sec) mysql insert into testtable1(data1, data2, data3) values( 333 , yyy , ccc ); Query OK, 1 row affected (0.03 sec) mysql select * from testtable1; +-------+-------+-------+ | data1 | data2 | data3 | +-------+-------+-------+ | 111 | xxx | aaa | | 222 | zzz | bbb | | 333 | yyy | ccc | +-------+-------+-------+ 3 rows in set (0.00 sec) mysql quit Bye c \ "C \Program Files\MySQL\MySQL5.1\bin\mysqladmin" -u root --port=3310 shutdown c \
https://w.atwiki.jp/macdemysql6/pages/15.html
Perl perlからいろいろなDB操作を行う。 DBIのインストール cpanのページからDBIモジュールをMacOSにインストールする。 ”DBI-1.609.tar.gz”こんな感じのファイルをダウンロードし、インストール。READMEを読もう。簡単にインストールができるはず。 DBD-mysqlのインストール cpanのページからDBD-mysqlモジュールをダウンロードし、インストールする。こいつはインストールがよくわからない。DBIのインストールだけでは、MySQLサーバに接続できないのでDBIとセットでインストールする必要あり。 とりあえず、perl Makefile.PL- make- make installでインストールできたけど。 Digestのインストール cpanのページからDigestをダウンロードし、いつもの通りインストール。READMEには具体的なコマンドが書かれていなかったので備忘録をば、、、 siro ~/Unix/build/Digest-1.16 Pipin$ perl Makefile.PL siro ~/Unix/build/Digest-1.16 Pipin$ make siro ~/Unix/build/Digest-1.16 Pipin$ make test All tests successful. siro ~/Unix/build/Digest-1.16 Pipin$ sudo make install Password Writing //System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Digest/.packlist Appending installation info to //System/Library/Perl/5.8.6/darwin-thread-multi-2level/perllocal.pod Perlスクリプト Step1 コネクト これができなきゃ始まらない。 #!/usr/bin/perl use DBI; my $rdb= DBI mysql gdb ; my $user= mysql ; my $pass= mysql ; # open mysql connection $dbh = DBI- connect($rdb, $user, $pass) or die "Cannt connect to MySQL"; # close mysql connection $dbh- disconnect;
https://w.atwiki.jp/m_shige1979/pages/455.html
MySQL 設定 サンプルソース MySQL MySQLi PDO