macbookpro通过docker启动mysql将配置文件挂载到本地

拉取docker镜像

docker pull mysql/mysql-server

进入终端

mkdir创建需要存放文件的目录

进入到目录中执行mysql镜像启动命令

docker run --hostname=07d052e8f8af -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql --env=MYSQL_ROOT_PASSWORD=123456 --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=MYSQL_UNIX_PORT=/var/lib/mysql/mysql.sock -p 3306:3306 --restart=no --runtime=runc -d mysql/mysql-server

执行docker命令容器启动成功mysql的一些文件地址路径挂载已经指向了本地

我创建了一个叫mysql的文件夹,执行完命令后生成3个目录分别是conf,data,logs用来用来存放mysql的配置文件,mysql的数据信息,mysql的日志信息

进入到conf文件夹下创建my.cnf文件

touch my.cnf

添加以下内容

[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000

重启docker容器

docker restaet docker容器名称

启动后可以通过navicat去链接测试

如果出现下列错误

1045 - Access denied for user ‘root‘@‘172.17.0.1‘ (using password: YES)

正常来说直接改一下mysql的权限就好了,但是更改root用户的权限需要链接到mysql的客户端,如果你跟我一样,连接不上的话我们可以在my.cnf文件最下方添加以下命令,如果能连上跳过配置直接执行命令就好

skip-grant-tables

通过命令行进入MySQL的bin目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。

执行use mysql,进入到mysql数据库

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

使密码生效

flush privileges; 

选择数据库

use mysql;

再修改远程连接并生效

update user set host='%' where user='root';

执行提交命令,搞定!

flush privileges;

将my.cnf文件中添加的skip-grant-tables这个命令去掉,不去的话理论上来说你每次登陆mysql都没有密码,本人还没实践过

最后就可以使用root账号去登录mysql了

留言:本人也是第一次用mac系统,docker使用也并不熟练,可能有些细节并不到位留言会回,知无不言

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值