前言

买了个新款的mbp,m1架构的,想安装一个mysql用于本地开发和学习,无奈查了下mysql还没有原生版本,想着docker已经发了预览版,就用docker创建一个镜像试试吧

安装docker

这里有个坑就是必须下预览版的

https://docs.docker.com/docker-for-mac/apple-m1/

下载安装,稍微等待docker左下角绿色,服务正常就可以了

img

拉取mysql镜像

需要注意的是mysql官方没有arm64的,要用mysql-server

docker pull mysql/mysql-server

然后我们新建一个mysql容器

docker run -itd --name your_container_name -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql/mysql-server

修改权限

直接创建的mysql容器只允许localhost连,如果我们用mysql应用连接不了

会提示 Host '172.18.0.1' is not allowed to connect to this MySQL server

docker exec -it your_container_name_or_id bash
mysql -u your_user -p #输入一下mysql的root密码

接着我们看一下root的host

SELECT host, user FROM mysql.user;

如果这样的就没问题了,不是就需要改一下权限

+------------+------------------+
| host       | user             |
+------------+------------------+
| %          | root             |
| 127.0.0.1  | root             |
| ::1        | root             |
| localhost  | mysql.sys        |
| localhost  | root             |
| localhost  | sonar            |
+------------+------------------+
use mysql;
update user set host = '%' where user = 'root';
flush privileges;

这样设置后就可以以root用户连接mysql了

最后编辑:2023年04月17日 ©著作权归作者所有

发表评论