MySQL(10):Docker安装mysql8

环境

  1. CentOS 7.2
  2. Docker 19.03.12
  3. MySQL 8.0.3

安装步骤

拉取镜像

默认拉取最新版本的镜像

$ docker pull mysql

如果要指定版本,使用下面的命令

$ docker pull mysql:8.0.20

创建数据目录和配置文件

在宿主机创建放置mysql的配置文件的目录和数据目录,并且进行授权

$ mkdir -p /usr/mysql/conf /usr/mysql/data

$ chmod -R 755 /usr/mysql/

创建mysql镜像实例

$docker run -itd --name mysql8 -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql --lower_case_table_names=1

参数解释:
-v : 挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录

(将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf)

-d : 后台运行容器

-p 3306:3306: 映射容器端口号和宿主机端口号(将容器的 3306 端口映射到主机的 3306 端口)

-e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码

--lower-case-table-names=1  0是大小写敏感(默认);1是大小写不敏感;(此项不需要可不填写)

备注:lower_case_table_names=1 只能在初始化时配置

安装特定版本:

$docker run -itd --name mysql8 -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456  -d mysql:8.0.20  --lower_case_table_names=1

安装成功

通过 docker ps 命令查看是否安装成功:

授权可以通过工具连接mysql

原因:虽然安装好了mysql,但是使用远程的Navicat连接时提示错误,不能正确连接mysql

进入docker-mysql中,授权可以通过工具连接mysql

$docker exec -it 3c09d9fa9446 sh

$mysql -u root -p

$mysql> use mysql

$ mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

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

 

注意:

mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接.

创建新的用户hmf和dog:

CREATE USER 'hmf'@'%' IDENTIFIED BY '123456';

CREATE USER 'cat'@'%' IDENTIFIED BY '123456';

 给用户授权

命令:GRANT privileges ON databasename.tablename TO 'username'@'host'

privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

示例:

GRANT ALL ON *.* TO 'hmf'@'%';

GRANT SELECT, INSERT ON demo.* TO 'cat'@'%';

参考:

https://www.runoob.com/docker/docker-install-mysql.html

docker安装mysql 8.0.20 版本 超详细教程 - xing柠檬 - 博客园

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁宁可可

您的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值