当前位置:网站首页>window navicat连接阿里云服务器mysql步骤及常见问题
window navicat连接阿里云服务器mysql步骤及常见问题
2022-07-05 06:57:00 【Silence丶你的名字】
先登录自己的阿里云服务器
这有两个比较重要的,一个是配置出口端口,
还有一个就是拿到自己的公网ip 连接上服务器
我用的是finalshell 工具连接。
主要是基于docker安装mysql ,现在我的服务器docker已经安装了,安装也很简单。网上有很多详细的步骤,跑一遍就好了
我自己也水了一篇。不过这都不重要 ,重要的是安装后有几个注意点
查看镜像
docker images
不过看不看也没什么关系发,反正会自动拉取的
查看容器
docker ps
跟着命令跑一遍,然后查看mysql是否成功运行。如果mysql成功运行了。使用navicat连接
好了,水了一半。 navicat 连接这里有几个常见的报错
2005 - Unknown MySQL server host '45.130.63.101' (11001) "
这个报错应该是服务器ip不对
2003 - Can't connect to MySQL server on '47.100.68.107' (10060 "Unknown error")
可能是端口没有打开
记得把服务器端口打开。这个端口不一定是3306 。取决于你启动docker容器的时候。映射的端口
不过一半都是3306
1045 - Access denied for user 'root'@'117.147.47.90' (using password: YES).
端口打开后,换了一个报错了。ip我都懒得影藏了。 这个端口就比较笼统了。可能是账号密码不对。也可能是账号没有允许远程访问。
#更新, 或者安装yum
yum -y update
#清除系统残余项如果服务器之前没有装过Docker,可以直接跳过
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
#需要的安装包
yum install -y yum-utils
#设置镜像的仓库
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum软件包索引
yum makecache fast
#安装docker相关的 docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
#测试
docker run hello-world
12345678910111213141516171819202122232425262728293031323334353637
#8.查看已经下载的镜像(从这里可以查看已有镜像的id)
[[email protected] ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 4 months ago 13.3kB
#创建并进入相关容器
mkdir ~/mysql
cd ~/mysql
#配置阿里云镜像加速
http://oss.console.aliyun.com
控制台搜索容器镜像服务。 镜像加速器,选择自己对应的linux版本使用。每个人的不一样
# docker 中下载 mysql
docker pull mysql
#启动
docker run -id \
-p 3306:3306 \
--name=mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=a123..a \
-d mysql
#进入容器
docker exec -it mysql bash
#登录mysql
mysql -u root -p
#修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'a123..a';
#添加远程登录用户------- 8.0之后的----------------
#user_name:要创建用户的名字
#host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’
#password:新创建用户的登陆数据库密码,如果没密码可以不写。
CREATE USER 'silence'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
#privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL
#databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部
#’username‘@‘host’:表示授权给哪个用户。
GRANT ALL PRIVILEGES ON *.* TO 'silence'@'%';
#添加远程登录用户------- 8.0之前的
#第一个root表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个root表示密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
#刷新MySQL的系统权限相关表
flush privileges;
#查看所有用户(用户名、给谁授权)
SELECT user,host FROM mysql.user;
docker exec mysql01 bash
先进入一下容器。记得更换为自己容器的名字。创建容器的时候指定的
登录mysql
Welcome to the MySQL monitor. 看到这个就证明账号密码,没问题。如果navicat 是用的这个账号密码登录的,还是出现1045 。那就是账号授权的问题。
#添加远程登录用户------- 8.0之前的 #第一个root表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个root表示密码 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; #刷新MySQL的系统权限相关表 flush privileges; #查看所有用户(用户名、给谁授权) SELECT user,host FROM mysql.user;
我之前是给root账户授权的,但是好像还是1045 。不行
SELECT user,host FROM mysql.user;
有可能是我没搞好的原因。后来我又创建了一个用户silence 。可以成功访问。
我再创建一个账户吧。
吧唧吧唧一大堆,其实就是创建用户,授权远程访问。我这里的用户名是silence1
CREATE USER 'silence1'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'silence1'@'%';
好了。连接成了
边栏推荐
猜你喜欢
随机推荐
Orin two brushing methods
[MySQL 8.0 does not support capitalization of table names - corresponding scheme]
Ros2 - install ros2 (III)
NVM Downloading npm version 6.7.0... Error
Skywalking全部
Cloud native related technology learning
SOC_SD_CMD_FSM
2. Addition and management of Oracle data files
PHY驱动调试之 --- MDIO/MDC接口22号和45号条款(一)
Financial risk control practice -- feature derivation based on time series
1. Create Oracle database manually
Record of problems in ollvm compilation
C语言数组专题训练
ROS2——topic话题(八)
Database mysql all
Huawei bracelet, how to add medicine reminder?
SD_CMD_RECEIVE_SHIFT_REGISTER
2022年中纪实 -- 一个普通人的经历
All English in the code
能量守恒和打造能量缺口