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データベースに接続します。