『Beginning Linux Programming』学習ノート04:MySQL

1756 ワード

『Beginning Linux Programming』学習ノート04:MySQL
第8章「MySQL」の学習ノート.今LAMPは大いに発展して、まだC/C++インタフェースを使うのは少し非主流ですか?
MySQLのインストールと構成
以下は、ホスト(Windows)のNetBeansから旅客機(VirtualBoxのDebian)のMySQLデータベースに接続できるインストール構成手順です.
  • MySQLデータベースと開発キットのインストール:
    
                    root@vdeb:~$ apt-get install mysql-server
                    root@vdeb:~$ apt-get install libmysqlclient-dev
                
    インストール後、MySQLは自動的に実行されます.
  • 編集/etc/mysql/my.cnfは、「bind-address=127.0.0.1」という行をコメントし、「default-storage-engine=INNODB」という行を追加し、MySQL:
    
                    root@vdeb:~$ mysqladmin -uroot -p shutdown
                    root@vdeb:~$ mysqld_safe &
                
    を再起動します.これにより、リモートクライアントからMySQLデータベースにアクセスでき、デフォルトのMYISAMではトランザクションがサポートされていないため、ストレージエンジンはInnoDBに変更されます.
  • セキュリティの問題のため、rootユーザーはデフォルトでリモートログインをサポートしません.したがって、別のユーザを作成し、対応する権限を付与することが望ましい:
    
                    zhyi@vdeb:~$ mysql -uroot -p
                    mysql> create database zhyidb;
                    mysql> grant all on zhyidb.* to 'zhyi'@'%' identified by 'pwd';
                    mysql> \q
                
    以上のコマンドは、データベースzhyidbを作成し、そのすべての操作権限をユーザzhyiに付与する.ユーザzhyiは自動的に作成され、初期パスワードは「pwd」であり、'zhyi'@'%'は任意のリモートホストからzhyiユーザを使用してログインできることを示す.
  • VirtualBoxでポート転送3306→3306を構成し、作成したばかりのzhyidbデータベースをNetBeansのデータベースエクスプローラで直接接続できます.ここはJDBCクライアントですが、他のタイプのクライアントでも問題ないはずです.

  • SQL文の実行
    見ないと分からないので、見てびっくり!Cインタフェースを通じてデータベースを操作するのは比較的に高いと思っていたが、結果は見れば見るほど見覚えがある:これはJDBCの翻版ではないか.(逆に言うべきかもしれませんが)クエリーの実行も操作も同じです.このように見ると、JDBCは実際には2層パッケージ(JDBCインタフェース→JDBCドライバ→データベースAPI)ですが、JPAのストリームのパッケージ階層はさらに高くなり、パフォーマンスが非常に難しいのも無理はありません.