MySQL シリーズ 3 基礎

MySQL シリーズ 3 基礎

チュートリアルシリーズ

MySQL シリーズ: MySQL リレーショナル データベースの基本概念
MySQLシリーズのMariaDBサーバーのインストール
MySQL シリーズ II マルチインスタンス構成
MySQL シリーズ 4 SQL 構文
MySQLシリーズ5つのビュー、ストアド関数、ストアドプロシージャ、トリガー
MySQL シリーズ 6 のユーザーと認証
MySQL シリーズ 7 MySQL ストレージ エンジン
MySQL シリーズ 8 MySQL サーバー変数
MySQL シリーズ 9 MySQL クエリ キャッシュとインデックス
MySQL シリーズ 10 同時実行制御を実装するための MySQL トランザクション分離
MySQL シリーズ 11 ログ
MySQL シリーズ 12 バックアップとリカバリ
MySQL シリーズ 13 MySQL レプリケーション
MySQL シリーズ 14 MySQL 高可用性実装
MySQLシリーズ15 MySQL共通設定とパフォーマンスストレステスト

1. MySQL の紹介

MySQL はもともとオープンソースのリレーショナル データベース管理システムでした。その最初の開発者はスウェーデンの会社 MySQL AB でしたが、2008 年に Sun に買収されました。 2009 年に Oracle が Sun を買収し、MySQL は Oracle 製品になりました。

しかし、Oracle に買収された後、Oracle は MySQL の商用バージョンの価格を大幅に引き上げ、別のフリーソフトウェア プロジェクトである OpenSolaris の開発をサポートしなくなりました。その結果、フリーソフトウェア コミュニティは、Oracle が MySQL Community Edition (MySQL の唯一の無料バージョン) のサポートを継続するかどうかを懸念していました。MySQL の創設者である Michael Widenius は、MySQL をベースにしたブランチ プロジェクト MariaDB を設立しました。もともと MySQL を使用していた一部のオープンソース ソフトウェアは、徐々に MariaDB や他のデータベースに移行しています。

2. MySQLの開発履歴

モンティ・マイケル・ウィデニウス

  • 1996年: MySQL 1.0がリリースされました。最初はSolaris用、後にLinux用になりました。
  • 1999年:モンティはスウェーデンでMySQL ABを設立した。
  • 2003年: MySQL 5.0がリリースされ、ビュー、ストアドプロシージャ、その他の機能が追加された。
  • 2008年:サンに買収
  • 2009年:オラクルがサンを買収
  • 2009年:モンティがMariaDBを設立

バージョンの進化:

  • MySQL: 5.1 --> 5.5 --> 5.6 --> 5.7
  • MariaDB: 5.5 --> 10.0 --> 10.1 --> 10.2 --> 10.3

3. MariaDBの基本的な使い方

MariaDB は、API やコマンド ラインを含めて MySQL と完全に互換性を持たせ、MySQL の簡単な代替品となることを目指しています。ストレージ エンジンに関しては、バージョン 10.0.9 以降、MySQL の InnoDB の代わりに XtraDB (コード名 Aria) が使用されます。

​ MySQL は、MySQL の創設者である Michael Widenius によって開発されました。彼は以前、自分の会社である MySQL AB を 10 億ドルで SUN に売却していました。その後、SUN が Oracle に買収されたため、MySQL の所有権も Oracle の手に渡りました。 MariaDB は Michael Widenius 氏の娘 Maria にちなんで名付けられました。

​ プラグイン ストレージ エンジン: 「テーブル型」とも呼ばれるストレージ マネージャーには複数の実装バージョンがあり、機能や特徴が若干異なる場合があります。ユーザーは必要に応じて柔軟に選択できます。MySQL5.5.5 以降、innoDB エンジンは MYSQL のデフォルト エンジンです。 MyISAM ==> Aria、InnoDB ==> XtraDB

1. 基本的なインストールと設定

インストール: yum install mariadb-server

メイン設定ファイル: 上から下にチェックします。重複する設定パラメータがある場合は、次の設定ファイルのパラメータが有効になり、検索されたパラメータが上書きされます。

/etc/my.cnf
phpMySQL の mysql.cnf ファイル
sysconfig のファイル
/usr/local/etc/my.cnf
〜/.my.cnf

デフォルト設定を表示する: /usr/libexec/mysqld --print-defaults

デフォルトのデータベースライブラリファイルの保存ディレクトリは、/var/lib/mysql/ です。

ソケットファイル: /var/lib/mysql/mysql.sock

PID ファイル: /var/run/mariadb/mariadb.pid

ログファイル: /var/log/mariadb/mariadb.log

サービスを開始します: # systemctl start mariadb.service

2. クライアントコマンド: mysql

オプション:

-u rootはユーザーを指定します
-p パスワードはパスワードを指定します
-h ホストは接続ホストを指定します
-A 補完を無効にする
-P ポートはポートを指定します。デフォルトは 3306 です。
-S ソケットファイルパスのデフォルト: /var/lib/mysql/mysql.sock
-D databasename はデフォルトのデータベースを指定します
-C 圧縮を有効にする
-e SQL_CMDは実行後に終了します
-V バージョンを表示
--print-defaults デフォルト設定を表示

バッチモード

mysql < /path/somefile.sql 実行のためにSQLスクリプトをデータベースにインポートします

インタラクティブモード

