MySQL 初识
閱讀目錄
一、MySQL介紹:
MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下產品。MySQL 是最流行的關系型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件。
MySQL是一種關系數據庫管理系統,關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。
MySQL所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策,分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站數據庫。
具體介紹可以自行查看百度百科MySQL。
MySQL分為客戶端和服務端兩部分:
-服務端軟件-socket服務端-本地文件操作-解析指令
-客戶端軟件-socket客戶端-發送指令-解析指令
數據庫管理軟件的分類:
分兩大類:
- 關系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql語句通用 #
關系型數據庫需要有表結構 - 非關系型:mongodb,redis,memcache # 非關系型數據庫是key-value存儲的,沒有表結構
二、MySQL的配置使用:
1/安裝過程省略,自行百度
終端需要使用管理員身份運行
2/啟動mysql之前先設置下環境變量,這樣就不需要每次啟動mysql的時候都要切換到文件目錄下
將mysql的目錄加入到環境變量(過程:此電腦>右鍵>屬性>高級系統設置>高級>環境變量>系統變量下>雙擊Path>新建>
將mysql的bin路徑(比如我的mysql文件bin目錄在D:\mysql\bin\)復制,確認確認確認…)
3/啟動MySQL服務端
Microsoft Windows [版本 10.0.17134.706] (c) 2018 Microsoft Corporation。保留所有權利。C:\WINDOWS\system32>mysqld此時服務端已經啟動新開一個cmd終端,啟動客戶端
C:\WINDOWS\system32>mysql -uroot -p # 輸入用戶名root,密碼-p Enter password: ****** # 輸入密碼,第一次安裝后密碼為空,直接回車就行 (可以打全:mysql -h 127.0.0.1 -P 3306 -uroot -p,默認本地ip和端口可以省略) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.26 MySQL Community Server (GPL)Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> # 到這里代表mysql客戶端已經啟動。在這里強調一點,cmd啟動MySQL的時候最好以管理員身份運行,因為這樣才能獲取到完全權限。
4/這里有必要將mysqld服務端加入到系統服務中
前提必須先關閉mysqld和客戶端
- 先查看mysqld進程,cmd端(管理員身份執行)輸入:tasklist |findstr mysqld
- 第一步獲取到mysqld的PID號(假設為13978),接下來輸入命令殺死進程:taskkill /F /PID 13978
- 繼續輸入:mysqld --install
- 運行:services.msc 查看計算機本地服務,查看列表中是否已經加入有MySQL
5/修改root用戶登錄初始密碼(破解管理員密碼)
注意:修改密碼不是在mysql里面修改,需要退出客戶端,在外面修改
修改密碼:
######登錄后修改: 5.7版本修改密碼和老版本不一樣:需要: 輸入: update mysql.user set authentication_string=password('新密碼') where user = 'root'; flush privileges;######不登錄修改: 輸入: C:\WINDOWS\system32>mysqladmin -uroot -p原密碼 password 新密碼 mysqladmin: [Warning] Using a password on the command line interface can be insecure. Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.破解密碼:
windows下:
Microsoft Windows [版本 10.0.17134.706] (c) 2018 Microsoft Corporation。保留所有權利。C:\WINDOWS\system32>mysqld --skip-grant-tables # 繞過密碼監測文件,這里第一次回車可能會卡主,關閉cmd再試一次就沒問題了C:\WINDOWS\system32>mysql # 直接進入mysql(而且是root用戶) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.26 MySQL Community Server (GPL)Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. ###### ↓↓↓↓↓↓修改密碼↓↓↓↓↓↓######(此時無需原密碼) mysql> update mysql.user set authentication_string=password('新密碼') where user = 'root'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges; # 刷新下 Query OK, 0 rows affected (0.00 sec)# 這樣就破解成功完成密碼修改。5/在windows下,設置配置文件(my.ini)
[mysqld] #服務端配置 port = 3306 # 默認端口號 basedir=D:\mysql # 文件目錄 datadir=D:\mysql\data # 數據庫目錄 max_connections=200 # 客戶端最大連接數 character-set-server=utf8 # 統一字符編碼 collation-server=utf8_general_ci # 排序規則 default-storage-engine=INNODB # 默認存儲引擎為innodb sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] default-character-set=utf8 # 同一字符編碼utf-8 [client] default-character-set=utf8 # 統一字符編碼utf-8三、MySQL的sql語句:(也就是敲啥命令可以達到操作數據庫的增刪改查)
tip: sql書寫錯誤,只要沒加分號,可以加\c使前面的sql語句失效
- 針對文件夾的(庫)
-
針對文件的(表)
文件首先需要在文件夾下面,所以在操作文件之前,應該先確定操作的是哪個文件夾下面的文件
- 針對(記錄)
四、存儲引擎
文件格式有很多種,對應的軟件也有很多種txt,pdf等
針對不同類型的文件,需要對應有不同的存儲方式幫助我們去操作
# 查看所有的存儲引擎 show engines;# 查看不同存儲引擎存儲表結構文件特點 create table t1(id int)engine=innodb; create table t2(id int)engine=myisam; create table t3(id int)engine=blackhole; create table t4(id int)engine=memory;insert into t1 values(1); insert into t2 values(1); insert into t3 values(1); insert into t4 values(1);總結
- 上一篇: 前端Web框架的实现过程
- 下一篇: MySQL数据类型与操作