2013年12月31日火曜日

MySQLのデータベース管理者は、PostgreSQLを見て

Original post: http://anothermysqldba.blogspot.com/2013/12/a-mysql-dba-looks-at-postgresql.html

だから、これは/の旅ですMySQLのに探して、DBA のPostgreSQL 。 それだけの観察と例攻撃ではありません。 

使用してCentOSの6.5 64 -を: 

RPM-IVH http://yum.postgresql.org/9.3/redhat/rhel-6.5-x86_64/pgdg-centos93-9.3-1.noarch.rpm

YUM groupinstall "PostgreSQLデータベースサーバ9.3 PGDG" 
--->パッケージpostgresql93.x86_64 0:9.3.2-1PGDG。RHEL6がインストールされます 
--->パッケージpostgresql93-contrib.x86_64 0:9.3.2-1PGDG。RHEL6がインストールされます 
--->パッケージpostgresql93-libs.x86_64 0:9.3.2-1PGDG。RHEL6がインストールされます 
 
--->パッケージpostgresql93-server.x86_64 0:9.3.2-1PGDG。RHEL6がインストールされます 

YUM postgresql93·サーバーをインストールする 

サービスのpostgresql-9.3 initdbを 
初期化データベース:[OK] 
サービスのpostgresql-9.3スタート 
[OK]:のpostgresql-9.3サービスを開始 
上のpostgresql-9.3をchkconfigの 

以下の例はすべてに基づいているPostgreSQLのウィキ 
#SU - Postgresの 
-BASH-4.1 $のPSQL 
 
PSQL(9.3.2) 

Postgresは=#ユーザtestuserとパスワード設定'1234 'を作成します。 
CREATE ROLEを 
testuserとするスキーマ·テストされているすべてのpostgres =#付与管理; 
GRANT 

Postgresの= testuserとするスキーマ·テスト内のすべてのテーブルに掲示されているすべての#付与管理; 
GRANT 
Postgresの=#\ Q
-BASH-4.1 $出口
ログアウト
#SU testuserと

$ PWD 
/ホーム/ testuserと 
$ psqlの次元のPostgres 
PSQL(9.3.2) 

ヘルプ「ヘルプ」と入力します。 
Postgresは=>テーブルtest.test(COLTEST VARCHAR(20))を作成します。
CREATE TABLEを
Postgresは=> test.test(COLTEST)値( '!それが動作')に挿入;
0 1を挿入
Postgresは=> test.test SELECT * FROM;
COLTEST
-----------
動きます!
(1行目)

Postgresの=>テーブルtest.testをDROP。
DROP TABLEの
Postgresの=>

私はこれらのGRANTステートメントは9.3でうまく働いたことがわかりましたが、ディストリビューションは、もともと8。*バージョンをインストールし、コマンドの一部が失敗しました。 

ところで···もちろん、まだあなたが安定したRDBMシステムに期待される機能を備えています。 付与されたこれらの簡単な例です。 

Postgresの=> test.test SELECT * FROM EXPLAIN; 
クエリ·プラン 
-------------------------------------------------- ------ 
シーケンシャルスキャンテストで(コスト= 0.00 .. 19.20行= 920幅= 58) 

表示データベース== \ Lを 
Postgresの- >の\ L 
Postgresの| postgresの| UTF8 |はen_US.UTF-8 |はen_US.UTF-8 | 
template0に| postgresの| UTF8 |はen_US.UTF-8 |はen_US.UTF-8 | = C / Postgresは+ 
| | | | | postgresの= CTC / Postgresは 
template1に| postgresの| UTF8 |はen_US.UTF-8 |はen_US.UTF-8 | = C / Postgresは+ 

| | | | | postgresの= CTC / Postgresは 

使用することは、標準的なSQLです。 
Postgresの- >使用のPostgres 

すべてのスキーマをリストします。 

Postgresの- > \ DN 
公共| postgresの 

テスト| postgresの 

