本章內容:
-
mysql的安裝、啓動
-
mysql破解密碼
-
統一字符編碼
MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關係型數據庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件之一。html
mysql是什麼?
mysql就是一個基於socket編寫的C/S架構的軟件
數據庫管理軟件分類
分兩大類: 關係型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql語句通用 非關係型:mongodb,redis,memcache 能夠簡單的理解爲: 關係型數據庫須要有表結構 非關係型數據庫是key-value存儲的,沒有表結構
mysql的下載安裝
想要使用MySQL來存儲並保存數據,則須要作幾件事情:python
a. 安裝MySQL服務端
b. 安裝MySQL客戶端
b. 【客戶端】鏈接【服務端】
c. 【客戶端】發送命令給【服務端MySQL】服務的接受命令並執行相應操做(增刪改查等)mysql
下載地址:redis
window版本
一、官網去下載sql
二、針對操做系統的不一樣下載不一樣的版本mongodb
3.解壓數據庫
若是想要讓MySQL安裝在指定目錄,那麼就將解壓後的文件夾移動到指定目錄,如:C:\mysql-5.6.40-winx64windows
4.添加環境變量安全
【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名爲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. 如今能夠任意的更改密碼,執行以下命令
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,顯示以下信息,表示成功
初始mysql語句
本節課先對mysql的基本語法初體驗。
操做文件夾(庫)
增
create database db1 charset utf8;
查
# 查看當前建立的數據庫 show create database db1; # 查看全部的數據庫 show databases;
改
alter database db1 charset gbk;
刪
drop database db1;
操做文件(表)
use db1; #切換文件夾 select database(); #查看當前所在文件夾
增
create table t1(id int,name char);
查
#查看當前的這張t1表 show create table t1; # 查看全部的表 show tables; # 查看錶的詳細信息 desc t1;
改
# modify修改的意思 alter table t1 modify name char(6); # 改變name爲大寫的NAME alter table t1 change name NAMA char(7);
刪
# 刪除表 drop table t1;
操做文件內容(記錄)
增
# 插入一條數據,規定id,name數據leilei insert t1(id,name) values(1,"mjj01"),(2,"mjj02"),(3,"mjj03");
查
select id from db1.t1; select id,name from db1.t1; select * from db1.t1;
改
update db1.t1 set name='zhangsan'; update db1.t1 set name='alex' where id=2;
刪
delete from t1; delete from t1 where id=2;