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コードのまとめ

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

推薦する

CSS は Google マテリアル デザインのテキスト入力ボックス スタイルを実装します (推奨)

みなさんこんにちは。今日は、純粋な CSS を使用して Google マテリアル デザインのテキスト...

CUDA10.0 のインストールと Ubuntu での問題

Tensorflow バージョンと Cuda および CUDNN の対応: https://tens...

VueとElementUIを組み合わせたスキン変更ソリューション

目次前面に書かれた解決策 1: グローバル スタイル オーバーライドを使用する (フロントエンドに共...

Ubuntu 14.04 で QT5 をインストール、設定、アンインストールするための詳細な手順

1. 以前 QT5.13 バージョンをダウンロードしましたが、インストール後、Qtcreator を...

ウェブデザイン研究における XHTML の応用の概要

<br />一般的に、「標準的な Web ページ」のファイル構成は XHTML CSS ...

Vue nextTickの原理の分析

目次イベントループmiscroTask (マイクロタスク) UI レンダリング (重要なポイント)次...

Vueのフロントエンドとバックエンドのデータのやり取りと表示を理解する方法

目次1. 技術概要2. 技術的な詳細1. インターフェースからバックエンドデータを取得する2. フロ...

HTMLおよびJSPページがキャッシュされ、Webサーバーから再取得されるのを防ぎます。

ユーザーがログアウトした後、ブラウザの戻るボタンがクリックされると、Web アプリケーションは保護さ...

MySQL 5.7.25 のインストールと設定方法のグラフィックチュートリアル

MySQL インストール ファイルには、msi 形式と zip 形式の 2 種類があります。クリック...

CSS3 天子グリッドリストのスタイルの書き方

多くのプロジェクトでは、中央に灰色の分割線があり、両側に分割線がないグリッド表示の機能を実装する必要...

クールな充電アニメーションを実現する純粋なCSS

CSS のみを使用してどのような充電アニメーション効果を作成できるかを見てみましょう。バッテリーを...

MySQLインジェクションバイパスフィルタリング技術の概要

まず、GIF 操作を見てみましょう。ケース1: スペースがフィルタリングされるスペースの代わりに角括...

Layui は複数条件クエリのサンプルコードを実装します

最近ファイルシステムを作ったのですが、フィールドが多すぎることに気づきましたページングを使用した複数...

CSSは複数の要素をボックスの両端に揃える効果を実現します

要素の両端を揃える配置レイアウトは、実際の開発のいたるところで見られます。これは、フレックスレイアウ...

MySQLとPythonの相互作用の例

目次1. データを準備するデータテーブルを作成するデータの挿入2. SQLドリル1. SQL文の強化...