📣【快捷部署系列】010期信息
编号 | 选型 | 版本 | 操作系统 | 部署形式 | 部署模式 | 复检时间 |
---|---|---|---|---|---|---|
010 | MySQL | 5.7.27 | Ubuntu 20.04 | Docker | 单机 | 2024-03-28 |
一、快捷部署
#!/bin/bash
#################################################################################
# 作者:cxy@toc 2024-03-27
# 功能:自动部署MySQL(Docker方式)
# 说明:如果已安装了Docker,请注释掉 install_docker,避免重复安装
#################################################################################
install_docker(){
#更新apt源
apt-get update
#安装依赖包以允许APT通过HTTPS使用存储库
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
#添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
#设置stable存储库
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
#更新apt源
apt-get update
#查看docker-ce可安装的版本
#apt-cache madison docker-ce
#安装指定版本
apt-get -y install docker-ce=5:25.0.5-1~ubuntu.20.04~focal docker-ce-cli=5:25.0.5-1~ubuntu.20.04~focal containerd.io
#查看Docker版本
docker -v
#添加开机自启动
systemctl enable docker
echo "Docker 安装完毕!"
}
info(){
echo -e "\033[34m 【`date '+%Y-%m-%d %H:%M:%S'`】\033[0m" "\033[35m$1\033[0m "
}
info1(){
echo -e "\033[31m 【`date '+%Y-%m-%d %H:%M:%S'`】\033[0m" "\033[35m$1\033[0m "
}
install_mysql(){
read -p "请输入mysql数据持久化存储目录(/opt/mysql):" mysql_home
read -p "请输入mysql容器启动的容器名称(mysql57):" mysql_name
read -p "请输入mysql容器启动的镜像版本(mysql:5.7.27):" mysql_version
read -p "请输入mysql容器启动的root密码(123qwE):" mysql_password
read -p "请输入mysql容器启动的初始端口(53316):" mysql_port
MYSQL_HOME="${mysql_home:-/opt/mysql}"
mysql_name="${mysql_name:-mysql57}"
mysql_images="${mysql_version:-mysql:5.7.27}"
mysql_passwd="${mysql_password:-123qwE}"
mysql_port="${mysql_port:-53316}"
if [ -z ${mysql_home} ] && [ -z ${mysql_name} ] && [ -z ${mysql_version} ]&& [ -z ${mysql_password} ]&& [ -z ${mysql_port} ];then
info1 "请根据提示,输入所有的值"
exit 0
else
info "开始部署启动MySQL..."
docker run -d -p ${mysql_port}:3306 --name ${mysql_name} -v ${MYSQL_HOME}:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=${mysql_passwd} -u root --privileged=true ${mysql_images} &>/dev/null
info "MySQL部署完毕~"
fi
}
install_docker
install_mysql
使用方法:
$ vim install-mysql57-ubuntu20.sh
$ chmod +x install-mysql57-ubuntu20.sh
$ ./install-mysql57-ubuntu20.sh
# 感谢淘客科技提供的实验资源环境
二、入门体验
#进入容器
$ docker exec -it mysql57 bash
#连接mysql
mysql -u root -p
#创建数据库
mysql> CREATE DATABASE demo CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
#显示现有数据库
mysql> show databases;
#切换数据库
mysql> USE mysql;
#查用户信息
select host,user,authentication_string from user;
#切换数据库
mysql> USE demo;
#创建表
mysql> CREATE TABLE t_users (
id_ INT AUTO_INCREMENT PRIMARY KEY,
username_ VARCHAR(50) NOT NULL,
email_ VARCHAR(100) NOT NULL,
birthdate_ DATE,
is_active_ BOOLEAN DEFAULT TRUE
);
# 查看存在的表
mysql> show tables;
# 插入数据
INSERT INTO t_users (username_, email_, birthdate_, is_active_) VALUES ('cxy', 'cxy@toctalk.com.cn', '1986-10-24', true);
INSERT INTO t_users (username_, email_, birthdate_, is_active_) VALUES ('zhangsan', 'zs@toctalk.com.cn', '2000-10-24', true);
INSERT INTO t_users (username_, email_, birthdate_, is_active_) VALUES ('lisi', 'ls@toctalk.com.cn', '2024-10-24', true);
# 查询数据
mysql> select * from t_users;
# 更新数据
mysql> UPDATE t_users SET is_active_=FALSE where id_='1';
# where条件查询数据
mysql> select * from t_users where id_='1';
# 删除数据
mysql> delete from t_users where id_='1';
由于是入门系列,所以仅列举了几个简单的场景。
更多信息可访问官网:https://www.mysql.com
或关注后续相关博文
往期精彩内容推荐
【快捷部署】009_Redis(6.2.14)
【快捷部署】008_Docker(25.0.5)
【快捷部署】007_Tomcat(8.5.79)
【快捷部署】006_DolphinScheduler(3.2.0)
云原生:重塑未来应用的基石