mysql是乙個關係型資料庫管理系統,由瑞典mysql ab 公司開發,目前屬於 oracle 旗下公司。mysql 最流行的關係型資料庫管理系統,在 web 應用方面mysql是最好的 rdbms (relational database management system,關聯式資料庫管理系統) 應用軟體之一。
關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性。
分兩大類:關係型:如sqllite,db2,oracle,access,sql server,mysql,注意:sql語句通用
非關係型:mongodb,redis,memcache
總結兩句話:
關係型資料庫需要有表結構
非關係型資料庫是key-value儲存的,沒有表結構
所以,現在我們使用關係型資料庫管理系統(rdbms)來儲存和管理的大資料量。所謂的關係型資料庫,是建立在關係模型基礎上的資料庫,借助於集合代數等數學概念和方法來處理資料庫中的資料。
rdbms即關聯式資料庫管理系統(relational database management system)的特點:
1.資料以**的形式出現
2.每行為各種記錄名稱
3.每列為記錄名稱所對應的資料域
4.許多的行和列組成一張表單
5.若干的表單組成database
rdbms 術語
資料庫: 資料庫是一些關聯表的集合。.
資料表: 表是資料的矩陣。在乙個資料庫中的表看起來像乙個簡單的電子**。
冗餘:儲存兩倍資料,冗餘降低了效能,但提高了資料的安全性。
主鍵:主鍵是唯一的。乙個資料表中只能包含乙個主鍵。你可以使用主鍵來查詢資料。
外來鍵:外來鍵用於關聯兩個表。
復合鍵:復合鍵(組合鍵)將多個列作為乙個索引鍵,一般用於復合索引。
索引:使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構。類似於書籍的目錄。
參照完整性: 參照的完整性要求關係中不允許引用不存在的實體。與實體完整性是關係模型必須滿足的完整性約束條件,目的是保證資料的一致性。
a. 安裝mysql服務端
b. 安裝mysql客戶端
c. 【客戶端】連線【服務端】
d. 【客戶端】傳送命令給【服務端mysql】服務的接受命令並執行相應操作(增刪改查等)
1.跳過開啟官網
2.選自己的版本以及位數
3.解壓
如果想要讓mysql安裝在指定目錄,那麼就將解壓後的資料夾移動到指定目錄,如:d:\mysql-5.7.22-winx64
4.新增環境變數
bin目錄放在path中
5.初始化
1 mysqld --initialize-insecure
6.啟動mysql服務
mysqld #啟動mysql服務
7.啟動mysql客戶端並連線mysql服務端(新開乙個cmd視窗)
1 mysql -u root -p # 連線mysql伺服器
上一步解決了一些問題,但不夠徹底,因為在執行【mysqd】啟動mysql伺服器時,當前終端會被hang住,那麼做一下設定即可解決此問題,即將mysql服務製作成windows服務
注意:--install前,必須用mysql啟動命令的絕對路徑
# 製作mysql的windows服務,在終端執行此命令:
"d:\mysql
-5.7.22-winx64\bin\mysqld" --
install
# 移除mysql的windows服務,在終端執行此命令:
"d:\mysql
-5.7.22-winx64\bin\mysqld" --
remove
註冊成服務之後,以後再啟動和關閉mysql服務時,僅需執行如下命令:
# 啟動mysql服務
net start mysql
# 關閉mysql服務
net stop mysql
開啟終端,輸入mysql
輸入mysql提供的函式:
selectuser();
# 檢視當前登入的賬號
如果想切到root賬號登入
mysql -uroot -p
再檢視當前使用者:
selectuser();
管理員為root(擁有最高許可權,管理員賬號),密碼為空,以無密碼的方式登入了管理員賬號,是非常危險的一件事情,所以要為管理員賬號設定密碼
d:\users\wyb>mysqladmin -uroot -p password "123" #設定初始密碼 由於原密碼為空,因此-p可以不用 mysql版本的不同,可能執行這句指令不起作用,請使用update mysql.userset authentication_string =password('') where
user='
root
';
ps:⚠️不用管它。翻譯為:在命令列介面使用密碼不安全,暴露在終端當中。(直接敲回車 隱藏輸入密碼)
然後再登入賬號,不輸入密碼則會出現如下結果:報錯 error 1045 (28000)
再次執行如下操作:
mysql -uroot -p123
跳過授權方式,直接登入!!
1.以管理員身份開啟cmd
2.停掉mysql服務端
net stop mysql
3.執行如下命令跳過授權表
mysqld --skip-grant-tables
4.再次檢視
mysql -uroot -p
5. 現在可以任意的更改密碼,執行如下命令
update mysql.userset authentication_string =password('') where
user='
root
';
6.重新整理許可權,執行命令
flush privileges;
7.退出mysql。執行命令:exit,
8.讓使用者去載入許可權,以管理員身份進入cmd,檢視當前mysql程序
tasklist |findstr mysql #檢視當前mysql的程序
9.殺死當前的程序,執行如下命令
taskkill /f /pid 6666 # 殺死當前的程序pid
10.再次執行如下操作,還原
net start mysqlmysql
-uroot -p
select user();
1.進入mysql客戶端,執行\s
為了統一字元編碼,請執行如下操作:
(1)my.ini檔案是mysql的配置檔案,
在d:\mysql-5.7.22-winx64檔案下建立my.ini檔案
(2)將如下**拷貝儲存
[mysqld
]# 設定mysql的安裝目錄
**後面的路徑一定是安裝sql的目錄**
basedir
=d:\mysql-
5.7.22
-winx64\mysql-
5.7.22
-winx64
# 設定mysql資料庫的資料的存放目錄,必須是data
datadir
=d:\mysql-
5.7.22
-winx64\mysql-
5.7.22
-winx64\data
sql_mode
=no_engine_substitution,strict_trans_tables
# mysql埠
port
=3306
# 字符集
[mysqld
]character
-set
-server=
utf8
collation
-server=
utf8_general_ci
[client
]default
-character
-set
=utf8
[mysql
]default
-character
-set
=utf8
(3)以管理員身份重啟服務,執行如下命令
net stop mysqlnet start mysql
(4)在cmd中輸入mysql進入mysql環境,執行\s,顯示如下資訊,表示成功
mysql管理操作
修改密碼 1.第一種方法 用root登入mysql為其他使用者設定密碼,set password for username host password password 2.第二種方法 用mysqladmin設定密碼 mysqladmin uusername hhost ppassword pass...
MySQL操作 MySQL安裝教程
這個安裝經歷簡直史上巨坑,總結一下經驗。首先要了解的 mysql沒有64位windows安裝包?各種安裝包功能 還要搜尋解決一堆問題 1 windows 64 位 mysql 5.7以上版本包解壓中沒有data目錄和my default.ini和my.ini檔案以及服務無法啟動的解決辦法以及修改初始...
Git之安裝管理
git是分布式的版本控制系統,我們只要有了乙個原始git版本倉庫,就可以讓其他主機轉殖走這個原始版本倉庫,從而使得乙個git版本倉庫可以被同時分布到不同的主機之上,並且每台主機的版本庫都是一樣的,沒有主次之分,極大的保證了資料安全性,並使得使用者能夠自主選擇向那個git伺服器推送檔案了,其實部署乙個...