MySQLデータベースの簡単な紹介とコンパイルおよびインストール

データベースの簡単な理解

データベース(データベース)とは、簡単に言えば、電子ファイルを保管する場所である電子ファイルキャビネットとみなすことができ、ユーザーはファイル内のデータの追加、傍受、更新、削除などの操作を実行できます。
いわゆる「データベース」は、特定の方法で一緒に保存されたデータの集合であり、複数のユーザーが共有でき、冗長性を最小限に抑え、アプリケーションに依存しません。
データベースは複数のテーブルスペースで構成されます。

データベースの理解

データ
シンボルレコードは、
数値、テキスト、グラフィック、画像、サウンド、ファイルレコードなどを含む、データ(データ)と呼ばれます
「レコード」の形式で統一された形式で格納されます
各行はレコード
と呼ばれます各列はフィールドと呼ばれます

テーブル
はさまざまなレコードをまとめて「
特定のデータを格納するために使用されるテーブルを形成します

データベース
データベースは
、特定の組織に格納されているテーブル、データ格納するためのウェアハウス、および関連データのコレクションです。
ここに画像の説明を挿入

データベース開発

第1世代のデータベース
1960年代以降、第1世代のデータベースシステムが登場しました。IBM は、階層モデルとネットワークモデルのデータベースシステムであり、データの統合管理と共有を強力にサポートします。第
2世代データベース
1970年代初頭に、第2世代データベースリレーショナルデータベースが
1980年代初頭に登場始めたIBM Corporation第2世代のリレーショナルデータベースシステムであるDB2が登場し、第2世代のデータベースシステムのリレーショナルデータベースとして、階層的メッシュモデルのデータベースに徐々に置き換わり始め、業界の主流となり主流となった。
これまでのところ、リレーショナルデータベースシステムはデータベースアプリケーションの主要な位置を占めています
。3世代目のデータベース
が1980年代に始まって以来、エンジニアリングデータベース、マルチメディアデータベース、グラフデータベース、インテリジェントデータベースなど、さまざまな分野に適応したさまざまな新しいデータベースシステムが登場しています。分散データベースやオブジェクト指向データベースなど、特にオブジェクト指向データベースシステムは、その実用性と幅広い適応性により、人々に好まれています。
1990年代後半、さまざまなデータベースシステムが共同でアプリケーションをサポートする状況が形成されました。
もちろん、ビジネスアプリケーションに関しては、リレーショナルデータベースが主流ですが、主流のビジネスデータベースシステムにはいくつかの新しい要素が追加されています。
たとえば、Oracleがサポートする「リレーションオブジェクト」データベースモデル

この段階での主流のデータベース

MySQL(Oracleが買収)は
無料のオープンソースでサイズが小さいです
。sqlサーバー(Microsoftの製品)は
Windowsオペレーティングシステム用です。
シンプルで使いやすい
アクセス(Microsoftの製品)は
Windows用です。これ
はMicrosoftオフィススイートアプリケーション
oracle(Oracle)のメンバーです製品)
すべての主流プラットフォーム向け
安全、完全、複雑な
db2(IBM)
すべての主流プラットフォーム向け
大規模、安全、完全な
Sybase(Sybase)
すべての主流プラットフォーム向け
大規模、安全、完全型
世界最大

関係データベース

リレーショナルデータベースシステムは、リレーショナルモデルに基づくデータベースシステムであり、その基本概念はリレーショナルモデルに由来します。

リレーショナルモデルはリレーショナル代数の理論に基づいており、データ構造はシンプルでわかりやすい2次元のデータテーブルを使用します。このテーブルは、単純な「エンティティ関係」(ER)ダイアグラムで直接表すことができます。

ER図には、エンティティ(データオブジェクト)、関係、属性の3つの要素が含まれています。例えば
ここに画像の説明を挿入

エンティティ:

インスタンスとも呼ばれ、
銀行の顧客、銀行口座、その他の
属性など、現実世界の他のオブジェクトと区別できる「イベント」または「もの」に対応します。

エンティティの特定の特性について、エンティティは複数の属性を持つことができます。たとえば、「銀行の顧客」エンティティセット内の各エンティティは、名前、住所、電話番号などの属性を持っています。
連絡先を:

エンティティセット間の対応は、関連付けとも呼ばれ、関係とも呼ばれます。たとえば、銀行の顧客と銀行口座の間には「貯蓄」関係があります。
すべてのエンティティとそれらの接続のコレクションは、リレーショナルデータベースを構成します

リレーショナルデータベースのテーブルには、主キーと呼ばれる、一意で空でない特性を持つコードがあります。

リレーショナルデータベースのストレージ構造は2次元のテーブルであり、物事とそれらの接続を反映するデータはテーブルの形式で保存されます。

