轉(zhuǎn)自:http://www.runoob.com/mysql/mysql-tutorial.html
1.RDBMS術語
數(shù)據(jù)庫:?數(shù)據(jù)庫是一些關聯(lián)表的集合考赛。?
數(shù)據(jù)表:?表是數(shù)據(jù)的矩陣岖圈。在一個數(shù)據(jù)庫中的表看起來像一個簡單的電子表格。
列:?一列(數(shù)據(jù)元素) 包含了相同的數(shù)據(jù), 例如郵政編碼的數(shù)據(jù)氮块。
行:一行(=元組,或記錄)是一組相關的數(shù)據(jù),例如一條用戶訂閱的數(shù)據(jù)探入。
冗余:存儲兩倍數(shù)據(jù)震檩,冗余降低了性能琢蛤,但提高了數(shù)據(jù)的安全性。
主鍵:主鍵是唯一的抛虏。一個數(shù)據(jù)表中只能包含一個主鍵博其。你可以使用主鍵來查詢數(shù)據(jù)。
外鍵:外鍵用于關聯(lián)兩個表迂猴。
復合鍵:復合鍵(組合鍵)將多個列作為一個索引鍵慕淡,一般用于復合索引。
索引:使用索引可快速訪問數(shù)據(jù)庫表中的特定信息沸毁。索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結(jié)構(gòu)峰髓。類似于書籍的目錄。
參照完整性:?參照的完整性要求關系中不允許引用不存在的實體息尺。與實體完整性是關系模型必須滿足的完整性約束條件携兵,目的是保證數(shù)據(jù)的一致性。
MySQL 為關系型數(shù)據(jù)庫(Relational Database Management System), 這種所謂的"關系型"可以理解為"表格"的概念, 一個關系型數(shù)據(jù)庫由一個或數(shù)個表格組成, 如圖所示的一個表格:
表頭(header): 每一列的名稱;
列(col): 具有相同數(shù)據(jù)類型的數(shù)據(jù)的集合;
行(row): 每一行用來描述某條記錄的具體信息;
值(value): 行的具體信息, 每個值必須與該列的數(shù)據(jù)類型相同;
鍵(key): 鍵的值在當前列中具有唯一性搂誉。
所有平臺的MySQL下載地址為:https://dev.mysql.com/downloads/mysql/? ?
Linux/UNIX 上安裝 MySQL
Linux平臺上推薦使用RPM包來安裝Mysql,MySQL AB提供了以下RPM包的下載地址:
? ??MySQL?- MySQL服務器徐紧。你需要該選項,除非你只想連接運行在另一臺機器上的MySQL服務器。
? ??MySQL-client?- MySQL 客戶端程序并级,用于連接并操作Mysql服務器拂檩。
? ??MySQL-devel?- 庫和包含文件,如果你想要編譯其它MySQL客戶端嘲碧,例如Perl模塊稻励,則需要安裝該RPM包。
MySQL-shared?- 該軟件包包含某些語言和應用程序需要動態(tài)裝載的共享庫(libmysqlclient.so*)愈涩,使????用MySQL钉迷。
? ??MySQL-bench?- MySQL數(shù)據(jù)庫服務器的基準和性能測試工具。
安裝前钠署,我們可以檢測系統(tǒng)是否自帶安裝 MySQL:
? ??rpm -qa | grep mysql
如果你系統(tǒng)有安裝糠聪,那可以選擇進行卸載:
????rpm -e mysql // 普通刪除模式
????rpm -e --nodeps mysql // 強力刪除模式,如果使用上面命令刪除時谐鼎,提示有依賴的其它文件舰蟆,則用該命令可以對其進行強力刪除
安裝 MySQL:
????????接下來我們在 Centos7 系統(tǒng)下使用 yum 命令安裝 MySQL,需要注意的是 CentOS 7 版本中 MySQL數(shù)據(jù)庫已從默認的程序列表中移除狸棍,所以在安裝前我們需要先去官網(wǎng)下載 Yum 資源包身害,下載地址為:https://dev.mysql.com/downloads/repo/yum/
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
初始化 MySQL:
mysqld --initialize
啟動 MySQL:
systemctl start mysqld
查看 MySQL 運行狀態(tài):
systemctl status mysqld
注意:如果我們是第一次啟動 mysql 服務,mysql 服務器首先會進行初始化的配置草戈。
此外,你也可以使用 MariaDB 代替塌鸯,MariaDB 數(shù)據(jù)庫管理系統(tǒng)是 MySQL 的一個分支,主要由開源社區(qū)在維護唐片,采用 GPL 授權許可丙猬。開發(fā)這個分支的原因之一是:甲骨文公司收購了 MySQL 后,有將 MySQL 閉源的潛在風險费韭,因此社區(qū)采用分支的方式來避開這個風險茧球。
MariaDB的目的是完全兼容MySQL,包括API和命令行星持,使之能輕松成為MySQL的代替品抢埋。
yum install mariadb-server mariadb
mariadb數(shù)據(jù)庫的相關命令是:
systemctl start mariadb? #啟動MariaDB
systemctl stop mariadb? #停止MariaDB
systemctl restart mariadb? #重啟MariaDB
systemctl enable mariadb? #設置開機啟動
驗證 MySQL 安裝
在成功安裝 MySQL 后,一些基礎表會表初始化督暂,在服務器啟動后揪垄,你可以通過簡單的測試來驗證 MySQL 是否工作正常。
使用 mysqladmin 工具來獲取服務器狀態(tài):
使用 mysqladmin 命令倆檢查服務器的版本, 在 linux 上該二進制文件位于 /usr/bin 目錄逻翁,在 Windows 上該二進制文件位于C:\mysql\bin 饥努。
[root@host]# mysqladmin --version
linux上該命令將輸出以下結(jié)果,該結(jié)果基于你的系統(tǒng)信息:
mysqladmin? Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu on i386
如果以上命令執(zhí)行后未輸入任何信息卢未,說明你的Mysql未安裝成功肪凛。
使用 MySQL Client(Mysql客戶端) 執(zhí)行簡單的SQL命令
你可以在 MySQL Client(Mysql客戶端) 使用 mysql 命令連接到 MySQL 服務器上,默認情況下 MySQL 服務器的登錄密碼為空辽社,所以本實例不需要輸入密碼伟墙。
命令如下:
[root@host]# mysql
以上命令執(zhí)行后會輸出 mysql>提示符,這說明你已經(jīng)成功連接到Mysql服務器上滴铅,你可以在 mysql> 提示符執(zhí)行SQL命令:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql || test |
+----------+
2 rows in set (0.13 sec)
Mysql安裝后需要做的
Mysql安裝成功后戳葵,默認的root用戶密碼為空,你可以使用以下命令來創(chuàng)建root用戶的密碼:
[root@host]# mysqladmin -u root password "new_password";
現(xiàn)在你可以通過以下命令來連接到Mysql服務器:
[root@host]# mysql -u root -pEnter password:*******
注意:在輸入密碼時汉匙,密碼是不會顯示了拱烁,你正確輸入即可。
Windows 上安裝 MySQL
Windows 上安裝 MySQL 相對來說會較為簡單噩翠,地那就鏈接?https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip?下載 zip 包戏自。
最新版本可以在?MySQL 下載?中下載中查看。
下載完后伤锚,我們將 zip 包解壓到相應的目錄擅笔,這里我將解壓后的文件夾放在?C:\web\mysql-8.0.11?下。
接下來我們需要配置下 MySQL 的配置文件
打開剛剛解壓的文件夾?C:\web\mysql-8.0.11?屯援,在該文件夾下創(chuàng)建?my.ini?配置文件猛们,編輯?my.ini?配置以下基本信息:
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
# 設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=C:\\web\\mysql-8.0.11
# 設置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置狞洋,系統(tǒng)自己生成即可弯淘,否則有可能報錯
# datadir=C:\\web\\sqldata
# 允許最大連接數(shù)max_connections=20# 服務端使用的字符集默認為8比特編碼的latin1字符集character-set-server=utf8
# 創(chuàng)建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
接下來我們來啟動下 MySQL 數(shù)據(jù)庫:
以管理員身份打開 cmd 命令行工具,切換目錄:
cd C:\web\mysql-8.0.11\bin
初始化數(shù)據(jù)庫:
mysqld --initialize --console
執(zhí)行完成后吉懊,會輸出 root 用戶的初始默認密碼庐橙,如:
...
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
...
APWCY5ws&hjQ?就是初始密碼,后續(xù)登錄需要用到借嗽,你也可以在登陸后修改密碼怕午。
輸入以下安裝命令:
????mysqld install
啟動輸入以下命令即可:
????net start mysql
注意: 在 5.7 需要初始化 data 目錄:
????cd C:\web\mysql-8.0.11\bin
????mysqld --initialize-insecure
初始化后再運行 net start mysql 即可啟動 mysql。
登錄 MySQL
? ??當 MySQL 服務已經(jīng)運行時, 我們可以通過 MySQL 自帶的客戶端工具登錄到 MySQL 數(shù)據(jù)庫中, 首先打開命令提示符, 輸入以下格式的命名:
mysql -h 主機名 -u 用戶名 -p
參數(shù)說明:
-h?: 指定客戶端所要登錄的 MySQL 主機名, 登錄本機(localhost 或 127.0.0淹魄。1)該參數(shù)可以省略;
-u?: 登錄的用戶名;
-p?: 告訴服務器將會使用一個密碼來登錄, 如果所要登錄的用戶名密碼為空, 可以忽略此選項郁惜。
如果我們要登錄本機的 MySQL 數(shù)據(jù)庫,只需要輸入以下命令即可:
mysql -u root -p
按回車確認, 如果安裝正確且 MySQL 正在運行, 會得到以下響應:
Enter password:
若密碼存在, 輸入密碼登錄, 不存在則直接按回車登錄甲锡。登錄成功后你將會看到 Welecome to the MySQL monitor... 的提示語兆蕉。
然后命令提示符會一直以?mysq>?加一個閃爍的光標等待命令的輸入, 輸入?exit?或?quit?退出登錄。