約 4,451,592 件
https://w.atwiki.jp/takaidohigasi/pages/31.html
- 人目 ( ̄ー ̄)/~~ アリガトネ MySQL5.5 リファレンス 2. MySQLのインストールおよびアップグレード 2.1 共通インストールガイド 2.1.1 MySQL Community ServerでサポートされるOS ORIGINAL http //dev.mysql.com/doc/refman/5.5/en/supported-os.html MySQL Community ServerでサポートされるOS この節では、MySQLが動作することが確認されているOSについてリストアップします。 重要 オラクル社は、必ずしもこの節に記載の全てのプラットフォームの公式サポートをしておりません。公式にサポートされているプラットフォームに関しては、MySQLウェブサイトの[[http //www.mysql.com/support/supportedplatforms.htm]]をご覧ください。 我々は、MySQLを現代のC++コンパイラがあり、POSIXスレッドが動作する全てのシステム上で動くようにするために、CMakeを使っています(スレッド機能のサポートはサーバーには必須です。クライアントコードをコンパイルするだけなら、C++コンパイラだけ必要となります)。 MySQLは、下記のOSとスレッドのパッケージで正常にコンパイル出来ることが報告されています。 ネイティブスレッド機能があるFreeBSD 5.x 以上。詳細は2.8節の「MySQLのFreeBSDへのインストール」を参照。 ネイティブスレッド機能があるHP-UX 11.x。詳細は2.8節の「MySQLのHP-UXへのインストール」を参照。 Linux。2.6カーネルに基づいた近年の全てのディストリビューション。詳細は2.5節の「MySQLのLinuxへのインストール」を参照。 Max OS X。詳細は「MySQLのMax OS Xへのインストール」 ネイティブスレッドへのサポートがあるSPARCおよびx86上のSolaris 2.8。詳細は2.6節MySQLのSolarisおよびOpenSolarisへのインストールを参照。 Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008。詳細は2.3節の、「MySQLのMicrosoft Windowsへのインストール」を参照 過去のバージョンでは、他のシステムでも稼働が確認されています。詳細は2.1節の「共通インストールガイド」を参照してください。これらのシステムに現在のバージョンを移行するにはいくつか苦労する点があるかもしれません。 全ての環境がMySQLを動かすのに等しく適しているというわけではありません。あるプラットフォームが負荷の高いミッションクリティカルなMySQLサーバーにどの程度適しているかは、下記の要素で決まります。 スレッドライブラリの安定性。 A platform may have an excellent reputation otherwise, but MySQL is only as stable as the thread library it calls, even if everything else is perfect. カーネル・スレッドライブラリが、SMP(symmetric multi-processor)システムの利点をどの程度活かせるか。言い換えれば、プロセスがスレッドを生成した時、そのスレッドが元のプロセスと違うCPUでさばけること カーネル・スレッドのライブラリが、mutex獲得・解放をコンテキストを過剰に変えることなく、。pthread_mutex_lock()の実装がCPU時間に依存しすぎるならば、MySQLの性能を大きく損ないます。この問題が考慮されない場合は、CPUを増やすことが、MySQLを遅くすることにつながります。 The capability of the kernel and the thread library to run many threads that acquire and release a mutex over a short critical region frequently without excessive context switches. If the implementation of pthread_mutex_lock() is too anxious to yield CPU time, this hurts MySQL tremendously. If this issue is not taken care of, adding extra CPUs actually makes MySQL slower. ファイルシステムの安定性及び性能. テーブルサイズ。もしテーブルが大きければ、ファイルシステムが大きいファイルを効率的に扱えるかどうかが性能に影響します。 オラクル社がそのプラットフォームにどの位熟練しているか。知っているプラットフォームに関しては、プラットフォーム特有の最適化をコンパイル時に行っています。MySQLのコンフィグを最適化する方法についてもアドバイス出来ます。 我々が内部で 同様のコンフィギュレーションでテストをしたことがある回数 同じようなコンフィグでうまく動いているMySQLのユーザ数。この数字が大きければ、プラットフォーム特有の問題に直面する可能性は低くなります。
https://w.atwiki.jp/inuko/pages/12.html
本家サイト(SUNに吸収された模様) http //www.mysql.com/ ユーザの追加 localからアクセスする"inuko"さんを追加パスワードは"inuko_pass" grant all on *.* to inuko@localhost identified by inuko _pass; 繋ぐ時は %$mysql_home%\bin\mysql -u inuko -p Enter password **********
https://w.atwiki.jp/lmes2/pages/191.html
Oracle 目次 参考 TIPS1 TIPS2ROWID擬似列 ROWNUM擬似列 TO_DATE関数 TO_CHAR関数 NVL関数 トランザクション COMMIT ROLLBACK デッドロック SAVEPOINT データーディクショナリビュー 参考 SQLの窓 / いきなり PL/SQL SQLの窓 / Oracle Enumeration 忘れっぽいエンジニアのORACLE/オラクルSQLリファレンス オラクル ちょこっとリファレンス techbank.jp / Oracle 8i/9 の基本 SHIFT the Oracle - Oracle DBA, Oracle SQL and PL/SQL Tips Cyberam Documents Project / Oracle SQL言語入門 Cyberam Documents Project / Oracleデータベース管理入門 TIPS1 oracleのサンプル満載、IT技術の処方箋はサーチマン Oracle Database - Wikipedia @IT総合トップ / テクノロジー / Database Expert / 連載記事 「Oracle SQLチューニング講座」 TIPS2 ROWID擬似列 ROWID - オラクル・Oracleをマスターするための基本と仕組み ROWNUM擬似列 ROWNUM - オラクル・Oracleをマスターするための基本と仕組み TO_DATE関数 SHIFT the Oracle / TO_DATE TO_CHAR関数 SHIFT the Oracle / TO_CHAR(数値) SHIFT the Oracle / TO_CHAR(日付) NVL関数 SHIFT the Oracle / NVL、COALESCE トランザクション トランザクションSQL -TECHSCORE- SHIFT the Oracle / トランザクション COMMIT SHIFT the Oracle / COMMIT ROLLBACK SHIFT the Oracle / ROLLBACK デッドロック SQLの窓と銀プログラマ / Oracle デッドロックテスト SAVEPOINT Cyberam Documents Project / SAVEPOINT データーディクショナリビュー オラクル ちょこっとリファレンス - データディクショナリ編
https://w.atwiki.jp/gomigomi/pages/46.html
mysql 名前 内容 備考 MySqlCharactersItemStorage.java MySqlCharacterStorage.java
https://w.atwiki.jp/dellkeitai/pages/32.html
チューニング http //dsas.blog.klab.org/archives/50860867.html http //open-groove.net/mysql/seek-mysql-memory/ キャッシュを使わない SELECT SQL_NO_CACHE ~ インデックス情報の確認 show index from テーブル名 統計情報の再取得 analyze table テーブル名 スキーマ情報 select column_name from INFORMATION_SCHEMA.COLUMNS ストアドサンプル create table t (a int auto_increment primary key, b int,c int, unique index u_in (b)); insert into t(b,c) values (2,20); insert into t(b,c) values (3,40); DROP PROCEDURE IF EXISTS p; DELIMITER // CREATE PROCEDURE p (IN inb INT, IN inc INT) BEGIN UPDATE t SET C = inc WHERE B = inb and c = 20; IF ROW_COUNT() = 0 THEN INSERT INTO t(b,c) values (inb, inc); END IF ; END; DELIMITER ; call p(2,30); call p(3,30); call p(4,30); CSVファイル取り込み 例 mysql load data infile e /test.csv into table t1 fields terminated by , enclosed by " lines terminated by \r\n (@var1,@var2) set b = cast(@var1 as signed), a = cast(@var2 as signed); 注意点 CSVファイルのデータに「"", ""」のようにカンマの後にスペースがあるとうまく動かない」 ダンプ出力 mysqldumpだとストアドが標準では出力されない。-Rオプションを付与する必要がある。 mysqldump /*!50001 DROP TABLE `v_company_info_list`*/; これはMySQL5.0.00.1以上のバージョンでのみ対応していること mysqldumpの読み込みでエラー ERROR 1227 (42000) at line 行数 Access denied; you need the SUPER privilege for this operation /*!50013 DEFINER=`ユーザー名`@`%` SQL SECURITY DEFINER */ SECURITY DEFINERは作成したユーザの権限で実行するらしい MySQLのマニュアルに以下のようにかいてあった http //dev.mysql.com/doc/refman/5.1/ja/create-view.html DEFINER節を規定する場合、SUPER権限を持っていない限り、ユーザの値を除くいかなるアカウントにも値を設定することはできません。 要はSUPER権限を付与する必要があるということか? update user set super_priv= Y where user= ; 上記コマンド実施後、MySQLを再起動したら動いた。 参考URL http //nippondanji.blogspot.com/2010/04/mysqlmysql-554.html 文字コードの確認 show variables like character_set% ; show create database ***; 文字コードの変更 alter database *** character set cp932 新規データ登録 package sijo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Random; import java.util.logging.Logger; public class DataInsert { private static final Logger LOGGER = Logger.getLogger("DataImport"); /** * @param args * @throws Exception */ public static void main(final String[] args) { final long start = System.currentTimeMillis(); new DataInsert().execute(); final long end = System.currentTimeMillis(); LOGGER.info("処理時間(秒) " + (end - start) / 1000); } /** * データ登録実行処理 */ public void execute() { try { connectionManager(connection()); } catch(SQLException e){ LOGGER.severe("異常発生"); } } /** * DBとのコネクション作成処理 * MySQL専用。バッチ処理対応 * @return * @throws SQLException */ private Connection connection() throws SQLException { final String JDBC_URL = "jdbc mysql //localhost/db"; final String JDBC_USER = "user"; final String JDBC_PASS = "password"; try { return DriverManager.getConnection(JDBC_URL + "?rewriteBatchedStatements=true", JDBC_USER, JDBC_PASS); } catch (SQLException e) { LOGGER.severe("DBとのコネクションに失敗 " + e); throw new SQLException(); } } /** * コネクション管理処理。 * 作成済みのコネクションを使用して、ステートメントの作成、コネクションの解放を行う。 * @param conn * @throws SQLException */ private void connectionManager(final Connection conn) throws SQLException { try{ conn.setAutoCommit(false); final PreparedStatement pstmt = conn.prepareStatement(getSql()); executeSql(conn, pstmt); }catch(SQLException e){ LOGGER.severe("SQL文の実行でエラー " + e); throw new SQLException(); }finally{ conn.close(); } } /** * データ登録管理処理 * 作成済みのステートメントに値をセットし、データ登録する。 * 登録する件数や、コミットするタイミングを設定する。 * @param conn * @param pstmt * @throws SQLException */ private void executeSql(final Connection conn, final PreparedStatement pstmt)throws SQLException{ // 登録するデータ件数 final int COUNT = 100000; //コミットするタイミング。COMMIT_SIZE件数毎にコミットする final int COMMIT_SIZE = 10000; //一度に登録する件数。バッチ処理 final int BATCH_SIZE = 500; System.out.println(COUNT / COMMIT_SIZE + "回登録します"); for (int i = 1; i = COUNT; i += BATCH_SIZE) { executeBatch(pstmt, i, BATCH_SIZE); if ((i + BATCH_SIZE - 1) % COMMIT_SIZE == 0) { conn.commit(); System.out.print("*"); } } conn.commit(); } /** * INSERT文を設定。 * オーバーライドして使用する。 * @return */ String getSql(){ return "insert into table (a) values (?)"; } /** * バッチ実行処理。 * 登録する値をセットする。 * オーバーライドして使用する。 * @param pstmt * @param i ユニークNoのセットのためのループカウント * @param BATCH_SIZE * @throws SQLException */ void executeBatch(final PreparedStatement pstmt,final int i,final int BATCH_SIZE) throws SQLException{ pstmt.clearBatch(); Random rand = new Random(); for (int j = 0; j BATCH_SIZE; j++) { pstmt.setObject(1, i + j);//発注番号 pstmt.addBatch(); } pstmt.executeBatch(); } } データ移行 サービスの登録 C \usr\mysql\bin mysqld-nt.exe --install
https://w.atwiki.jp/karaiknowledge/pages/31.html
テーブルへデータをインポートする。 mysqlimport --local mydb emp.txt -u root -p テーブルへCSV形式のデータをインポートする。 LOAD DATA LOCAL INFILE /root/data.csv REPLACE INTO TABLE `mytable` FIELDS TERMINATED BY , ENCLOSED BY " ; テーブルからデータをエクスポートする。 mysql -B --skip-column-names -D mydb -e select * from emp; -u tanaka -p out.txt Edited By karai 2007年11月19日
https://w.atwiki.jp/thiroyoshi/pages/56.html
MySQLについてのメモ コマンド 大体すべてのコマンドは以下のページで書いてあるのでそちらを参照。 MySQLクイック・リファレンス 初期設定 MYSQLをインストールしてからまずは初期設定をしなければいけない。 インストールしただけでは、データベースやテーブルは存在せず、つまりはユーザーのテーブルもないということ。 なので、ユーザー情報を作るために次のコマンドを実行し初期化する。 mysql_install_db これで「root」と「」(名前なし)ができる。 これができたら、次はMYSQLにログインする。 (もし、MYSQLが実行していなければ実行する) mysql -u root -p でログインする。パスワードを求められるが、何も入力せずEnterで入れる。 次にすることは2つ。 rootのパスワードを設定 ユーザー「」を削除するこれがあるとコマンドが「mysql」のみでだれでもログインすることができてしまう ということで上から順に行っていく。 まず、rootのパスワード設定は以下のコマンドで。 set password for root@localhost=password( パスワード ); これで設定完了。 一旦ログアウトして、もう一度ログインして確認してみるといい。 そして、ユーザー「」を削除する。 delete from user where user=""; 以上で、初期設定は終了。 ユーザーの追加 SELECT, INSERT, UPDATE, DELETE のみが実行できるローカルユーザを追加 mysql GRANT SELECT , INSERT , UPDATE , DELETE ON *.* TO ユーザID@"localhost" IDENTIFIED BY "パスワード"; mysql FLUSH PRIVILEGES; すべての権限を持つユーザを追加 mysql GRANT ALL ON *.* TO ユーザID@"localhost" IDENTIFIED BY "パスワード"; mysql FLUSH PRIVILEGES; 参考URL MySQLユーザの追加 データベースを文字コードを指定して作成 mysql create database XXXX default character set YYYY; XXXXはデータベース名 YYYYは文字コードutf8:UTF-8 sjis:Shift JIS ujis:EUC JP 例 データベースCS611を文字コードShift_JISで作る mysql create database CS611 default character set sjis; 文字コード設定を調べる 現在の状態を表示 mysql show variables like character_set% ; もしくは mysql status データベースの場合 mysql show create database データベース名; テーブルの場合 mysql show create table テーブル名 \G 参考URL http //ext.omo3.com/linux/mysql_character_set.html
https://w.atwiki.jp/tak_is/pages/15.html
Knowledge オブジェクト情報取得 オブジェクト間の依存情報取得 外部キーの情報を一覧で取得 tnsnames.oraの場所を探す Oracleが応答しない(Oracle11g) 異なるバージョンでのデータ移行 表領域の使用率確認・拡張 パスワードを無期限にする(11g) SQLパフォーマンス調査 インポート・エクスポートまとめ リスナーが起動しない(タイムアウトする) 小ネタ集 オラクルエラー対処法 障害発生時にすること ORA-12514(リスナー接続エラー) ORA-12516(Oracle接続不可) ORA-12528(Oracle起動エラー) ORA-00257(アーカイブログエラー) PL/SQL プログラミング SQLPlusでストアドを実行する ストアドからファイル出力する Triggerで自分自身のテーブルを参照する 全オブジェクト削除SQL その他 Oracleライセンス SQL*Plusを便利に使う フォルダ内のSQLファイルの一括実行 LinuxでOracleメモ
https://w.atwiki.jp/lookworld/pages/51.html
SQL Plusを使用してDBを操作するには、Oracle Net8 assistant(プログラム名)で適切な設定をする必要があります。 (Oracle 8i 8.1.7.0.1) Oracle Net8 assistantでの設定手順 サービス名 | 編集 | 作成.... 起動 sqlplusSQL Plusの終了 SQL exit外部エディタを使用してSQLファイルの作成 SQL ed FileName 通常の保存先:c \orant\bin\FileName.sql ファイルに保存したSQL文を実行 SQL @FileName作成した表の確認 SQL describe TableName作成した表を削除 SQL drop table TableName入力したSQL文をファイルに保存 SQL save FileName実行結果(log)をファイルに保存開始/終了 SQL spool FileName SQL spool off直前に入力/実行したSQL文を実行 SQL /現在ログイン中のユーザーの表示 SQL show user読み込まれているSQL文の表示 SQL list接続/切断 SQL connect UserName/Password@InstanceName SQL disconnect一行表示/消去 SQL l LineNumber SQL del LineNumber文字列の置き換え SQL c/wrong_word/right_word編集行の移動 行番号を入力しリターン Server Manager の操作 起動/終了 SVRMGR30 EXITデータベースの起動/停止 SVRMGR connect internal/oracle SVRMGR startup SVRMGR shutdown LSNRCTL の操作 起動/終了 LSNRCTL80 EXIT状況/起動/停止 LSNRCTL status LSNRCTL start LSNRCTL stop SQL文 データディクショナリの表示 select * from dict where table_name like USER% ; (そのユーザに関する情報) where table_name like ALL% ; (そのユーザがアクセス可能なすべての情報) where table_name like DBA% ; (データベース全体に関する情報)ユーザの作成/変更/削除/確認 create user UserName identified by Password default tablespace AREA1 temporary tablespace TEMP quota unlimited on AREA1 quota 2M on AREA2; alter user UserName identified by Password1 default tablespace AREA2 temporary tablespace TEMP2 quota unlimited on AREA2; drop user UserName cascade; select username,default_tablespace,temporary_tablespace from user_users; select * from user_ts_quotas; select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users; システム権限の付与/取り消し/確認 grant create session,create user to UserName; revoke create user from UserName; select * from session_privs;オブジェクト権限の付与/取り消し/確認 grant select,alter,delete,index,insert,references,update,execute on ObjectName to UserName; all, grant update(name,id)... revoke select on ObjectName from UserName; select * from user_tab_privs_made; select * from user_tab_privs_recd;ロールの付与/取り消し/確認 grant connect,resource,dba to UserName; revoke dba from UserName; select * from session_roles;表の作成 create table TableName ( a number(4) constraint a_pk primary key , b varchar2(30) , c number(7.2) constraint c_check check( c = 0 and c 200 ) , d number(3) constraint d_fk references TabeleName(ID) , e number(3) constraint E_NN not null , f number(3) constraint F_U unique , g number(4) default 230 ); create table TableName ( a number(4) , b varchar2(30) , c number(7.2) , d number(3) , e number(3) constraint E_NN not null , f number(3) , g number(4) default 230 , constraint a_pk primary key (a) , constraint c_check check( c = 0 and c 200 ) , constraint d_fk (d) references TabeleName(ID) , constraint F_U unique(f) );制約の確認 select owner,constraint_name,constraint_type,table_name, search_condition,r_constraint_name,status from user_constraints; select owner,constraint_name,table_name,column_name from user_cons_columns; select data_default from user_tab_columns;表の削除 drop table TableName cascade constraints; truncate table TableName; delete from TableName;表名の変更 rename TableName to TableName2;列の追加/変更 alter table TableName add ( ii number(3) constraint ii_nn not null constraint ii_u unique ); alter table TableName modify (name constraint name_nn not null);制約の追加/削除 alter table TableName add constraint NUM_check check( NUM 0 ); alter table TableName drop constraint NUM_check;既存の表から新しい表を作成 create table TableName as select a,b from TableName2 where c=10; create table CopyTable as select * from OriginalTable where 1=2;ビューの作成/削除/確認 create or replace view ViewName as select a,b from TableName where c=10; drop view ViewName; set long 800 set arraysize 1 select view_name,text from user_views;索引の作成/削除/確認 create index IndexName on TableName(row1,row2) tablespace TableSpaceName; drop index IndexName; select index_name,table_name,uniqueness from user_indexes; select index_name,table_name,column_name from user_ind_columns;シノニムの作成/削除/確認 create public synonym SynonymName for Skima.Object; drop public synonym SynonymName; select * from user_synonyms; (private) select * from all_synonyms; (public)順序の作成/削除/キャッシュの変更 create sequence SequenceName start with 5 increment by 2 nomaxvalue nominvalue nocycle nocache; drop sequence SequenceName; alter sequence SequenceName cache 3;検索/追加/更新/削除 select distinct a, b from TableName order by a desc(asc) select sum(SAL) from emp min,max,avg, select ename,job from emp where job like %A% select ename from emp where sal in (150,200,300) select ename from emp where mgr in not null insert into TableName (Col1,Col2) values (12, aa ); insert into emp2 select * from emp where job= manager ; insert into emp2(empno,ename,job) select empno,ename,job from emp; insert into emp (empno,ename) values(41,null) update TableName set Col1=15, Col2= bbb where Col0=8; delete from TableName where Col0=8; 管理用SQL文 データベースファイルの情報を見る select * from sys.dba_data_files ; 表領域情報の確認 select * from sys.dba_tablespaces ; select tablespace_name, file_id, count(*) "PIECES", max(blocks) "MAXMUM", min(blocks) "MINIMUN", avr(blocks) "AVERAGE", sum(blocks) "TOTAL" from sys.dba_free_space group by tablespace_name, file_id ; ユーザオブジェクトのリスト select * from user_objects ; 現在どのユーザがどのマシンでアクセスしているか確認 select username, program, terminal, osuser, status from v$session where user# != 0 ; REDOログの状態を確認 select * from v$log ; REDOログファイルの確認 select * from v$logfile ; REDOログファイルの削除/作成 alter database drop logfile group 1 ; alter database add logfile group 1 /ora/data/log1.log size 50K ; パフォーマンスチューニング ライブラリキャッシュのチェック select sum(pins),sum(reloads), sum(reloads)/(sum(pins)+sum(reloads))* 100 from v$librarycache ; ディクショナリキャッシュのチェック(5~10%を越えないように) select sum(getmisses)/(sum(gets)+sum(getmisses))*100 from v$rowcache; ソート領域のチューニング(この値が高いとメモリの使用効率が悪い。initxxx.ora の SORTB_AREA_SIZE を調整) select v2.value/(v1.value+v2.value)*100 from v$sysstat v1, v$sysstat v2 where v1.statistic# = 161 and v2.statistic# = 162; インデックスの拡張回数の上限に達した時の対処 select count(*) from DWC207T; select count(*),sum(bytes) from user_extents where segment_name= PK_DWC207T ; alter table DWC208T drop primary key; alter table DWC208T add constraint PK_DWC208T prinmary key ( P_N,REV_NO,COOC,TRN_DATE) using index pctfree 5 tablespace JEIS_INDEX storage ( initial 40M next 1M );
https://w.atwiki.jp/yumetore/pages/14.html
knowledge of Oracle SQL trouble of Oracle DBTool 関連技術: Oracleが接続できない時の調査手順 cmdプロンプトから ①「 ping 111.111.11.11」にてDBサーバのIPが通っているかを確認する ②OKであれば「 tnsping TNSNAMES」にてTNSNAMEが通るか確認する それでもつながらなければ、環境変数のORA_HOMEを確認するとうを試してみる。 参考URL http //www.shift-the-oracle.com/