ショーは、テーブルを作成し、などがもう少し作業です。 付与されたMySQLのDBAは、理由我々がやって使っているものの多くの仕事としてそれが表示されます。 PostgreSQLはMySQLのユーザーがやってするのに使用されるよりも、表領域多くを使用しています。

  Postgresは=>テーブルは連番(somefieldはvarchar(255)、anotherfieldはvarchar(150)、日付フィールド日付)を作成します。 
  CREATE TABLEを 
  Postgresは=>は連番(somefield、anotherfield、日付フィールド)VALUES( 'FUBAR'、 'rabuf'、'2013-12-30 ')内に挿入します。 
  0 1を挿入 
  Postgresは=>(接触'FUBAR'、 'rabuf'、())は連番(somefield、anotherfield、日付フィールド)は値を挿入; 
  0 1を挿入 
  Postgresは=>(接触'fubar2'、 'rabuf2'、())は連番(somefield、anotherfield、日付フィールド)は値を挿入; 
  0 1を挿入 
  Postgresは=>は連番から*を選択します。 
   somefield | anotherfield |日付フィールド   
  ----------- + -------------- + ------------ 
   FUBAR | rabuf | 2013年12月30日 
   FUBAR | rabuf | 2013年12月30日 
   fubar2 | rabuf2 | 2013年12月30日 
  (3行) 

=> SELECT *は連番からsomefieldは= 'FUBAR'のpostgres; somefieldは| anotherfield |日付フィールド----------- + -------------- + ---- -------- FUBAR | rabuf | 2013年12月30日FUBAR | rabuf | 2013年12月30日(2行)

Postgresの=> \? < -ヘルプは、どのようにナビゲートする方法を紹介します。

表示テーブル== \ DT

Postgresの=> \ DT
関係のリスト
スキーマ|名前|タイプ|オーナー
-------- + ----------- + ------- + ----------
公共|連番で|テーブル| testuserと

Postgresの=>は連番[11]のCOLUMN intfield INTをADDのALTER TABLE、ALTER TABLE

連番でからのPostgres => SELECT *; somefield | anotherfield |日付フィールド| intfield ----------- + -------------- + -------- ---- + ---------- FUBAR | rabuf | 2013年12月30日| FUBAR | rabuf | 2013年12月30日| fubar2 | rabuf2 | 2013年12月30日|(3行)

ショーは、テーブルを作成する== \ D +テーブル名
Postgresの=> \ D +連番で
テーブル"public.sometable」
コラム|タイプ|モディファイ|ストレージ|統計対象|説明
-------------- + ------------------------ + ---------- - + ---------- + -------------- + -------------
somefield |キャラクター変化(255)| |拡張| |
anotherfield |キャラクター変化(150)| |拡張| |
日付フィールド|日付| |平野| |
intfield |整数[] | |拡張| |
OIDを持っている:なし


より多くのあなたがpgAdminのをインストールすることができます助けるために
YUM pgadmin3_93をインストールする

仕事にそれを取得し、どのように動作することは別の全体のブログの記事である可能性があります。

これまでのところ.... 私は、MySQLに固執しますが、これはPostgreSQLを使用するだけで単純化した例である。 これはあなた自身のために評価することができますあなたはあなたに始めることができます。

以下の便利なリンク。 彼らは私よりもPostgreSQLのより多くの経験を持っているとして、これらを参照してください。

2013年12月7日土曜日

ERROR 1356(HY000)

Original post: http://anothermysqldba.blogspot.com/2013/12/error-1356-hy000.html

エラー時に来たときに理解する最も重要なことは、少し時間をとってリラックスすることです。 
時々 、人々は、エラー全体を実行し、しどろもどろと欲求不満になる。 深呼吸をしてリラックスしてください。 時々 「 狂気はすべてのことのニーズが少し押しです。重力のようなもの 」と「時々質問は複雑で、答えは簡単です 。 " 

これはすべてについては何ですか? さてたとえば、私は最近、別のDBAに迷惑をした問題の解決に役立つように頼まれた。 何もそのDBAにまったく無礼で意味ないが、ラッシュの人々にあることは単なる見落とし 答え 彼らの前にあり、その代わりに分解スパイラル 狂気  

ここでは、状況の一般的な概念である。 

データベースのmysqldumpを実行した後、ユーザーは、テストであることに他の人のために別のデータベースに移動しました。 インポートがうまく働いた。 しかし、ユーザーは、作成済みのビューからクエリしようとした際にエラーが表示され始めた。 

