一、概述
MySQL
是一種開源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS
),以其快速、可靠和易于使用而受到廣泛的歡迎。MySQL
使用 SQL
(結(jié)構(gòu)化查詢語言)進(jìn)行查詢、管理和操作數(shù)據(jù)。MySQL
是一種跨平臺(tái)的數(shù)據(jù)庫(kù),支持在各種操作系統(tǒng)(如 Windows、Linux、MacOS
等)上運(yùn)行。
MySQL
中的重要概念包括:
-
數(shù)據(jù)庫(kù):指的是一個(gè)完整的數(shù)據(jù)集合,其中包含多個(gè)表。
-
表:是一個(gè)數(shù)據(jù)實(shí)體的二維結(jié)構(gòu),在表中我們可以以行和列的形式來操作數(shù)據(jù)。
-
列:表中一個(gè)字段的名稱。
-
行:表中的具體數(shù)據(jù)。
-
主鍵:用于唯一標(biāo)識(shí)表中的每一行數(shù)據(jù)的字段。
-
外鍵:用于關(guān)聯(lián)表之間數(shù)據(jù)的字段。
-
索引:用于加速數(shù)據(jù)的查詢,可以通過特定的屬性來提高查詢性能。
-
視圖:是一個(gè)虛擬表,它通過查詢獲取數(shù)據(jù)。
MySQL 中比較常用的命令包括:
-
CREATE DATABASE
: 創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)。 -
CREATE TABLE
: 創(chuàng)建一個(gè)新的表。 -
INSERT INTO
: 向表中插入新的數(shù)據(jù)。 -
SELECT
: 從表中查詢數(shù)據(jù)。 -
UPDATE
: 更新表中的數(shù)據(jù)。 -
DELETE
: 刪除表中的數(shù)據(jù)。 -
ALTER TABLE
: 修改表的結(jié)構(gòu)。 -
DROP TABLE
: 刪除一個(gè)表。 -
DROP DATABASE
: 刪除一個(gè)數(shù)據(jù)庫(kù)。 -
USE
: 切換使用的數(shù)據(jù)庫(kù)。 -
SHOW DATABASES
: 顯示所有可用的數(shù)據(jù)庫(kù)。 -
SHOW TABLES
: 顯示數(shù)據(jù)庫(kù)中的所有表。
除了上述基本命令之外,MySQL 還支持事務(wù)處理、觸發(fā)器、存儲(chǔ)過程等高級(jí)特性。掌握 MySQL 的使用,可以幫助我們更好地進(jìn)行數(shù)據(jù)存儲(chǔ)、管理和處理。想了解更多MYSQL的知識(shí)點(diǎn)可參考我以下幾篇文章:
- MySQL原理介紹
- MySQL高可用實(shí)戰(zhàn)( MHA)
二、前期準(zhǔn)備
1)部署 docker
# 安裝yum-config-manager配置工具
yum -y install yum-utils
# 建議使用阿里云yum源:(推薦)
#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安裝docker-ce版本
yum install -y docker-ce
# 啟動(dòng)并開機(jī)啟動(dòng)
systemctl enable --now docker
docker --version
2)部署 docker-compose
curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
三、創(chuàng)建網(wǎng)絡(luò)
# 創(chuàng)建,注意不能使用hadoop_network,要不然啟動(dòng)hs2服務(wù)的時(shí)候會(huì)有問題?。?!
docker network create hadoop-network
# 查看
docker network ls
四、MySQL 編排部署
1)構(gòu)建鏡像 Dockerfile
docker pull mysql:5.7
docker tag mysql:5.7 registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/mysql-test:5.7
# 推送鏡像
docker push registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/mysql-test:5.7
2)配置文件
mkdir ./conf
cat >./conf/my.cnf<<EOF
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
EOF
2)編排 docker-compose.yaml
version: '3'
services:
mysql-test:
image: registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/mysql-test:5.7
restart: always
container_name: mysql-test
hostname: mysql-test
environment:
MYSQL_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
ports:
- 3306:3306
volumes:
- ./data:/var/lib/mysql
- ./conf/my.cnf:/etc/mysql/my.cnf
command:
--max_connections=1000
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--default-authentication-plugin=mysql_native_password
networks:
- hadoop-network
healthcheck:
test: ["CMD-SHELL", "curl --silent localhost:3306 >/dev/null || exit 1"]
interval: 10s
timeout: 10s
retries: 3
# 連接外部網(wǎng)絡(luò)
networks:
hadoop-network:
external: true
3)開始部署
docker-compose -f docker-compose.yaml up -d
# 查看
docker-compose -f docker-compose.yaml ps
五、簡(jiǎn)單測(cè)試驗(yàn)證
# 登錄容器
docker exec -it mysql-test bash
# 登錄mysql
mysql -uroot -p
輸入密碼:123456
show databases;
六、常用的 MySQL 客戶端命令
MySQL 是一種常用的關(guān)系型數(shù)據(jù)庫(kù),我們可以通過客戶端連接MySQL服務(wù)器,并執(zhí)行各種SQL語句來對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。下面列舉一些常用的 MySQL 客戶端命令:
1)連接到MySQL服務(wù)器
mysql -u username -p password -h host -P port
其中,-u
表示用戶名,-p
表示密碼,-h
表示服務(wù)器主機(jī)名或IP地址,-P
表示端口號(hào)。
2)顯示當(dāng)前數(shù)據(jù)庫(kù)列表
show databases;
3)選擇數(shù)據(jù)庫(kù)
use database_name;
其中,database_name
為要選擇的數(shù)據(jù)庫(kù)名。
4)顯示當(dāng)前數(shù)據(jù)庫(kù)的所有表
show tables;
5)顯示表的結(jié)構(gòu)
describe table_name;
其中,table_name
為要查看結(jié)構(gòu)的表名。
6)插入數(shù)據(jù)
insert into table_name (field1, field2, ...) values (val1, val2, ...);
其中,table_name
為需要插入數(shù)據(jù)的表名,field1, field2,...
為字段名,val1, val2,...
為要插入的對(duì)應(yīng)值。
7)刪除數(shù)據(jù)
delete from table_name where condition;
其中,table_name
為需要?jiǎng)h除數(shù)據(jù)的表名,condition
為刪除數(shù)據(jù)的條件。
8)修改數(shù)據(jù)
update table_name set column1 = value1, column2 = value2 where condition;
其中,table_name
為需要修改數(shù)據(jù)的表名,column1、column2
為需要修改的列名,value1、value2
為要更新的值,condition
為更新條件。
這些是MySQL客戶端常用的命令,能夠覆蓋數(shù)據(jù)庫(kù)管理中的大部分操作。需要注意的是,MySQL客戶端命令在語法和使用上可能有細(xì)微的差別,具體還需根據(jù)實(shí)際情況具體使用。文章來源:http://www.zghlxwxcb.cn/news/detail-755866.html
以上就是通過 docker-compose 快速部署 MySQL保姆級(jí)教程,有任何疑問歡迎留言或關(guān)注我公眾號(hào)【大數(shù)據(jù)與云原生技術(shù)分享】加群交流或私信溝通~文章來源地址http://www.zghlxwxcb.cn/news/detail-755866.html
到了這里,關(guān)于通過 docker-compose 快速部署 MySQL保姆級(jí)教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!