portainer学习笔记1

Portainer是一款非常好用的docker容器管理平台,部署也很easy。

# 创建portainer数据卷
docker volume create portainer_data
# 拉取镜像启动portainer
docker run -d -p 8000:8000 -p 9443:9443 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/portainer/portainer-ce:2.27.1

部署好之后访问地址是 https://宿主机ip:9443

下面介绍以下用portaler部署mysql主从

采用stack也就是docker-compose的方式部署

 选用Web editer的方式输入docker-compose.yaml的内容

 

version: '3'
services:
  mysql-master:
    image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0.37
    container_name: mysql-master
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - /data/mysql-master-slave/master:/var/lib/mysql
      - /data/mysql-master-slave/master.cnf:/etc/my.cnf
    ports:
      - "3306:3306"
    restart: always
  mysql-slave:
    image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0.37
    container_name: mysql-slave
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - /data/mysql-master-slave/slave:/var/lib/mysql
      - /data/mysql-master-slave/slave.cnf:/etc/my.cnf
    ports:
      - "3307:3306"
    restart: always
    depends_on:
      - mysql-master

 部署好之后进入master命令行

# 进入mysql执行以下命令
mysql -uroot -p'123456'
# 创建同步账号,并赋权
CREATE USER 'repl'@'%' IDENTIFIED BY 'repl_p@ssw0rd';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
# 查看binlog日志名称和位置
SHOW MASTER STATUS;

 

 记录好以上内容之后进入slave命令行

# 登录MySQL 
mysql -uroot -p'123456'
# 配置从节点信息
CHANGE MASTER TO MASTER_HOST='mysql-master',MASTER_USER='repl',MASTER_PASSWORD='repl_p@ssw0rd',MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=157;
# 启动复制
START SLAVE;
# 查看同步状态
SHOW SLAVE STATUS\G

确保Slave_IO_Running 和 Slave_SQL_Running 都为 Yes,说明同步状态是ok的。

 

错误处理:

我用的mysql8的镜像做的同步,一开始同步状态是有问题的。

 MySQL 8.0 默认使用 caching_sha2_password 认证插件,此插件要求使用安全连接(如 SSL/TLS)进行认证。若从节点未配置安全连接,就会出现认证错误。

所以我修改了主库repl账号登录的认证插件

ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'repl_p@ssw0rd';
FLUSH PRIVILEGES;

这样从库就可以顺利连接上了。

 

posted @ 2025-03-20 16:01  高佳丰  阅读(66)  评论(0)    收藏  举报