在虚拟机上安装mysql,并与宿主机同步,实现数据库连接

在虚拟机上安装mysql,并与宿主机同步,实现数据库连接

\quad \quad 在尝试安装mysql,并且被各式各样的缺少系统配置、莫名其妙的安装失败虐了千万遍,虽然最终还是成功的安装了,并且可以使用。

\quad \quad 当看到这个"Welcome to the MySQL"的时候,那叫一个激动啊。但是还是被告知,mysql的更新无法保证百分百无残留,可能导致无论如何升级不了的时候,所以长远来看,我决定放弃在本地安装mysql。从而选择另一种打破系统版本限制,百分百兼容的方法去安装mysql,那就是使用docker。
\quad \quad docker是一个隔离的容器环境,当通过docker安装mysql的时候,与宿主机之间是没有关联的。所以就这一点,就足够吸引我去下载docker。但是不幸的是:


在这里插入图片描述

\quad \quad 除去Unix,MacOs,人家只对于Windows系统只支持专业版,企业版,以及教育版。我的偏偏是home版,所以另辟蹊径,选择在Ubuntu虚拟机上安装docker,之前的文章中已经有详细步骤。安装好docker之后,就需要启动docker安装mysql。
\quad \quad 在此之前,为了加快docker对外网的读取速度,需要修改一些配置。执行下面的这个命令即可:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

安装mysql官网上推荐的是这个命令,在这里讲解一下这个命令的意思。

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

\quad \quad some-mysql是新建sql的名字,my-secret-pw是新建数据库的密码,tag是指定镜像的版本,这个按自己所需的去网站上指定,一般用最新的。这样就完成了一个mysql的下载,并且启动了一个数据库。但是由于没有给它加端口映射,所以这时候还不能去访问这个数据库。所以,这时候就需要将这个docker容器的端口映射到本地上,所以这个命令,就需要改为:

docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

例如:

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql:8.0

\quad \quad 说明一下,mysql的默认端口是3306,postgres的默认端口是5432。那么,这时候就可以启动对这个数据库的连接了。注意,这时候启动的数据库不是持久化的,重启一次容器的话,对数据库所做的修改都会消失。所以就需要将docker容器所在的目录,映射一个到本地目录。体的操作就是,在刚刚的命令中,再加上一个-v参数:

docker run --name mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=password mysql:8.0

\quad \quad 这样就实现了一个持久化的,mysql数据库的启动。那么就可以根据自己的喜好,比如IDEA Ultimate或者适用于苹果系统的Sequel Pro,我不是苹果的电脑,也没钱去买IDEA的 Ultimate版,所以在这里,用到了一个第三方的平台。SQuirrel SQL,下载还是挺方便的,用起来也还行,就是界面太古老了。安装的话,next->一路点的去,到这一步的时候,选自己需要的。这里我选的是H2,MySQL,以及PosterSQL。

安装完毕差不多就是这个界面了,
\quad \quad 这时候需要导入对应的jar包,就以mysql举例,双击MySQL Driver。

点击附加类路径:

接下来搜索“mysql connector maven”,下载对应的的jar包。最后点增加,找到下载的jar包,添加进去即可。
\quad \quad 最后连接在虚拟机中创建的数据库即可。
名字自己取,驱动程序选中自己刚添加的,地址就是默认端口,用户名root,密码自己前面取的。

如果出现这个错误的话,

只需要在地址的后面加上,?serverTimezone=UTC即可。

这时候,我们就完成了一个MySQL数据库的连接。接下来就可以在SQL中使用建表语句,完成增删改查的任务了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值