クライアントコマンド

  • \d|delimiter 文の終了文字を設定する
  • \c|clear 文を早く終了する
  • \r|connect データベースに再接続します
  • \g ステートメントを直接サーバーに送信して実行します
  • \G ステートメントを直接サーバーに送信して実行します。結果は垂直に表示されます。
  • .|source スクリプトファイルを読み取り、データベースを作成します
  • ! COMMANDはシェルコマンドを実行します
  • \W 文の実行後に警告メッセージを表示する
  • \w ステートメントの実行後に警告メッセージは表示されません
  • \s 現在のシステムステータスを取得する
  • database_nameを使用して操作の対象となるデータベースを指定します
  • prompt \u@[\D] \r:\m:\s-> プロンプトを変更します。永続的に変更する必要がある場合は、my.cnf の [mysql] の下に prompt="(\u@\h) [\d]> を追加します。
  • \q 終了

サーバー コマンド: コマンドの後にコマンド ターミネータを追加する必要があります。デフォルトのターミネータはセミコロン ";" です。

  • help キーワード サーバーコマンドのヘルプを取得する
  • select version(); データベースのバージョンを表示する
  • 変数を表示; 現在のデータベース作業の環境変数を表示します

3. その他のクライアントツール

  • mysqldump: mysqlプロトコルに基づいてmysqldにクエリ要求を送信し、取得したすべてのデータを挿入などの書き込み操作ステートメントに変換してテキストファイルに保存するバックアップツール
  • mysqladmin: mysql プロトコルに基づいて mysqld を管理する
  • mysqlimport: データインポートツール
  • myisamchk: MyISAM ライブラリをチェックする
  • myisampack: MyISAM テーブルをパックする
  • mysqld_safe: サービスバイナリ
  • mysqld_multi: 複数インスタンス作成ツール

4. セキュリティ強化スクリプト mysql_secure_installation

このスクリプトは基本的なセキュリティ強化に役立ちます

[root@centos7 mysql]# mysql_secure_installation
ルートの現在のパスワードを入力してください (なしの場合は Enter): #パスワードが空の場合は直接 Enter を押してください ルートパスワードを設定しますか? [Y/n] Y #ルートパスワードを設定します 新しいパスワード: ******
新しいパスワードを再入力してください: ******
匿名ユーザーを削除しますか? [Y/n] Y #匿名アカウントを削除します リモートからの root ログインを許可しませんか? [Y/n] n #リモート接続を無効にします テスト データベースとそれへのアクセスを削除しますか? [Y/n] Y #テスト ライブラリを削除します 権限テーブルを今すぐ再読み込みしますか? [Y/n] Y #認証テーブルを再読み込みして設定を有効にします [root@centos7 mysql]# mysql -uroot -p'your_password' #データベース コマンドに接続します

MySQL シリーズ第 3 部の記事はこれで終了です。MySQL の基礎についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MariaDB (MySQL) の作成、削除、選択、およびデータ型の使用の詳細
  • MySQLの基本的な使い方からMariaDBのインストール方法まで詳しく解説
  • CentOS 7 の mysql5.5 のインストールと mariadb のインストールに使用するコマンド

<<:  サイト全体を灰色にするCSSコードのまとめ

>>:  フォームにファイルをアップロードした後にアクションを保存するよう促す理由と解決策

推薦する

JavaScript でネットワーク速度をテストする方法

目次序文ネットワーク速度のフロントエンド判定原理のまとめ1. img を読み込むか Ajax リクエ...

VirtualBox を使用して Linux クラスターをシミュレートする方法

1. ホストMacbookにHOSTをセットアップする前回のドキュメントでは仮想マシンの静的 IP ...

ウェブページ入力ボックスのスタイルトリガー効果

<br />この例では、主に onblur と onFocus という 2 つのパラメー...

docker システムコマンドセットの使用

目次docker システム df docker システム プルーンdocker systemc 情報...

MySQL でのデータベース間クエリの例

序文MySQL では、クロスデータベース クエリは主に 2 つの状況に分けられます。1 つは同じサー...

CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

1. 分割スクリプト (splitNginxLog.sh) を作成します。 * この例では、ログ分割...

VMware での Linux CentOS6.9 インストール グラフィック チュートリアル

技術初心者として、初めて Linux システムをインストールするプロセスを記録しています。まず、Wi...

MySQL Shellの紹介とインストール

目次01 レプリ​​カセットアーキテクチャ02 MySQL Shellの紹介とインストール03 My...

SQL でテーブルにフィールドとコメントを追加する方法

1. フィールドを追加します。 alter table テーブル名 ADD フィールド名 タイプ;例...

UTF8 でエンコードされた Web ページにファイルが含まれている場合の、ページの前の空白行の解決方法

<br />このページはUTF8エンコードを使用しており、ヘッダーとフッターはテンプレー...

Centos7 に MySQL 8.0.23 をインストールする手順 (初心者レベル)

まず、MySQL とは何かを簡単に紹介します。簡単に言えば、データベースはデータを格納するための倉庫...

MySQL ダーティ ページ フラッシュとテーブル スペースの縮小の原理の分析

mysql ダーティページWAL メカニズムにより、InnoDB はステートメントを更新するときに、...

MySQLクエリ文を書き換える3つの戦略

目次複雑なクエリとステップバイステップのクエリクエリステートメントを分割する共同クエリの分解問題のあ...

HTML要素のID属性とName属性の違い

今日、私は <a href="#13"></a> につい...

Linuxファイル削除後にスペースが解放されない問題の詳しい説明

序文システム領域の使用量が大きすぎて消去する必要がある場合、または特定のファイルを消去する必要がある...