溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫MYSQL學(xué)習(xí)系列一

發(fā)布時(shí)間:2020-07-21 01:41:01 來源:網(wǎng)絡(luò) 閱讀:588 作者:輕狂書生999 欄目:MySQL數(shù)據(jù)庫
                    數(shù)據(jù)庫MYSQL學(xué)習(xí)系列一

一.MYSQL數(shù)據(jù)庫基礎(chǔ)
1.1-認(rèn)識(shí)MYSQL
什么是數(shù)據(jù)庫
計(jì)算機(jī)處理和存儲(chǔ)的一切信息都是數(shù)據(jù)
計(jì)算機(jī)系統(tǒng)中一種用于存取數(shù)據(jù)的程序
一種:
計(jì)算機(jī)系統(tǒng)中有很多種能夠存取數(shù)據(jù)的程序
它們各有特征和長(zhǎng)處,有自己的使用范圍
存取:
能夠保存數(shù)據(jù)避免丟失
能夠按照需求找到符合條件的數(shù)據(jù)

為什么要使用數(shù)據(jù)庫
數(shù)據(jù)庫幫助我們解決一下數(shù)據(jù)存取難題:
較大數(shù)據(jù)量
網(wǎng)絡(luò)控制
并發(fā)訪問
高性能要求
事務(wù)控制
持久化和和數(shù)據(jù)安全
查詢數(shù)據(jù)需求邏輯復(fù)制

數(shù)據(jù)庫分類
關(guān)系型數(shù)據(jù)庫
MYSQL
Oracle
SQL Server
PostgreSQL

非關(guān)系型數(shù)據(jù)庫
Hadoop:存放大數(shù)據(jù)
mongoDB:文檔型數(shù)據(jù)庫
Redis:鍵值型數(shù)據(jù)庫
Cassandra:分布式數(shù)據(jù)庫

最顯著的區(qū)別:是否使用結(jié)構(gòu)化查詢語句(SQL)

為什么學(xué)習(xí)MYSQL
MYSQL:The world’s most popular open source database
最流行
開源
并不是最先進(jìn)
前三強(qiáng)中唯一的開源數(shù)據(jù)庫
在互聯(lián)網(wǎng)企業(yè)中占據(jù)絕對(duì)主流地位
基于GPL協(xié)議開放源代碼
社區(qū)版完全開放免費(fèi)
代碼允許自由的進(jìn)行修改
易于學(xué)習(xí):
MYSQL具備關(guān)系型數(shù)據(jù)庫核心功能但是特性并不繁多。
架構(gòu)設(shè)計(jì)上趨于精簡(jiǎn)
非常適合新手學(xué)習(xí)關(guān)系型數(shù)據(jù)庫,入門后可向其他數(shù)據(jù)庫發(fā)展

誰需要學(xué)習(xí)MYSQL
應(yīng)用開發(fā)者
DBA

學(xué)習(xí)目標(biāo)-應(yīng)用開發(fā)者
有助于利用MYSQL開發(fā)出性能優(yōu)異的應(yīng)有程序

學(xué)習(xí)目標(biāo)-DBA
為企業(yè)提供可靠的數(shù)據(jù)庫技術(shù)保障

1.2-輕松安裝MySQL
輕松部署MySQL
?Windows下安裝MySQL
o圖形化工具安裝, MySQL Installer
?Linux(Ubuntu)下安裝MySQL
o包管理安裝,apt-get

Windows安裝時(shí)在安裝中間starting server時(shí)報(bào)錯(cuò)解決辦法是手動(dòng)進(jìn)入服務(wù)管理把MySQL服務(wù)的登錄方式改為用本地賬戶且允許與桌面交互
在Ubuntu下可以用apt-cache search mysql-server查看可用的軟件包
使用sudo apt-get install mysql-server-5.6安裝MySQL5.6
啟動(dòng)與停止MySQL服務(wù):

啟動(dòng)

sudo /etc/init.d/mysql start# 或者
sudo service mysql start

停止

sudo /etc/init.d/mysql stop# 或者
sudo service mysql stop

重啟

sudo service mysql restart

查看狀態(tài)

