podman安装mysql容器
前言
mysql如果正式安装,卸载起来比较麻烦。如果是自己测试用的话,可以用podman拉取一个镜像来使用。
这里使用的是mysql5.7版本,对应的docker镜像是mysql:5.7
(如果拉取较慢,可以选择使用阿里云镜像源:j3m2itm3.mirror.aliyuncs.com)
这篇随笔主要参考博客podman安装mysql
正文
- 拉取mysql镜像
podman pull mysql:5.7
拉取完毕后,可以通过如下指令查看镜像
podman images
# REPOSITORY TAG IMAGE ID CREATED SIZE
# docker.io/library/mysql 5.7 c20987f18b13 9 months ago 454 MB
- 建立本地映射文件
mkdir mysql5.7
cd mysql5.7
mkdir conf
mkdir data
mkdir log
- 新建my.cnf
cd conf
touch my.cnf
编辑my.cnf如下
(无耻抄一下上面的博客!
)
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
# !!! 如果使用mysql8 要把下面这行注释掉
# mysql Ver 8.1.0 for Linux on x86_64 (MySQL Community Server - GPL) 不用注释
# mysql 8.4 需要注释
default_authentication_plugin= mysql_native_password
mysql8.4 新特性 MySQL 8.4新特性速览
# 从 MySQL 8.4.0 开始,mysql_native_password 认证插件默认不再启用。
# 若要启用,需要在MySQL启动的时候,添加--mysql-native-password=ON 参数;
# 或在配置文件中设置 mysql_native_password=ON。
- 在mysql5.7中新建启动脚本
mysql_ctl.sh
#!/bin/bash
container_name=mysql5.7
file_path=/home/brian/podman/mysql/mysql5.7
function start()
{
podman run -itd --rm \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
-v $file_path/data:/var/lib/mysql:rw \
-v $file_path/log:/var/log/mysql:rw \
-v $file_path/conf/my.cnf:/etc/mysql/my.cnf:rw \
-v /etc/localtime:/etc/localtime:ro \
--name $container_name \
mysql:5.7
}
function debug()
{
podman run -it --rm \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
-v $file_path/data:/var/lib/mysql:rw \
-v $file_path/log:/var/log/mysql:rw \
-v $file_path/conf/my.cnf:/etc/mysql/my.cnf:rw \
-v /etc/localtime:/etc/localtime:ro \
--name $container_name \
mysql:5.7
}
function stop()
{
podman stop $container_name
}
function podman_ps()
{
podman ps -a
}
function login()
{
podman exec -it $container_name bash
}
function mysql_in()
{
podman exec -it mysql8 mysql -uroot -p
}
function usage()
{
echo -e "Usage: $0 start|debug|stop|ps|login|mysql_in"
exit 0
}
if [[ $1 == "start" ]];then
start
elif [[ $1 == "debug" ]];then
debug
elif [[ $1 == "stop" ]];then
stop
elif [[ $1 == "ps" ]];then
podman_ps
elif [[ $1 == "login" ]];then
login
elif [[ $1 == "mysql_in" ]];then
mysql_in
else
usage
fi
- 脚本使用
chmod +x mysql_ctl.sh
# 后台启动
./mysql_ctl.sh start
# 非后台启动(用于debug)
# 停止的话需要新建终端,使用 podman stop mysql5.7, 或脚本的stop
./mysql_ctl.sh debug
# 停止
# (因为启动时添加了参数--rm,容器一停止立马自动删除)
./mysql_ctl.sh stop
# 查看所有启动的容器
./mysql_ctl.sh ps
# 登录进容器
./mysql_ctl.sh login
- 配置root远程登录
这个环境中,mysql的root用户的默认密码为root
# 启动容器后,登录进容器
./mysql_ctl.sh login
# 登录mysql
mysql -uroot -p
# 输入默认密码:root
# 如果是mysql:5.7配置root远程登录
alter user 'root'@'%' identified with mysql_native_password by '密码';
FLUSH PRIVILEGES;
# 如果是mysql8, 好像mysql8.4改为使用插件:caching_sha2_password
ALTER USER 'root'@'%' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
参考
[1]. podman安装mysql
[2]. MySQL 8.4新特性速览
podman安装mysql容器的更多相关文章
- docker安装mysql容器后,是用navicat连接报client does not support authentication protocol requested by server consider upgrading mysql client
#进入容器 docker exec -it mysql bash#进入mysqlmysql -u root -p#重置密码ALTER USER 'root'@'%' IDENTIFIED WITH m ...
- Docker 安装mysql容器数据卷挂载到宿主机
环境 Centos:7 Docker: 17.05-ce Mysql: 5.7 1. Mysql外部数据和配置文件路径 msyql配置文件路径:/etc/mysql mysql数据卷路径:/var/l ...
- docker部署多个mysql容器,并使用java连接
测试springboot多个数据源配置时,需要安装多个mysql容器,由于资源限制,当前只有一台虚拟机,如果在一台机器上安装多个mysql实例,是可以的,但步骤比较繁琐,使用docker来安装MySQ ...
- docker安装mysql/redis
1.安装mysql容器 #搜索mysql镜像 docker search mysql #拉取mysql镜像 docker pull docker.io/mysql #创建mysql容器,MYSQL_R ...
- docker安装mysql中注意事项
前言 怎么安装docker和拉mysql镜像不是本文的重点,在这里我主要讲我安装mysql容器的三个注意事项:启动容器, 修改密码,远程登录 run容器 docker run -di --name f ...
- docker - 容器里安装mysql
在docker中安装mysql ubuntu官方镜像是精简的ubuntu系统,很多软件和库没有安装,所以直接安装mysql的话依赖较多,建议直接从源码编译安装mysql 通过命令行安装 先启动一个容器 ...
- 【docker】【mysql】docker安装mysql,阿里云docker镜像加速器,docker搜索查看远程仓库上的镜像,docker拉取镜像,查看本地所有镜像,查看容器的运行状况,查看容器的详细信息
在docker上安装mysql有两种方式 1.通过Dockerfile构建 2.直接在docker hub上拉取镜像安装 =================本篇采用方法2=============== ...
- docker mysql容器的安装使用
docker拉取镜像的命令为 docker pull image[:TAG] 如果我们想安装的mysql版本不是最新的版本,则需要填充TAG,如果不带上TAG,则默认安装的为最新版本,虽然可以通过do ...
- Docker容器手动安装mysql(国内镜像)
Docker手动安装mysql 1.创建centos镜像的容器 [root@localhost Tools]# docker run -i -d -h zabbix --name zabbix -p ...
- docker 安装portainer容器后,启动/Portainer 安装MySQL并开启远程访问
启动命令: docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --nam ...
随机推荐
- protobuf 文档
文档地址: https://golang-tech-stack.com/tutorial/pb 学习视频: https://www.bilibili.com/video/BV1Y3411j7EM?p= ...
- goframe v2.1.0 gf-cli的使用
目录 1.视频教程 2.官方文档 3.下载 linux系统安装环境 windows系统安装环境 4.创建项目 5.启动项目 6.交叉编译 7.gen命令的使用 8.orm的操作 1.视频教程 http ...
- C语言:顺序存储循环队列#保存文件中单词的最后三个字母
目录 前言 全局变量和结构体代码 四个任务 ①计算文件中的单词数量 ②保存单词最后三个字母到链表中 ③将链表的内容导出到另一个文件中 ④将新文件的内容打印到屏幕中 @完整代码@ 前言 本博客最终会完成 ...
- 宝塔面板6.X在Docker中安装宝塔面板5.9.1 – 我是不是太闲了?
我是不是太闲了,问你们三遍,场景是这样的,我在一台VPS里面安装宝塔面板6.X,宝塔面板的软件商店有Docker管理器2.0这一个免费好用的小玩意.大鸟安装好Docker管理器2.0,然后在Docke ...
- WNS 后台Push服务调试脚本
一.API说明 https://cloud.tencent.com/document/product/276/3212 二.推送脚本 #!/usr/local/bin/python3 # -*- ...
- 探索Semantic Plugins:开启大模型的技能之门
前言 在之前的章节中我们或多或少的已经接触到了 Semantic Kernel 的 Plugins,本章我们讲详细介绍如何使用插件. Semantic Kernel 的一大特点是拥有强大的插件,通过结 ...
- dom基本获取 标签文本操作
// 总结: // 1, 通过id属性值,获取标签对象 // document.getElementById() // 一个标签对象 ...
- Linux扩展篇-shell编程(四)-shell条件判断
基本语法 格式一: test condition 格式二: [ condition ] 注意:1)condition前后要有空格.2)条件非空即为true,例如[ hello ]返回true,[ ]返 ...
- DBEAVER 23.0.2 调整SQL编辑器字体大小 ver:20240112
DBEAVER 23.0.2 调整SQL编辑器字体大小 ver:20240112 版本是:23.0.2. 菜单-窗口-首选项.用户界面-外观-颜色和字体.展开 DBeaver Font."M ...
- IDEA:java: Compilation failed: internal java compiler error
java: Compilation failed: internal java compiler error 解决方法: 1.打开菜单 ,File - Project Structure - Proj ...