MySQL學習-預備知識

開始今日份整理mysql

1. 數據庫介紹

1.1 數據庫定義

數據庫是一個由一批分明別類的數據構成的有序集合,這個集合一般被保存爲一個或多彼此相關的文件,咱們能夠理解爲,數據庫就是一種特殊的文件,其中存儲着咱們須要的數據。linux

使用數據庫的好處sql

  • 持久化存儲
  • 讀寫速度極高
  • 保證數據的有效性
  • 對程序的支持性很是好,容易擴展

1.2 數據庫類型

數據庫主要分爲關係型數據庫以及非關係型數據庫。數據庫

1.2.1 關係型數據庫(RDBMS)

RDBMS既關係型數據庫管理系統(Relational Database Management System)vim

主要的軟件:MySQL 、Oracle、 Sql Serverwindows

定義:數據庫裏面的數據所有存在數據表這種弄,而這些表在存儲的過程當中,各自之間有內在的聯繫,由於這種聯繫,咱們稱這樣的數據庫叫」關係型數據庫」。服務器

優勢:工具

  • 容易理解,二維表的結構
  • 使用方便,使用SQL語言使得操做關係型的數據庫很是方便,便於複雜的查詢
  • 支持事物等複雜的數據操做功能

1.2.2 非關係型數據庫(NoSQL)

NoSQL:不單單是是SQL性能

主要軟件:MongoDB、Redis大數據

優勢:

  • 數據之間無聯繫,容易擴展
  • 結構簡單,具備很是高的讀寫性能,在大數據量下,一樣表現優秀
  • 無需事先創建字段,隨時能夠存儲自定義的數據格式

1.3 關係型數據庫核心元素

  • 數據行(記錄)
  • 數據列(字段)
  • 數據表(數據行的集合)----自定義爲文件夾下的文件
  • 數據庫(數據表的集合)----自定義爲電腦中的文件夾

例:一個學生表(表,字段,列,行)

image

2. MySQL的安裝以及設定

2.1 MySQL的基本介紹

MySQL 是一個關係型數據庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關係型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件之一。

MySQL 軟件採用了雙受權政策,它分爲社區版和商業版,因爲其體積小、速度快、整體擁有成本低,尤爲是開放源碼這一特色,通常網站軟件的開發都選擇 MySQL 做爲網站數據庫。MySQL是一種客戶端/服務器端(C/S)的軟件,咱們要學會如何如何安裝服務器端的MySQL,還須要學會如何利用客戶端工具操做MySQL數據,經常使用的客戶端工具備: 命令行、pycharm-database、Navicat等

官網:https://www.mysql.com/

下載:https://dev.mysql.com/downloads/windows

2.2 MySQL的設定

2.2.1 windows平臺下的密碼破解

方式一

#1 關閉mysql
#2 在cmd中執行:mysqld --skip-grant-tables
#3 在cmd中執行:mysql
#4 執行以下sql:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges;

#5 tskill mysqld #或taskkill -f /PID 7832
#6 從新啓動mysql

方式二

#1. 關閉mysql,能夠用tskill mysqld將其殺死
#2. 在解壓目錄下,新建mysql配置文件my.ini
#3. my.ini內容,指定
[mysqld]
skip-grant-tables

#4.啓動mysqld
#5.在cmd裏直接輸入mysql登陸,而後操做
update mysql.user set authentication_string=password('') where user='root and host='localhost';

flush privileges;

#6.註釋my.ini中的skip-grant-tables,而後啓動myqsld,而後就能夠以新密碼登陸了

但願本身永遠不要用到這倆種方式。。。。

2.2.2 linux平臺下的密碼破解

方法一:刪除受權庫mysql,從新初始化

[root@egon ~]# rm -rf /var/lib/mysql/mysql #全部受權信息所有丟失!!!
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql

方法二:啓動時,跳過受權庫

[root@egon ~]# vim /etc/my.cnf    #mysql主配置文件
[mysqld]
skip-grant-table
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql
MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> \q
[root@egon ~]# #打開/etc/my.cnf去掉skip-grant-table,而後重啓
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql -u root -p123 #以新密碼登陸


2.2.3 統一字符編碼

強調:配置文件中的註釋能夠有中文,可是配置項中不能出現中文

#1. 修改配置文件
[mysqld]
default-character-set=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

#mysql5.5以上:修改方式有所改動
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

#2. 重啓服務
#3. 查看修改結果:
\s
show variables like '%char%'

在sql中統一字符編碼仍是有必要的!!!

ok

相關文章
相關標籤/搜索