背景
- SystemOS:MacOS 12.3
- 芯片:M1 Pro
- 安装方式:Docker
- 安装版本:5.7
安装步骤
-
镜像安装
# 拉取官方镜像(版本自行设置,本教材已5.7为例) docker pull mysql:5.7 # 针对M1芯片的Mac系统 需要使用以下指令,且安装容器指令最后一行需要随之修改镜像名称(版本自行设置,本教材已5.7为例) docker pull mysql/mysql-server:5.7 # 查看是否拉取成功 docker images -
创建容器
-
无需挂载目录
# 创建MySQL容器 docker run --name mysql -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:5.7参数说明
-
–name:容器名 -
-e:配置信息,此处配置mysql的root用户的登陆密码 -
-p:端口映射,此处映射 主机3306端口 到 容器的3306端口 -
-d:后台运行容器,保证在退出终端后容器继续运行
-
-
配置挂载目录
-
创建挂载目录(此路径根据个人喜好选择)
# 切记不要提前创建好data目录,会导致MySQl初始化失败 mkdir -p ~/dev/docker/mysql/conf # 赋予挂载目录权限(只要是创建需要挂载目录的镜像,就应该进行权限授予) chmod -R 777 ~/dev/docker/mysql -
准备配置文件
重要的事情说三遍
必须提前上传my.cnf文件到/zking/mysql/conf目录,并且它与window中的配置文件my.ini后缀名是不一样
必须提前上传my.cnf文件到/zking/mysql/conf目录,并且它与window中的配置文件my.ini后缀名是不一样
必须提前上传my.cnf文件到/zking/mysql/conf目录,并且它与window中的配置文件my.ini后缀名是不一样
cd ~/dev/docker/mysql/conf touch my.cnf # 修改权限为只有root用户可以读可写配置文件 chmod 644 ~/dev/docker/mysql/conf/my.cnf # 如果是Mac,可以直接使用open打开文本,如果是Linux,可以选择vi或vim指令编辑 open my.cnf # 复制切割线之间的内容后保存(可自行修改,包括注释) [client] port=3306 default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] character_set_server=utf8 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # 配置大小写不敏感 lower_case_table_names=1参数说明
-v: 主机和容器的目录映射关系,":"前为主机目录,之后为容器目录 -
-
创建容器
docker run -p 3306:3306 --name mysql \ -v ~/dev/docker/mysql/conf:/etc/mysql \ -v ~/dev/docker/mysql/logs:/var/log/mysql \ -v ~/dev/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ --restart=always \ -d mysql/mysql-server:5.7
-
-
授权
安装完成容器后,本地电脑暂时是无权限去连接MySQL的,所以需要调整权限
-
进入MySQl容器
docker exec -it mysql bash # PS:如果使用的是Docker客户端,可以直接在客户端中点击进入 -
登录MySQL
# 123456是创建MySQl容器时设置的密码,根据实际情况填写 mysql -uroot -p123456 -
修改权限(登录成功后)
# 注意以下每一条指令最后都要接“;”,否则MySQL为认为你的指令还没输完 # 选择mysql库 USE mysql; # 修改root用户访问权限为所有地址 UPDATE USER SET host = '%' WHERE USER = 'root'; # 刷新权限 flush privileges; # 退出MySQL exit # 退出容器 exit
-
-
验证
使用链接工具尝试连接