Mysqlデータベースの基本的な概念とインストール-非常に詳細です!!!

1つは、データベースの基本概念です。

1.データ

  • シンボルレコード
  • データ、テキスト、グラフィック、画像、サウンド、ファイルレコードなどを含みます。
  • 「記録」の形で統一された形式で保存する

2.表

  • さまざまなレコードをまとめる
  • 特定のデータを保存するために使用されます

3.データベース

  • テーブルのコレクションは、データを格納するためのウェアハウスです
  • 特定の組織に保存されている関連データのコレクション
    ここに写真の説明を挿入

4.データベース管理システム(DBMS)

  • 効果的な編成、管理、データベースリソースへのアクセスを実現するシステムソフトウェアです。

5.データベースシステム

  • これは、ハードウェア、OS、データベース、DBMS、アプリケーションソフトウェア、およびデータベースユーザーで構成されるマンマシンシステムです。
  • ユーザーはDBMSまたはアプリケーションを介してデータベースを操作できます
    ここに写真の説明を挿入

2.データベースシステム開発の歴史

1.第1世代のデータベース

  • 1960年代以降、第一世代のデータベースシステムが登場しました
  • 階層モデルとネットワークモデルのデータベースシステムです
  • データの統合管理と共有を強力にサポートします

2.第2世代データベース

  • 1970年代初頭、第2世代のデータベース-リレーショナルデータベースが登場し始めました
  • 1980年代初頭、IBMのリレーショナルデータベースシステムDB2が登場し、階層型およびメッシュモデルデータベースに徐々に置き換わり始め、業界の主流になりました。
  • これまで、リレーショナルデータベースシステムがデータベースアプリケーションの主要な位置を占めてきました

3.第3世代データベース

  • 1980年代以降、さまざまな分野に適応する新しいデータベースシステムが次々と登場してきました。オブジェクト指向のデータベースシステムは、強力な実用性と幅広い適応性を備えています。
  • 1990年代後半、複数のデータベースシステムが共同でアプリケーションをサポートする状況が形成されました
  • 主流のデータベースシステムにいくつかの新しい要素が追加されました
  • たとえば、Oracleでサポートされている「relation-object」データベースモデル

3.今日の主流のデータベース

1.主流のデータベースの紹介

SQL Server(Microsoft Corporationの製品)

  • Windowsオペレーティングシステムの場合
  • シンプルで使いやすい

オラクル(オラクル社製品)

  • すべての主要なプラットフォーム用
  • 安全、完璧、複雑な操作

DB2(IBMの製品)

  • すべての主要なプラットフォーム用
  • 大きく、安全で完全

MySQL(Oracleが取得)

  • 無料、オープンソース、小さいサイズ
    ここに写真の説明を挿入

2.リレーショナルデータベース

リレーショナルデータベース-1

  • リレーショナルデータベースシステムは、リレーショナルモデルに基づくデータベースシステムです。
  • リレーショナルモデルのデータ構造は、シンプルで理解しやすい2次元データテーブルを使用しています
  • リレーショナルモデルは、単純な「エンティティ-リレーションシップ」(ER)図で表すことができます。
  • ERダイアグラムには、エンティティ(データオブジェクト)、関係、属性の3つの要素が含まれています。
    ここに写真の説明を挿入

リレーショナルデータベース-2つの
エンティティ

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

属性

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

連絡先

  • エンティティセット間の対応は接続と呼ばれ、関係とも呼ばれます
    • たとえば、銀行の顧客と銀行口座の間には「節約」関係があります

すべてのエンティティとその接続のコレクションは、リレーショナルデータベースを構成します

リレーショナルデータベース-3

  • リレーショナルデータベースのストレージ構造は2次元テーブルです
  • 各2次元テーブルで
    • 各行はレコードと呼ばれ、オブジェクトの情報を説明するために使用されます
    • 各列はフィールドと呼ばれ、オブジェクトの属性を説明するために使用されます
      ここに写真の説明を挿入

3.リレーショナルデータベースアプリケーション

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

  • Oracle、MySQL
  • SQLServer、Sybase
  • 情報、アクセス
  • DB2、FoxPRO

応用例

  • 12306ユーザー情報システム
  • タオバオアカウントシステム
  • ユニコム携帯電話番号情報システム
  • 銀行ユーザーアカウントシステム
  • ウェブサイトユーザー情報システム

4.非リレーショナルデータベースの概要

非リレーショナルデータベースは、NoSQL(SQLだけでなく)とも呼ばれます。

