docker mysql统一配置_Docker - 部署mysql数据库

Docker - 部署mysql数据库

下载mysql 镜像

docker pull mysql

将全部的配置文件和关联的文件夹统一放到/opt/docker-mysql中

$ mkdir -p /opt/docker-mysql/conf.d

增加并修改配置文件config-file.cnf

[mysqld]

# 表名不区分大小写

lower_case_table_names=1#server-id=1datadir=/var/lib/mysql

#socket=/var/lib/mysql/mysqlx.sock

#symbolic-links=0# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

三、启动

增加数据文件夹

$ mkdir -p /opt/docker-mysql/var/lib/mysql

启动,设置默认密码 123456

docker run --name mysql \

--restart=always \

-p3306:3306\

-v /opt/docker-mysql/conf.d:/etc/mysql/conf.d \

-v /opt/docker-mysql/var/lib/mysql:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=123456\

-d mysql:latest

如连接时遇到以下问题。

问题1:

f989b3c476f18f4d2a0f6d04dd722d9b.png

1. 进入mysql 容器

docker exec -it mysql /bin/bash

2.进入mysql

mysql -uroot -p123456

3.修改密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

c3cd87858ecc12ffed42a5709e32935d.png

OK,解決。

问题2:

远程访问mysql出现Access denied for user 'root'@'的解决方法

d4793b1d4f5716f6f88ff71d74e7a424.png

解释:服务器没有授权给你这个ip是不能连接的

你想root用户名使用root密码从任何主机连接到mysql服务器的话。

8.0之前的版本 运行命令:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

mysql>flush privileges;

如果你想允许用户root从ip为192.168.3.10的主机连接到mysql服务器,并使用root作为密码

8.0之前的版本 运行命令:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.3.10' IDENTIFIED BY '123456' WITH GRANT OPTION;

上面的命令创建一个可以从任意机器以root登录的超级账号,口令是root。这样,就可以使用方便的图形工具(navicat for mysql)进行登录和操作,包括修改root的口令。

其中用户名和密码、IP换成自己的即可

注意:

8.0版本之前的提升权限语句:

grant all privileges on *.* to 'root'@'%' identified by `123` with grant option;

新版的语句:

use mysql

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

FLUSH PRIVILEGES;

输入exit 退出。

完成,在局域网的其他电脑上 可正常连接。

6c34dc0ac80bf99f60fe3ce3e6cbbb20.png

常用命令

进入容器

docker exec -it mysql bash

查看日志

docker logs -f mysql

备份数据

docker exec mysql sh -c 'exec mysqldump --all-databases -uroot -p"123456"' > /some/path/on/your/host/all-databases.sql

恢复数据

docker exec -i mysql sh -c 'exec mysql -uroot -p"123456"' < /some/path/on/your/host/all-databases.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值