本文主要介绍通过navicat远程连接云服务器中数据库的方式,包括阿里云RDS,华为云数据库,以及在华为云中安装docker数据库
- 阿里云RDS数据库
- 华为云安装原生MySQL
- 连接docker中的数据库
- 对于数据库的购买以及实例的创建不再赘述。
- 申请公网访问
(1)查看网络信息
(2)申请外网地址
(3)然后等待网络创建完成,此时你就可以看到你的外网地址了。直接复制就可以使用了。
(4)设置白名单,设置你允许的进行访问的ip名单。
(5)建议创建一个普通账号用于访问。
(6)使用数据库工具连接,我这里使用开源的DBeaver,如图所示即可。
(7)点击测试连接,测试成功,可以进行连接。
- 首先安装MySQL,清华镜像,Ubuntu20似乎只支持MySQL8.0,远离8.0,会变得不幸。似乎只能手动了,参考这篇文章。这里我就不折腾了,直接用8.0吧。
- 修改root密码,查看原始密码,登录,然后修改,MySQL8.0修改密码;
sudo cat /etc/mysql/debian.cnf mysql -uroot -p ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'
- 创建一个用户,并授权远程连接。其中@代表主机名,%表示允许任意ip,*.*指代数据库下所有表
CREATE USER 'user1'@'%' IDENTIFIED BY 'user1passwd'; grant all privileges on *.* to 'user1'@'%' with grant option;
- 允许MySQL远程连接
vim mysql.conf.d/mysqld.cnf
将其中的bind-address = 127.0.0.1修改为bind-address = 0.0.0.0
重启mysql服务使配置生效
systemctl restart mysql
- 然后还是正常填写这些数据并连接
- 如果连接不上,记的去看看你的华为云是否允许3306端口访问了。
- 首先你需要安装docker,这里不再赘述。官方安装文档、清华镜像文档
- docker数据库MySQL5.7安装
docker pull mysql:5.7.38
- 运行
docker run -p 3306:3306 --name mysql -v /data/mysql/log:/var/log/mysql -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.38
参数说明
–name :为我们当前启动的容器命名
-p 3306:3306:将容器的3306端口映射到主机的3306端口,不过建议映射到其他端口。
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机,可直接在linux中查看
-v /mydata/mysg/log:/ar/log/mysql:将日志文件夹挂载到主机
-v /mydata/myq/data/var/ib/mysql/:将配置文件夹挂载到主机
-e MYSQL ROOT PASSWORD=root: 初始化root用户的密码
-d:后台启动 版本为5.7的mysql的镜像
- 进入docker内部空间
docker exec -it mysqldocker /bin/bash
- 其实现在是有问题的,因为你可以用root用户远程登录,建议再新建一个普通用户,修改密码。
CREATE USER 'user1'@'%' IDENTIFIED BY 'user1passwd' grant all privileges on *.* to 'user1'@'%' with grant option;
- 停止容器与删除容器:
docker stop mysql docker container rm mysql
- 然后再直接用软件连接就行了