sudo /etc/init.d/mysql status
1.3-MySQL數(shù)據(jù)庫連接
工作中常用到的三種連接方式
?Java App + JDBC client(其他語言也有,比如Python的MySQLdb)
?MySQL client
?"MySQL" utility
使用應(yīng)用程序連接MySQL
?應(yīng)用程序使用驅(qū)動(dòng)(connector/driver)客戶端連接MySQL
?MySQL驅(qū)動(dòng)程序涵蓋各種主流語言
使用命令行連接MySQL
?安裝MySQL客戶端軟件包
?設(shè)置環(huán)境變量(Linux)
如何安裝MySQL-client
?從軟件源安裝sudo apt-get install mysql-client
驗(yàn)證MySQL的安裝
mysql -V
命令行連接MySQL的兩種方式
?Socket連接(本地連接)
?TCP/IP連接(遠(yuǎn)程連接)
使用Socket連接

需要指定socket文件和用戶名、密碼

mysql -S/tmp/mysql.sock -uroot -p
遠(yuǎn)程連接

需要指定IP和端口

mysql -h227.0.0.1 -P3306 -uroot -p
本地連接VS遠(yuǎn)程連接
?本地連接只能在MySQL服務(wù)器上創(chuàng)建,常用作為MySQL狀態(tài)檢查,或程序和MySQL部署在一臺(tái)機(jī)器上。
?遠(yuǎn)程連接在MySQL服務(wù)器內(nèi)外都能生效,適合應(yīng)用服務(wù)器和MySQL部署在不同機(jī)器上的場(chǎng)景。
在Windows下用命令行連接MySQL
mysql -hlocalhost -P3306 -uroot -p
連接進(jìn)入之后可以做什么

數(shù)據(jù)庫狀態(tài)

status;

展示當(dāng)前連接

show processlist;
使用命令行連接MySQL的注意事項(xiàng)
?socket一般存儲(chǔ)路徑為:/tmp/mysql.sock

如果找不到文件可以通過tcp連接進(jìn)來然后通過如下命令查找

show global variables like 'socket';
?socket文件的權(quán)限必須是777
?不要將密碼直接輸入在命令行里,存在安全風(fēng)險(xiǎn)!
命令行連接MySQL的特點(diǎn)
?MySQL命令行里有豐富的擴(kuò)展參數(shù)
?DBA運(yùn)維管理工具大多使用命令行方式
?多臺(tái)機(jī)器可以同時(shí)操作,對(duì)于DBA來說非常有效率
使用圖形客戶端連接MySQL
?常用的圖形客戶端工具
oNavicat
oMySQLWorkBench
圖形GUI工具的優(yōu)勢(shì)
?操作簡(jiǎn)單易于上手
?支持圖形化的導(dǎo)入、導(dǎo)出
?可視化界面輸出,輸出可視化
總結(jié)
?應(yīng)用程序需要使用API接口連接MySQL
?開發(fā)工程師可以使用圖形工具連接MySQL
?命令行客戶端才是DBA的最愛
1.4-SQL語言入門
關(guān)系型數(shù)據(jù)庫
?數(shù)據(jù)存放在表中
?表的每一行被稱為記錄
?表中所有記錄都有相同的字段(列)
SQL是什么
?Structured Query Language
?是一種特殊目的的編程語言,用于關(guān)系型數(shù)據(jù)庫中的標(biāo)準(zhǔn)數(shù)據(jù)存取操作
?與數(shù)據(jù)庫進(jìn)行溝通的鑰匙
SQL語言與數(shù)據(jù)庫
?用SQL創(chuàng)建表,定義表中的字段
?用SQL向表中增加,刪除,修改記錄
?用SQL從表中查詢到想要的記錄
?用SQL操作數(shù)據(jù)庫的一切
SQL語句的分類
SQL語句的分類 大致用途
DDL(Data Definition Language) 創(chuàng)建表,刪除表,修改表……
DML(Data Manipulation Language) 向表中插入記錄,修改或者刪除表中的記錄……
select 根據(jù)條件從表中查詢出想要得到的記錄
DCL(Data Control Language) 控制數(shù)據(jù)庫的訪問權(quán)限等設(shè)置
TCL(Transaction Control Language) 控制事務(wù)進(jìn)展
?DDL
oCREATE TABLE
oDROP TABLE
oALTER TABLE
?DML
oSELECT FROM TABLE
oINSERT INTO TABLE
oUPDATE TABLE SET
oDELETE FROM TABLE
?DCL
oGRANT
oREVOKE
?TCL
oCOMMIT
oROLLBACK
example:

查看當(dāng)前有哪些數(shù)據(jù)庫