MySQLの> <View_name>制限1から*選択します。 

ERROR 1356(HY000):ビュー'。<DB_NAME>た<Viewname>」参照の無効なテーブル(S)または列(S)または機能(S)またはそれらを使用するビューの欠如権の定義/実行者 

最初の反応は、何かが、インポートと間違っていたと仮定することでした。 ビューをしたか、実際に関連するテーブルが破損? 

いいえ。 

MySQLの>ショービュー<View_Name> \ Gを作成します。このエラーを解決するには、まず最初にTODOをすることでした 

おそらく、このような始まりなものが表示されます。 
*************************** 1。 行*************************** 
閲覧:訪問者 
 
ビューの作成 ​​:CREATEアルゴリズムは不定DEFINER = `<Some_user>` @ `<Some_host_or_IP>` SQLセキュリティのDEFINER拡大表示 

あなたが定義者が誰であるかを参照した後`<Some_user>` @ `<Some_host_or_IP>`は、そのユーザーのために助成金を表示することができます。 

MySQLの> `<Some_user>` @ `<Some_host_or_IP>`を表示:助成金; 

 ビュー不足権の定義/実行者はそれらを使用する 」:これは、解決策は、エラーが最初の場所で言っただけで何だっ判明 

それは簡単にあなたはそれがすでに動作しているデータベースでshow助成を行い、GRANTステートメントをコピーすることができようにするには、またはあなたが必要なデータを収集するためにビューを有効にするには、新しいデータベースに実装するために必要なアクセス許可はどのようなタイプを確認することができます。 

ユーザーおよびエラーの権限を簡単に更新が消えていた。 

 時々 、答えは簡単です 。 " 


2013年11月30日土曜日

コミュニティからの戦略

Original post: http://anothermysqldba.blogspot.com/2013/11/a-strategy-from-community.html

私たちは、MariaDBはFedoraやSUSEとRed HatでのMy​​SQLの交換についてのニュースを見てきました。

Oracleは、ニュースについて幸せではないでしょうが、オープンソースコミュニティは、Linuxに実装される「詳細」のオープンソースソリューションに焦点をサポートしています。

我々はすべて見てからMySQLからMariaDBに移動する決定や戦略が可能性が高いだけでは、Red Hat、上部経営者によって行われていなかった、ということです可能性が面白いこと。 これは、はるかにRed Hatが評価され、彼らは耳を傾け、オープンソースコミュニティからの移動である可能性が高い。

バックジャッキーYeaneyの(見てみ、これを考慮@ jackieyeaneyを 」について投稿) は、Red Hatの企業戦略プロセスの民主化 」(掲載11月10日、2011年)およびRed Hatがどのように機能するかを学びます。 オープン私たちの心を保つ " 我々は、オープンソースコミュニティ内の既存のネットワークを活用し、「」とRed Hatの外のアイデアを社会。" コミュニティは、オープン性を求めていましたし、結果は、Red HatがMariaDBへの移行があったことになり、それはおそらくイエスです、私の愚見では、Red Hatのオープン戦略に関連している。

ジム·ホワイトハーストJWhitehurst @は、 「与えられた十分な眼球、すべてのバグ:)ではないという理由だけで、それが会社に報酬を与えるだけでなく、それは彼らがどのように動作するか革命をもた らしどのので、戦略的な意思決定を行い、他の人からの入力を取る金融ゲインのオープンソースコミュニティを受け入れるように見える浅い。 "

MySQLには、最後の文を関連付けるために時間を取る。 MySQLをたどる場合bugs.mysql.comサイトでは、あなたは、Oracleが閉じていることをよく知っている(あるいは今ではあまり開いてバージョンを持っている)。 Oracleはそのための独自の企業の推論がありますが、オープンソースコミュニティは、「十分な眼球を考えると、すべてのバグが浅い。」の説明

MariaDBは成長し、さらに関連したバグ追跡がオープンされるデフォルトのDBとしてのLinuxディストリビューションに埋め込まれ、それをバグが長期的にはマリアとMySQL間で分割方法を見て興味深いものになるようになると。

