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;