1. 程式人生 > >mysql 數據庫第一天

mysql 數據庫第一天

line span 14. 現在 命令行 分享圖片 style 語句 dex

Mysql 數據庫

Mysql 數據庫:實質是一個存放和管理文件的軟件

那麽對於MySQL來說有兩個軟件:

  ——服務器軟件:

    socket服務端

    本地文件操作

  ——客戶端軟件:

    socket客戶端

    發送指令

    解析指令(mysql語句)  

對於服務器軟件中的socket服務器是一直開著的,客戶端隨時需要連接,還有創建文件、刪除文件、等操作。

對於客戶端軟件中的socket客戶端,我們得需要發送指令去命令socket服務端文件進行操作。

mysql 要掌握的技能(內容):

  ——安裝 服務器(mysqld)和客戶端(mysql)

  ——連接

  ——學習SOL語句規則;命令服務端做任何的操作

數據庫定義:存放數據的倉庫。 數據庫是長期存放在計算機中、有組織、可共享的數據。

數據庫中的數據按一定的數據模型組織、描述和存儲,具有較小的冗余度、較高的數據獨立性、可以進行數據共享

數據庫管理系統(DataBase Management System):

  

數據庫管理軟件分類

技術分享圖片
分兩大類:
  關系型:如sqllite,db2,oracle,access,sql server,MySQL,註意:sql語句通用
  非關系型:mongodb,redis,memcache

可以簡單的理解為:
    關系型數據庫需要有表結構
    非關系型數據庫是key-value存儲的,沒有表結構
   非關系型數據庫是以鍵對應值的方式存儲的。

數據庫服務器、數據管理系統。數據庫。。表與記錄的關系:

  

記錄:1 xxx 324245234 22(多個字段的信息組成一條記錄,即文件中的一行內容)

表:student,scholl,class_list(即文件)

數據庫:oldboy_stu(即文件夾)

數據庫管理系統:如mysql(是一個軟件)

數據庫服務器:一臺計算機(對內存要求比較高)

總結:

數據庫服務器-:運行數據庫管理軟件

數據庫管理軟件:管理-數據庫

數據庫:即文件夾,用來組織文件/表

表:即文件,用來存放多行內容/多條記錄

Mysql 安裝於基本管理:

添加環境變量:

【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名為Path 的一行,雙擊】 --> 【將MySQL的bin目錄路徑追加到變值值中,用 ; 分割】

5.初始化

1 mysqld --initialize-insecure

6.啟動mysql服務

mysqld #啟動MySQL服務

7.啟動mysql客戶端並連接mysql服務端(新開一個cmd窗口)

mysql -u root -p # 連接MySQL服務器

上一步解決了一些問題,但不夠徹底,因為在執行【mysqd】啟動MySQL服務器時,當前終端會被hang住,那麽做一下設置即可解決此問題,即將MySQL服務制作成windows服務

技術分享圖片
註意:--install前,必須用mysql啟動命令的絕對路徑
# 制作MySQL的Windows服務,在終端執行此命令:
"c:\mysql-5.6.40-winx64\bin\mysqld" --install

# 移除MySQL的Windows服務,在終端執行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove


註冊成服務之後,以後再啟動和關閉MySQL服務時,僅需執行如下命令:
# 啟動MySQL服務
net start mysql

# 關閉MySQL服務
net stop mysql
技術分享圖片

windows下登錄設置密碼

打開終端,輸入mysql

技術分享圖片

輸入mysql提供的函數:select user(); # 查看當前登錄的賬號

技術分享圖片

當前登錄的默認賬號為ODBC@localhost

如果想切到root賬號登錄

執行命令:

mysql -uroot -p

再查看當前用戶:

select user();

技術分享圖片

管理員為root(擁有最高權限,管理員賬號),密碼為空,以無密碼的方式登錄了管理員賬號,是非常危險的一件事情,所以要為管理員賬號設置密碼

設置管理員root賬號密碼為123

C:\Users\mjj>mysqladmin -uroot -p password "123"  #設置初始密碼 由於原密碼為空,因此-p可以不用

技術分享圖片

ps:??不用管它。翻譯為:在命令行界面使用密碼不安全,暴露在終端當中。

然後再登錄賬號,不輸入密碼則會出現如下結果:

技術分享圖片

再次執行如下操作:

技術分享圖片

再查看一下當前登錄的賬號:

技術分享圖片

如果想將原始密碼123,設置新密碼為456

C:\Users\mjj>mysqladmin -uroot -p"123" password "456"  #修改mysql密碼,因為已經有密碼了,所以必須輸入原密碼才能設置新密碼

依次執行如下操作:

mysql -uroot -p456

select user();

密碼忘記——破解密碼

跳過授權方式,直接登錄!!

0.以管理員身份打開cmd

技術分享圖片

2.停掉mysql服務端

C:\WINDOWS\system32>net stop mysql
MySQL 服務正在停止.
MySQL 服務已成功停止。

3.執行如下命令跳過授權表

技術分享圖片
#跳過授權表
C:\WINDOWS\system32>mysqld --skip-grant-tables
2018-06-09 17:12:38 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2018-06-09 17:12:38 0 [Note] mysqld (mysqld 5.6.40) starting as process 6052 ...4.
技術分享圖片

4.再次查看

技術分享圖片

5. 現在可以任意的更改密碼,執行如下命令

update mysql.user set authentication_string =password(‘‘) where User=‘root‘;

6.刷新權限,執行命令

flush privileges;

技術分享圖片

7.退出mysql。執行命令:exit,

8.讓用戶去加載權限,以管理員身份進入cmd,查看當前mysql進程

1 tasklist |findstr mysql #查看當前mysql的進程

技術分享圖片

9.殺死當前的進程,執行如下命令

taskkill /F /PID 6052  # 殺死當前的進程pid

技術分享圖片

10.再次執行如下操作,還原

技術分享圖片

統一字符編碼

進入mysql客戶端,執行\s

技術分享圖片

為了統一字符編碼,請執行如下操作:

(1)my.ini文件是mysql的配置文件,

在C:\mysql-5.6.40-winx64文件下創建my.ini文件

(2)將如下代碼拷貝保存。

技術分享圖片
#mysql5.5以上:修改方式為
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
技術分享圖片

(3)以管理員身份重啟服務,執行如下命令

技術分享圖片
C:\Windows\system32>net stop MySQL
MySQL 服務正在停止..
MySQL 服務已成功停止。

C:\Windows\system32>net start MySQL
MySQL 服務正在啟動 .
MySQL 服務已經啟動成功。
技術分享圖片

(4)在cmd中輸入mysql進入mysql環境,執行\s,顯示如下信息,表示成功

技術分享圖片

  

註: \c 表示上一行代碼不執行;

技術分享圖片

內容補充:

 進程相關:

  ——查看進程:

    tasklist | findstr mysql

  ——關閉進程:

    taskkill /F /PID 進程號

mysql 數據庫第一天