环境debian12.6
一、安装与配置docker
1.安装docker
国内安装脚本
sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun
2.配置docker镜像地址sudo vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1panel.live",
"https://hub.rat.dev"
]
}
重启docker并设置开机自启sudo systemctl enable dockersudo systemctl enable docker
3.安装docker web面板(portainer)
docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock registry.cn-beijing.aliyuncs.com/deanmr/portainer-ce:zh-cn
二、安装mysql
1.拉取镜像docker pull mysql
2.运行镜像
docker run --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf.d:/etc/mysql/conf.d \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:latest
密码为123456
3.配置mysql
cd /usr/local/mysql
ll
cd conf
vi my.cnf
在my.cnf中写入
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 设置东八区时区
default-time_zone = '+8:00'
# 设置密码验证规则,default_authentication_plugin参数已被废弃
# 改为authentication_policy
#default_authentication_plugin=mysql_native_password
authentication_policy=mysql_native_password
# 限制导入和导出的数据目录
# 为空,不限制导入到处的数据目录;
# 指定目录,必须从该目录导入到处,且MySQL不会自动创建该目录;
# 为NULL,禁止导入与导出功能
#secure_file_priv=/var/lib/mysql
secure_file_priv=
init_connect='SET collation_connection = utf8mb4_0900_ai_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
skip-character-set-client-handshake
skip-name-resolve
4.配置授权远程访问
进入容器
docker exec -it mysql /bin/bash
登录mysql
mysql -u root -p
选择数据库
show databases;
use mysql;
查看用户连接情况
select host, user, plugin, authentication_string, password_expired from user;
修改密码认证方式
ALTER USER root@'%' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER root@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
-- 刷新权限
FLUSH PRIVILEGES;
退出容器exit
5.重启mysql
设置docker启动时启动mysql
docker update mysql --restart=always
重启mysql
docker restart mysql
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 tanglx@aliyun.com