mac上用docker安装mysql,并用navicate连接

1 安装mysql

# 远程拉取mysql最新版本mysql
docker pull mysql

2 启动mysql

# 设置mysql 账户 root , 123456
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

3 修改mysql加密规则

此时用navicate连接mysql会出错,原因是mysql8后,安装时选择了强加密规则caching_sha2_password,与之前的mysql5.7的mysql_native_password规则不同,navicat驱动目前不支持新加密规则。

# 进入容器
docker exec -it 容器ID /bin/bash
# 进入mysql
mysql -uroot -p 
# 修改加密方式
alter user 'root'@'%' identified with mysql_native_password by 'password';
flush privileges;

4 navicate连接mysql

在这里插入图片描述

实验一 熟悉 SQL Server 2012 开发环境 三、实验内容及记录 1、启动 SQL Server 2012 数据库服务,记录运行情况和处理方法。 2、用界面工具创建自己的数据库(名称自定),试着用界面工具在该数据库 中创建几个表,打开其中某个表,进行插删改操作,记录运行情况和处理方法 实验二 SQL 的数据定义(表和索引) 1.复习 SQL 语言中数据定义的相关命令。 2.根据实验样例数据库的要求预先写好相应的命令(完整性约束可不定义, 留待实验三完成)。 (1)使用命令完成附录中实验样例数据库四张表的数据定义:学生表 Student、课程表 Course、班级表 Class、成绩表 Cj。四张表结构详见附录一。 实验三 SQL 的完整性约束定义 1.复习教材第五章完整性约束定义的相关内容。 2.根据下面要求完成实验样例数据库中提到的完整性约束定义。 实验四 SQL 的数据更新 1.复习 SQL 语言中插入、修改、删除的相关命令。 2.使用教师已经录入的相关数据的“xsglsjk”数据库,并另外准备好一些 待插入、修改、删除的数据,预先写好相应的命令。 (1)使用 insert 命令向 Student 表中插入一条新的学生纪录(2000105, 刘辉,男,20,00311)。 实验五 SQL 的数据查询(4 学时) 实验六 SQL 的数据定义(视图) 实验七 SQL 的数据控制和实现 实验八 SQL 的服务器端编程(4 学时) 实验九 游标的使用(2 学时) 实验十 SQL 的综合大作业
利用 Docker 安装 MySQL 并使用 Navicat 进行远程测试,可按以下步骤操作: ### 安装 MySQL 可使用以下命令在 Docker 中运行 MySQL 容器: ```bash docker run -d \ --name mysql-container \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -v ~/mysql/data:/var/lib/mysql \ -v ~/mysql/conf:/etc/mysql/conf.d \ mysql:8.0 ``` 该命令会创建一个名为 `mysql-container` 的容器,将主机的 3306 端口映射到容器的 3306 端口,设置 MySQL 的 root 用户密码为 `my-secret-pw`,并将主机的 `~/mysql/data` 目录挂载到容器的 `/var/lib/mysql` 目录,将主机的 `~/mysql/conf` 目录挂载到容器的 `/etc/mysql/conf.d` 目录,使用的 MySQL 镜像版本为 8.0 [^1]。 ### 修改 MySQL 配置 上述安装MySQL 后,使用远程的 Navicat 连接时可能会提示错误,原因是 mysql5.7 前的加密方式是 `mysql_native_password`,mysql8 的加密方式是 `caching_sha2_password`,需要修改 MySQL 的密码模式以及主机等内容。 1. 进入容器内部: ```bash docker exec -it mysql-container /bin/bash ``` 2. 连接 MySQL: ```bash mysql -u root -p ``` 输入之前设置的密码。 3. 使用 `mysql` 库: ```sql use mysql; ``` 4. 修改访问主机以及密码等,设置为所有主机可访问: ```sql ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码'; ``` 将 `新密码` 替换为你想要设置的密码 [^3]。 ### 使用 Navicat 进行远程测试 打开 Navicat,创建一个新的 MySQL 连接,填写连接信息: - **主机**:填写 Docker 所在主机的 IP 地址。 - **端口**:填写之前映射的端口,如 3306。 - **用户名**:root - **密码**:填写之前设置的 `新密码` 点击“测试连接”,若提示连接成功,则表示利用 Docker 安装MySQL 可以通过 Navicat 进行远程访问。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值