show databases;# 使用名為test的數(shù)據(jù)庫
use test;# 創(chuàng)建一張學(xué)生表create table stu(
id int(10),
name varchar(20),
age int(10),
primary key(id));# 每一張表都需要包含一個(gè)主鍵,主鍵唯一標(biāo)識(shí)一條記錄,唯一的字段,不可重復(fù)不能為空,通過primary key關(guān)鍵字來定義。

查看創(chuàng)建好的表

show create table stu;# 新加一個(gè)字段alter table stu add column gender varchar(20);# 修改一個(gè)字段alter table stu modify column gender varchar(40);# 刪除一個(gè)字段alter table stu drop column gender;# 刪除表drop table stu;# 查看當(dāng)前數(shù)據(jù)庫中的表
show tables;

向表中插入數(shù)據(jù)insert into stu(id,name,age) values(1,'pw',28);# 插入全部字段時(shí)可以只寫表名insert into stu values(2,'nss',29);# 查看剛才添加的數(shù)據(jù),""代表查詢?nèi)孔侄蝧elect from stu;# 如果只想查詢兩個(gè)字段,則只寫要查詢的字段名select name, age from stu;# 也可以根據(jù)某個(gè)條件進(jìn)行查詢,比如只查詢id為1的記錄select name age from stu where id=1;

更新語句update stu set age=29 where id=1;

刪除表中的數(shù)據(jù)delete from stu where id=1;

1.5-認(rèn)識(shí)DBA
什么是DBA
DBA是數(shù)據(jù)庫管理員,就像是足球隊(duì)的守門員,是業(yè)務(wù)最后一道屏障,是業(yè)務(wù)穩(wěn)定運(yùn)行的基石,可以提供更暢快的用戶體驗(yàn)
為什么需要DBA
?小公司
o沒有專職DBA
o但肯定有懂?dāng)?shù)據(jù)庫的人
?大公司
o專職DBA
o數(shù)據(jù)存儲(chǔ)技術(shù)專家
互聯(lián)網(wǎng)業(yè)務(wù)有以下嚴(yán)格要求:
?高性能(數(shù)據(jù)庫是重要的一環(huán))
?高可用(需要業(yè)務(wù)不中斷的運(yùn)行)
?可擴(kuò)展(支撐海量數(shù)據(jù)和業(yè)務(wù),數(shù)據(jù)庫拓展)
?安全性(核心業(yè)務(wù)數(shù)據(jù)敏感)
沒有DBA,就沒有穩(wěn)定的數(shù)據(jù)庫,請(qǐng)求變慢,數(shù)據(jù)丟失,安全問題,用戶投訴,無窮無盡
DBA要做哪些工作
?基礎(chǔ)運(yùn)維工作
o安裝部署
o監(jiān)控
o故障處理
?安全運(yùn)維工作
o數(shù)據(jù)備份與恢復(fù)
o安全訪問、安全漏洞
o審計(jì)
?性能調(diào)優(yōu)
o數(shù)據(jù)庫優(yōu)化
o容量評(píng)估、軟硬件升級(jí)
?開發(fā)支持工作
o存儲(chǔ)方案制定
o數(shù)據(jù)庫設(shè)計(jì)
o數(shù)據(jù)庫變更、SQL Review
?流程與培訓(xùn)
o數(shù)據(jù)庫開發(fā)規(guī)范
o運(yùn)維流程標(biāo)準(zhǔn)化
o業(yè)務(wù)培訓(xùn)
DBA需要哪些技能
?專業(yè)技能
o數(shù)據(jù)庫原理
oLinux與Shell
o計(jì)算機(jī)體系結(jié)構(gòu)
o網(wǎng)絡(luò)原理
o數(shù)據(jù)庫系統(tǒng)與操作
o服務(wù)器硬件
o業(yè)務(wù)架構(gòu)設(shè)計(jì)
?軟技能
o責(zé)任心、執(zhí)行力
o堅(jiān)韌、抗壓
o學(xué)習(xí)與溝通能力
o正直、誠信
o耐心,注重細(xì)節(jié)
o分析能力
o團(tuán)隊(duì)協(xié)作
DBA如何發(fā)展
?小公司or大公司
?發(fā)展通道:
oDBA -> 業(yè)務(wù)架構(gòu)師
oDBA -> 運(yùn)維專家
oDBA -> 數(shù)據(jù)庫研發(fā)
小結(jié)
?認(rèn)識(shí)DBA
o管理好數(shù)據(jù)庫
oDBA工作很重要
o專業(yè)技能與軟技能并重
o不錯(cuò)的發(fā)展前景
o互聯(lián)網(wǎng)公司很缺優(yōu)秀的DBA

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI