MySQLデータベースの基本概念と紹介-超詳細!!!

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

1.1データベースの基本的な概念-1

■データ

  • 物事を説明する象徴的な記録
  • 数字、テキスト、グラフィック、画像、音声、ファイルレコードなどを含みます。
  • 「記録」の形で統一された形式で保存

■テーブル

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

■データベース

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

1.2データベース-2の基本概念

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

  • データベースリソースの整理・管理・アクセスを実現するシステムソフトウェアです

■データベースシステム

  • ハードウェア、OS、データベース、DBMS、アプリケーションソフトウェア、データベースアプリケーションからなるマンマシンシステムです。
  • ユーザーは、DBMSまたはアプリケーションを介してデータベースを操作できます
    ここに画像の説明を挿入

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

■第一世代データベース

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

■第2世代データベース

  • 1970年代初頭、第2世代のデータベースであるシリーズデータベースが登場し始めました。
  • 1980年代初頭に、旧M社のリレーショナルデータベースシステムDB2が登場し、徐々に階層型メッシュモデルのデータベースに置き換わり、業界の主流となりました。
  • これまでのところ、リレーショナルデータベースシステムは依然としてデータベースアプリケーションの主要な位置を占めています

■第3世代データベース

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

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

3.1現在の主流データベースの紹介

■SQL Server(Microsoft Corporationの製品)

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

■Oracle(オラクル社製品)

  • すべてのGuiliuプラットフォーム
  • 安全で完璧な複雑な操作

■DB2 0BM会社の製品)•すべての主流プラットフォーム用

  • 大きく、安全で完全

■MySQL(Oracleが取得)•無料のオープンソース、小さいサイズ
ここに画像の説明を挿入

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

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

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

■エンティティ

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

■プロパティ

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

■お問い合わせ

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

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

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

■リレーショナルデータベースの格納構造は2次元のテーブルです
■各2次元のテーブル内

  • 各行はレコードと呼ばれ、オブジェクトの情報を説明するために使用されます
  • 各列はフィールドと呼ばれ、オブジェクトの属性を説明するために使用されます
    ここに画像の説明を挿入

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

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

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

■応用例

  • 12306ユーザー情報システム•淘宝網アカウントシステム
  • ユニコム携帯電話番号情報システム
  • 銀行ユーザー口座システム
  • ウェブサイトユーザー情報システム

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

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

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

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

3.7 MySQLデータベースの概要

■人気のあるオープンソースリレーショナルデータベース
■Oracleの製品
■GPL契約に準拠、無料で使用および変更可能
■機能

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

3.8 MySQL Business EditionおよびCommunity Edition

■MySQL Business Editionは、MySQL ABによって開発および保守されており、使用するには支払いが必要です。
■MySQL Community Editionは、世界中に散在するMySQL開発者および愛好家によって開発および保守されます。無料で使用できます。
■2つの違い

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

3.9 MySQL製品キャンプ

■最初のキャンプ:以前の製品の継続であると言うことができる5.0から5.1のキャンプ、。
第二キャンプ:MySQL ABの、パフォーマンスを向上させるために、コミュニティやサードパーティ企業によって開発されたストレージエンジンを統合して5.4から5.7キャンプ、
第三キャンプを■ :6.0-7.1キャンプは、新時代のデータベースクラスターのニーズを満たすために開発されたMySQL Clusterバージョンです
ダウンロードURL

  • http://www.dev.mysql.com/downloads

4番目に、MySQLビルド操作

######### mysql ######をインストールします
(1)、mysql環境依存パッケージをインストールします

[root@localhost ]# 
yum -y install \
gcc-c++ \
gcc \
make \
ncurses \
ncurses-devel \
bison \
cmake

(2)実行ユーザーを作成する

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

(3)、コンパイルしてインストール

###上传mysql-boost-5.7.20.tar.gz到opt目录下###
[root@localhost ]# cd /opt
[root@localhost opt ]# tar xf mysql-boost-5.7.20.tar.gz
[root@localhost mysql-5.7.20]# cd /opt/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=boost \
-DWITH_SYSTEMD=1

[root@localhost mysql-5.7.20]# make -j3 && make install

(4)データベースディレクトリの権限を調整する

[root@localhost mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/

(5)、調整構成ファイルを確立する

[root@localhost mysql-5.7.20]# 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

[root@localhost mysql-5.7.20]# chown mysql:mysql /etc/my.cnf

(6)環境変数を設定する

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

(7)データベースを初期化する

[root@localhost mysql-5.7.20]# cd /usr/local/mysql/
[root@localhost mysql]# 
bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

[root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

(8)データベースが起動、終了、ステータス

[root@localhost mysql]# systemctl enable mysqld
[root@localhost mysql]# systemctl start mysqld
[root@localhost mysql]# systemctl status mysqld

[root@localhost mysql]# cd /usr/local/bin/  ###先进去bin目录下在设置密码

(9)、Mysqlパスワードを設定する

[root@localhost bin]# mysqladmin -u root -p password   ###回车后在回车,然后输入密码abc123,在此确认abc123,这是在root账户下运行的

(10)データベースにログインする

[root@localhost bin]# mysql -u root -p     ###这个命令敲下,提示要输入密码,这个就是刚才设置的密码abc123

mysql> CREATE DATABASE myadm;

mysql> GRANT all ON myadm.* TO 'myadm'@'%' IDENTIFIED BY 'admin123';

mysql> GRANT all ON myadm.* TO 'myadm'@'%' IDENTIFIED BY 'admin123';

mysql> flush privileges;

(11)次に、Navicat for MySQLソフトウェアを使用してmysqlデータベースに接続します。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/m0_46563938/article/details/108473000