だから今.. MySQLはOracleがまだあるためMariaDBの起こった動きを国有企業や地域社会のバージョンを持っていたが興味深い点です。 オラクルは、Javaや関連OpenJDKのを所有しています。 私はちょうどインチ見て部外者としてこれを求めていながら、.. のJava / OpenJDKのは、Oracleが所有していなかった別のソフトウェアパッケージに分岐した場合、我々はすぐにもレッドハットは、Java / OpenJDKのための交換を参照してくださいだろうか? 再び私は、Javaの世界への部外者ですので、私はちょうどのための類似のそれは、MySQLと表しますようお願いいたします。 

2013年11月19日火曜日

MariaDB&Linuxディストリビューション

Original post: http://anothermysqldba.blogspot.com/2013/11/mariadb-linux-distributions.html

だから今、多くの皆さんのことでグーグル、SUSEおよびRed Hat / Fedoraのではなく、MySQLのデフォルトのデータベースとしてMariaDBへの移行についてのニュースを見てきました。

MariaDBとSkySQLは、今年は非常に生産的なビジネスの動きをした。 これは本当にMySQLのコミュニティと一般的なオープンソースコミュニティのために何を意味するのでしょうか?

スターターは、MySQLはとても人気が作ったものに戻って考えるために? これは、すべてのトップのLinuxディストリビューションで容易に利用可能であった。

オープンソースの焦点移動のプッシュが始まったので、OpenSuseのとFedoraは既にMariaDBに動いている。 デフォルトのデータベースとしてMariaDB持つRHELの移行に続いて、その後もCentOSのはすぐにデフォルトのデータベースとしてMariaDBなければならないことを意味します。

従うことがすぐにそうではUbuntuとDebianのによって動きになります。 私はすでに移動中にニュースを逃したかもしれないが、私はそうは思わない。

このすべてがビッグニュースとMariaDBとオープンソースコミュニティのための動きである。 MariaDBは当然、よりユーザーの受け入れと使用を参照するために開始されます。 OracleのMySQLはまだオープンソースソフトウェアパッケージですが、大きな問題は、MySQLユーザーのバグbugs.mysql.comサイトと追跡されています。 人々はすぐにMariaDBでより多くのバグを追跡するために開始されます?

MariaDBはまた、OracleのMySQLにおける唯一のソリューションが利用できる企業を模倣する、オープンソースの機能を備えています。 だから、多くのユーザーは、当然これらの機能でピックアップしようとしている。

Oracleは、優れた機能とコードを構築していますが、どのように多くの地域では、それを取っている間? MySQLは5.1は重くLinuxディストリビューションと、多くのユーザーが唯一のMySQL 5.1を知っていて、こんなに早くMariaDB 5.5かもしれない使用されるコミュニティで使用されています。

次に何が起こるのだろうか?
まあ何Oracleが行うことを決定すると見られるようにまだ、まだです。 OracleはすでにオラクルのLinux(OEL)を構築するためにRed Hat Linuxを取る。 だから皮肉にも今では、OracleのMySQLのからフォークさMariaDBは、、彼らのOELのために削除するには、Oracle用のRed Hat Linuxになります。 Oracleは、いくつかの方法でJavaと反撃のでしょうか?

Perconaは何をしますか? Perconaもこの中でプレイヤーであると長年にわたってMariaDBとOracleとの尊重の関係を持っていた。 それがどんな動きはPerconaの一部で発生しているかどうかを好奇心旺盛になりますので、当然のことながら、Perconaは物事のオープンソースの側に向かって無駄のない。 多くのツールはすぐになってMariaDBの機能に焦点を当てたのだろうか?

MariaDB何をしますか? まあ、のバグの成長率を監視MariaDBバグデータベースには MariaDBを取るし始めているどのように多くの人々を示して助ける。
マリアは、ある時点で、MySQLのソースコードの更新から脱却し、ちょうど社会とそのエンジニアとビルドを続けるのだろうか?