各2次元テーブルでは、各行はレコードと呼ばれ、オブジェクトの情報を説明するために使用されます。各列はフィールドと呼ばれ、オブジェクトの属性を説明するために使用されます

リレーショナルデータベースの適用例:

12306ユーザー情報システム
淘宝網アカウント情報システム、アリペイアカウントシステムモバイル、テレコミュニケーション、チャイナユニコム携帯電話番号情報システム、請求システム銀行ユーザーアカウントシステム
ウェブサイトユーザー情報システム

非リレーショナルデータベース

非リレーショナルデータベースはNOsQL(SQLだけではない)とも呼ばれ、格納されたデータはリレーショナルモデルに基づいておらず、固定テーブル形式を必要としません。

リレーショナルデータベースの補足として、非リレーショナルデータベースは、Webサイトの開発がますます急速に進んでいる時代に、高い効率と高いパフォーマンスを発揮します。

非リレーショナルデータベースの利点

データベースの高同時読み取りと書き込みの需要
大量データ効率的なストレージとアクセスの需要データベースの
高スケーラビリティと高可用性の需要
ほとんどのNoSQLはファイルの形で存在します

リレーショナルデータベースストレージ

Key-Value方式(Key-Value)、キーに基づくデータの保存、削除、および
変更列指向のストレージ(列指向)は、関連データを列ファミリー
ドキュメントに格納する方法です。データベースは、それぞれが一連のデータアイテムで構成されています。データアイテムには名前と対応する値があります。
グラフィックモード、エンティティは頂点、関係はエッジで、データはグラフとして保存されます。
非リレーショナルデータベース製品

Memcachedは、分散型メモリオブジェクトを備えたオープンソースの高性能キャッシュシステムであり、キーと値の方法でデータを保存します。

データをキャッシュしてデータベースの負荷を軽減し、アクセス速度を高速化します。
動的なWebアプリケーションを高速化します
キャッシュされたコンテンツはメモリに保存されます
。Redisもデータを保存するための重要な手段です。データはメモリに保存されますが、データは定期的にディスクに書き込まれます。

Memcachedと比較すると、次の機能があります。
メモリキャッシュをサポートします。
永続性をサポートします。
より多くのデータタイプをサポートします。
クラスタと分散
をサポートします。
データベースログファイルはリカバリに使用されます。OracleログはREDOロググループと呼ばれます。

例:
Ali ossオブジェクトストレージは、oracle redoロググループの考え方を採用しています
。Aliossデータは3つに分かれています。これは
PanguシステムRedis のリレーログ(バイナリログ)です
。Redisアプリケーションの例です。
データベースのフロントエンドキャッシュ
セッション共有です。
キー/値以外のキャッシュが必要な場合
キャッシュされたデータを長期間保存する必要がある場合に、より多くのデータ型が外部にある場合

MySQLのコンパイルとインストール

インストール環境の依存関係

[root@5centos ~]# yum -y install gcc \
> gcc-c++ \
> ncurses \     ##字符终端依赖包
> ncurses-devel \
> bison \       ##函数库
> cmake

コンパイルしてインストール

[root@5centos mysql-5.7.20]# useradd -s /usr/sbin/nplogin mysql
[root@5centos mysql-5.7.20]# tar zxvf boost_1_59_0.tar.gz 
[root@5centos mysql-5.7.20]# mv boost_1_59_0 /usr/local/boost
[root@5centos mysql-5.7.20]# tar zxvf mysql-boost-5.7.20.tar.gz 
[root@5centos mysql-5.7.20]# cd mysql-5.7.20/
[root@5centos mysql-5.7.20]# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
> -DSYSCONFDIR=/etc \
> -DSYSTEMD_PID_DIR=/usr/local/mysql \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
> -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
> -DMYSQL_DATADIR=/usr/local/mysql/data \
> -DWITH_BOOST=/usr/local/boost \
> -DWITH_SYSTEMD=1
[root@5centos mysql-5.7.20]# make && make install
[root@5centos mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/

構成ファイルの環境変数を編集する

[root@5centos /]# vim /etc/my.cnf
##删除全部,敲入下面几行
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

[root@5centos /]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@5centos /]# echo 'export PATH' >> /etc/profile
[root@5centos /]# source /etc/profile

初期化

[root@5centos local]# cd mysql/
[root@5centos mysql]# bin/mysql \
> --initialize-insecure \
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/data 

サービスを開始し、データベースを確認します

[root@5centos /]# mysqladmin -u root -p password
Enter password: 
New password: 
Confirm new password: 
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
[root@5centos mysql]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.20 Source distribution
……省略部分……
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

おすすめ

転載: blog.csdn.net/Ora_G/article/details/108024961