MySQL數據庫1初識MySQL
- 2019 年 12 月 16 日
- 筆記
Mysql
一、數據庫是什麼?
字面意思:存數據的倉庫
二、為啥使用數據庫?(*****)
Excel的缺點:
1.管理不了大量的數據(10w量級以上的數據)
2.不能並發操作同一個數據表格
3.數據庫支持一些高級的操作:分組,連表等
三、數據庫的分類(*****)
1.關係型數據庫
對每一列的數據類型都有約束,ID(整型)name(字符串)等
MySQL,SqlServer,oracle,sqlite,maridb等
MySQL是用的比較多,主要是免費
SqlServer微軟的,只有大學、政府用的比較多
oracle:甲骨文的,收費,金融公司(安全度高)、阿里
sqlite:小型的文件數據庫,自己玩一玩
maridb:和MySQL一個人開發的
2.非關係型數據庫
memcache沒有解決
mongodb,文檔型數據庫,用的不太多,解決了掉電內存數據丟失的問題
Redis:微博使用,解決了掉電內存數據丟失的問題
用{「key」:『value』}進行存儲數據
3.關係型與非關係型區別:
關係型數據庫,把數據存在硬盤中
非關係型,把數據存在內存中(速度快)
四、數據庫MySQL的架構
類似於socket的客戶端和服務端
流程:
1.MySQL服務端先啟動,監聽在某一個特定的端口(3306)
2.MySQL客戶端連接服務端
3.MySQL客戶端就可以發送操作命令,去操作服務端的數據。
五、數據庫的安裝
windows 安裝:去官網找資料(學習的方法)安裝,
MySQL軟件官方下載地址(https://dev.mysql.com/downloads/mysql/),個人感覺下載壓縮包版比下載安裝包辦的要好,因為安裝包版的默認安裝路徑為系統盤,整個數據庫有1.8G左右,太占系統盤存儲。
1.安裝步驟:
1.解壓
想將數據庫安裝到哪個盤就將數據庫解壓到哪個盤(獨立的一個文件夾)
2.添加環境變量
【右鍵計算機】–》【屬性】–》【高級系統設置】–》【高級】–》(win10直接搜環境變量就可以到這一步)【環境變量】–》【在第二個內容框中找到 變量名為Path 的一行,雙擊】 –> 【將MySQL的bin目錄路徑追加到變值值中,用 ; 分割】
bin下面的mysql是客戶端,mysqld是服務端

3.初始化
在cmd界面輸入mysqld –initialize-insecure對數據庫進行初始化。
4.啟動MySQL服務
輸入:mysqld
5.啟動mysql客戶端並連接到mysql服務端
輸入指令:mysql -u root -p
6.將mysql服務製作成windows服務
製作MySQL的Windows服務,在終端執行此命令:
"c:mysql-5.7.16-winx64binmysqld" –install
移除MySQL的Windows服務,在終端執行此命令:
"c:mysql-5.7.16-winx64binmysqld" –remove
注意:引號內的路徑是bin目錄下的mysqld路徑必須是絕對路徑。
2.啟動mysqd的兩種方式:
1.啟動服務cmd端輸入 net start mysql
停止服務cmd端輸入net stop mysql
2.如下圖,在計算機的計算機管理裏面手動進行啟動、停止、重啟服務端!

以上是5.6、5.7版本安裝的全部過程。
3.密碼的修改操作
在上面的流程走完之後軟件的root權限密碼默認為空,第一次修改密碼時輸入下面指令(在cmd窗口,管理員身份運行cmd,在cmd下輸入,不是在mysql下輸入):
mysqladmin -uroot -p password "要設置的密碼"
第二次以及以後修改密碼則輸入下面的指令
mysqladmin -uroot -p"原密碼" password "新密碼"
4.如果密碼忘掉了,修改密碼方法:
1)5.6版本mysql修改密碼方法
1 關閉正在運行的MySQL服務。 2 打開DOS窗口,轉到mysqlbin目錄。 3 輸入mysqld –skip-grant-tables 回車。–skip-grant-tables 的意思是啟動MySQL服務的時候跳過權限表認證。 4 再開一個DOS窗口(因為剛才那個DOS窗口已經不能動了),轉到mysqlbin目錄。 5 輸入mysql回車,如果成功,將出現MySQL提示符 >。 連接權限數據庫: use mysql; 。 6 改密碼:update user set password=password(「123」) where user=「root」;(別忘了最後加分號) 。 7 刷新權限(必須步驟):flush privileges; 。 8 退出 quit。 註銷系統,再進入,使用用戶名root和剛才設置的新密碼123登錄。
2)5.7版本
1 關閉mysqld的服務 2 在cmd中執行:mysqld –skip-grant-tables =》 不用密碼就可以登錄,繞過密碼驗證的權限 3 在cmd中執行:mysql =》 mysql -uroot -p 4 執行如下sql指令: (特別注意,此處5.7版本與5.6不一樣)update mysql.user set authentication_string=password('') where user = 'root';
5 flush privileges; (一定要操作) 6 重新啟動mysql服務
六、初識Mysql
SQL指令
1)操作數據庫
查看當前用戶: select user();
數據庫的命名規範:
可由字母、數字、下劃線、@、#、$組成,區分大小寫,不能使用關鍵字如create 、select等,不能單獨使用數字,最長不能超過128位
增 create database 數據庫名稱 charset utf8;
刪 drop database 數據庫名稱;
改:先刪除再添加,如果數據庫有數據的話,直接drop會導致數據庫中的數據丟失,在線上環境,不能夠直接刪除數據,在刪除數據之前需要先進行備份
查 show databases;
使用數據庫 use 數據庫名;
確定當前使用的數據庫: select database();
查看所有用戶權限
select * from mysql.userG;
查看某個用戶的權限
select * from mysql.db where user='用戶名'G; 用戶信息存放在一個名為mysql.user的表裡
select user,password,host from mysql.user;