だから、次に何が起こる? 我々は知らない。 これは、オープンソースコミュニティに任されています。 怒りの声の多くは長年にわたってオラクルに向けられていた。 だから、どのようにそれらの声はすぐに見られるようになりますを変更したり、MariaDBのサポートを示してください。 それらの多くは、おそらく既にMariaDBサポートしていますが、それはMariaDBは、MySQLに関してで行う方法も示します大衆の採用である。 多くの企業が名をMySQLの知っていると(これは先日私に起こった。)MariaDBに移動することをためらうようになります。 だからMariaDBの仕事はまだ終わっていません。
そして、まだこのすべての後に... オラクル、レッドハットとGoogleはまだするために一緒に来る私たちの政府を支援する

2013年10月31日木曜日

GoogleクラウドSQLでMySQLの

Original post: http://anothermysqldba.blogspot.com/2013/10/mysql-in-google-cloud-sql.html

あなたはまだこれを見ていない場合.. かなりクール...

"MySQLデータベースとMySQLクライアント、および他の管理とレポートツールその仕事を使用してアクセスする。"ことができる

http://gigaom.com/2013/10/30/google-woos-mysql-faithful-to-its-cloud/

"GoogleクラウドSQLはGoogleクラウドSQLは、使いやすいです。それはいくつかの追加機能と、下記のようにいくつかのサポートされていな い機能で、すべての機能とMySQLの機能を持っていますGoogleのクラウドに住んでMySQLデータベースです必要としません任意のソフトウェアの インストールや保守及び中小アプリケーションに最適です。 "

https://developers.google.com/cloud-sql/docs/introduction

2013年10月11日金曜日

Percona 5.6(MariaDB&MySQLの)&のDebian / Ubuntuの

Original post: http://anothermysqldba.blogspot.com/2013/10/percona-56-mariadb-mysql-debianubuntu.html

立ち上がって、DebianでPercona 5.6で簡単に実行されている。
この例では、実行されているLinuxのミント15



PERCONA 5.6:
http://www.percona.com/doc/percona-server/5.5/installation/apt_repo.html
linuxmint ~ # apt-get install percona-server-server-5.6 percona-server-client-5.6
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libaio1 libdbd-mysql-perl libdbi-perl libmysqlclient18 libmysqlclient18.1 libnet-daemon-perl libplrpc-perl
percona-server-common-5.6
Suggested packages:
tinyca
The following NEW packages will be installed:
libaio1 libdbd-mysql-perl libdbi-perl libmysqlclient18 libmysqlclient18.1 libnet-daemon-perl libplrpc-perl
percona-server-client-5.6 percona-server-common-5.6 percona-server-server-5.6
0 upgraded, 10 newly installed, 0 to remove and 3 not upgraded.
Need to get 40.6 MB of archives.
After this operation, 140 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
linuxmint ~ # mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'"
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
linuxmint ~ # mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'" -p
Enter password:
linuxmint ~ # mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'" -p
Enter password:
linuxmint ~ # mysql -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'" -p
Enter password:
linuxmint ~ #
linuxmint ~ # mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 52
Server version: 5.6.13-rc61.0 Percona Server (GPL), Release 61.0

Copyright (c) 2009-2013 Percona LLC and/or its affiliates
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SELECT VERSION();
+---------------+
| VERSION() |
+---------------+
| 5.6.13-rc61.0 |
+---------------+
1 row in set (0.04 sec)

MariaDB 10&5.5の両方が以下となった
https://downloads.mariadb.org/mariadb/repositories/


linuxmint ~ # apt-get install mariadb-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

だから、確認する必要が
https://mariadb.com/kb/en/installing-mariadb-deb-files/

linuxmint ~ # apt-cache show mysql-common | grep Version
Version: 5.5.33a+maria-1~raring
linuxmint ~ # apt-cache show libmysqlclient18 | grep Version
Version: 5.5.33a+maria-1~raring

linuxmint ~ # apt-get install mariadb-server-5.5 mariadb-client-5.5 libmysqlclient18=5.5.33a+maria-1~raring mysql-common=5.5.33a+maria-1~raring
Reading package lists... Done
Building dependency tree
Reading state information... Done

MySQLは:
http://dev.mysql.com/downloads/mysql /
からDebianパッケージをダウンロードすることが可能ですdev.mysql.com /ダウンロードサイト。