保存されたデータはリレーショナルモデルに基づいておらず、固定のテーブル形式を必要としません

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

  • データベースは高い同時読み取りと書き込みが可能です
  • 効率的なストレージと大量のデータへのアクセス
  • データベースは高いスケーラビリティと高い可用性を備えています

一般的に使用される非リレーショナルデータベース:Redis、mongoDBなど。

5.MySQLデータベースの概要

  • 人気のあるオープンソースのリレーショナルデータベース
  • オラクル製品
  • GPL契約、無料トライアル、変更に準拠する

特徴:

  • 優れたパフォーマンスと安定したサービス
  • オープンソース、著作権制限なし、低コスト
  • マルチスレッド、マルチユーザー
  • C / S(クライアント/サーバー)アーキテクチャに基づく
  • 安全で信頼できる

6. MySQL BusinessEditionおよびCommunityEdition

  • MySQL BusinessEditionはMySQLABによって開発および保守されており、使用するには支払いが必要です
  • MySQL Community Editionは、世界中に散らばっているMySQL開発者や愛好家によって開発および保守されており、無料で使用できます。

2つの違い:

  • 商用バージョンは、組織の管理とテストがより厳密であり、コミュニティバージョンよりも安定しています。
  • 商用バージョンはGPLに準拠しておらず、コミュニティバージョンはGPLに準拠しており、無料で使用できます。
  • 商用バージョンは7 * 24時間のサービスを受けることができますが、コミュニティバージョンはそうではありません

7.MySQL製品キャンプ

  • 最初のキャンプ:5.0-5.1キャンプ、初期の製品の継続と言えます

  • 2番目のキャンプ:5.4-5.7キャンプは、MySQL AB、コミュニティ、およびサードパーティ企業によって開発されたストレージエンジンを統合して、パフォーマンスを向上させます

  • 3番目のキャンプ:MySQL Clusterバージョンである6.0-7.1キャンプは、新しい時代のデータベースクラスタリングのニーズを満たすために開発されました

    • ダウンロードURLhttp
      ://www.dev.mysql.com/downloads

第四に、Mysql5.7データベースをインストールします

インストールパッケージの準備Mysqlパッケージ
ここに写真の説明を挿入
1.依存パッケージをインストールします

[root@server1 ~]#yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

2.ログインできないユーザーを作成します

[root@server1 ~]# useradd -s /sbin/nologin mysql

3.Mysqlパッケージを解凍します

[root@server1 ~]#tar -zxvf mysql-boost-5.7.20.tar.gz

4.cmake構成

[root@server1 ~]#cd mysql-5.7.20/
[root@server1 mysql-5.7.20]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \              #安装目录 安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \   #指定套接字文件的存储路径套接字:客户端访问mysql数据库的一个接口
-DSYSCONFDIR=/etc \                                     #配置my. cnf的目录 配置文件路径,(根目录)
-DSYSTEMD_PID_DIR=/usr/local/mysql \          #主服务进程所在路径 (进程文件目录)
-DDEFAULT_CHARSET=utf8 \                           #默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \      #默认编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \     #启用InnoDB引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \        #启用ARCHIVE引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \   #启用BLACKHOLE引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \  #启用perfschema引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \    #数据存储路径  (数据库目录)
-DWITH_BOOST=boost \              #boost库是为C++语言标准库提供扩展的一些C++程序库的总称
-DWITH_SYSTEMD=1                 #这是mysql5.7原生支持systemd的选项,如果用systemctl启动,就必须开启

5.コンパイルしてインストールします

make && make install

6.構成ファイルを編集します

[root@server1 ~]# vi /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

7.データベース権限の構成、所有者、グループ

[root@server1 mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/
[root@server1 mysql-5.7.20]# chown mysql:mysql /etc/my.cnf

ここに写真の説明を挿入
8.データベースを初期化します

[root@server1 ~]# mysqld \
--initialize-insecure \             #生成一个空密码,不配置系统会自动生成一个密码
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

ここに写真の説明を挿入
9.ファイルをコピーしてサービスを開始します

[root@server1 ~]# cd /usr/local/mysql/
[root@server1 mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
[root@server1 mysql]# cd
[root@server1 ~]# systemctl enable mysqld
[root@server1 ~]# systemctl start mysqld
[root@server1 ~]# systemctl status mysqld

10.パスワードを設定します

[root@server1 ~]# mysqladmin -uroot -p password 'fa123'
[root@server1 ~]# mysql -uroot -p

ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/F2001523/article/details/111658334