搭建并使用mysql8.0

搭建

使用docker搭建
  1. 手动下载镜像 docker pull mysql:8.0
  2. 启动镜像
    1. 只映射端口,不挂载目录,启动(后续需要进入容器内修改配置,删除容器后配置无法保留,数据无法保留)
    #-p 本地端口:容器内端口
    #--name 指定容器name,后续通过name操作
    # -e MYSQL_ROOT_PASSWORD 设置root密码
    # 可以使用命令查看运行日志 docker logs mysql 观察是否正常启动
    docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
    
    1. 映射端口,挂载目录,启动
    # -v 本地目录:容器内目录
    # 挂载的目录必须存在
    # 容器内/etc/mysql为mysql配置目录,需要存在配置文件,否则启动后运行失败,可以先按照第一种方法启动一次镜像
    # 然后使用copy出默认配置文件 docker cp mysql:/etc/mysql /home/xubao/docker/data/mysql/conf 这里copy出的是整个mysql目录,需要将目录里的所有文件放入conf中
    # 停止并删除原来镜像 docker stop mysql && docker rm mysql
    # 最后使用一下命令启动
    docker run -p 3306:3306 --name mysql \
    -v /home/xubao/docker/data/mysql/conf:/etc/mysql \
    -v /home/xubao/docker/data/mysql/logs:/var/log/mysql \
    -v /home/xubao/docker/data/mysql/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:8.0
    
  3. 登陆mysql
    因为映射了本地3306端口,可以直接本地连接mysql -uroot -proot,本地没有客户端可以进入容器,使用容器内客户端
    • 进入容器命令
    docker exec -it mysql bash
    

修改用户信息

修改root密码
alter user 'root'@'%' identified with mysql_native_password by '123456';
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
可以使用 Docker Compose 来搭建 MySQL 8.0 的主从复制。以下是一个示例的 `docker-compose.yml` 文件: ```yaml version: '3' services: master: image: mysql:8.0 restart: always environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: mydb MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_LOG_BIN: mysql-bin volumes: - ./master-data:/var/lib/mysql ports: - 3306:3306 slave: image: mysql:8.0 restart: always environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: mydb MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_LOG_BIN: mysql-bin MYSQL_MASTER_HOST: master MYSQL_MASTER_PORT: 3306 MYSQL_MASTER_USER: user MYSQL_MASTER_PASSWORD: password volumes: - ./slave-data:/var/lib/mysql ``` 在这个示例中,我们定义了两个服务:`master` 和 `slave`。`master` 使用 MySQL 8.0 镜像,并设置了必要的环境变量和卷挂载,以便持久化数据。`slave` 同样使用 MySQL 8.0 镜像,并设置了与 `master` 相关的环境变量。 你可以将上述内容保存为 `docker-compose.yml` 文件,然后在命令行中执行以下命令启动服务: ``` docker-compose up -d ``` 这将会启动两个容器,分别对应主库和从库。你可以通过访问 `localhost:3306` 来访问主库,使用 `localhost:3307` 来访问从库。 当容器启动后,你可以登录到主库中创建一个测试数据库,并向其中插入一些数据。然后,这些数据将会通过主从复制同步到从库中。 希望这个示例对你有所帮助!如果你有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值