Navicat连接虚拟机上的mysql
- 刚刚在虚拟主机上安装mysql, 想使用Navicat 操作mysql. 但是连接不上
报错: 2003 - can't connect to MySQL server on '192.168.1.108'(10038)
使用apt-get安装的mysql, 没有修改任何配置. 在虚拟机里 查看数据库,
use mysql; # mysql库里有一个user表
show tables;
select user,host from user;
# 看到root那一行记录 root对应的host是localhost, 也就是不能远程登录的意思. 需要将其修改成%.
update user set host='%' where user='root'; #表示允许远程其他用户登录还有一种方法(没有尝试): grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option; #也是修改登录权限,这个和修改表任选其一
- 设置完user表还是不行, 继续
netstat -apn | grep 3306 #显示的如果是127.0.0.1:3306那么就注释/etc/mysql/mysql.conf.d/mysqld.cnf 中的bind-address 127.0.0.1
注释完成后重启mysql.
#重启mysql (Ubuntu系统)
/etc/init.d/mysql restart再使用netstat -apn | grep 3306 查看 如果显示的是 :::3306 就OK了 连接成功!!!
- flush privileges #刷新权限, 有的时候可能需要刷新一下,
- 上面的是在Windows的Ubuntu虚拟机上操作的, 在服务器上操作的时候发现略有不同, 记录一下. 在服务器上创建新的用户的时候, 如果想要修改user表, 不需要修改mysqld.cnf文件, 在修改user 表之后, 重启mysql 即可生效.
不用注释掉这一行了。因为这里不是绑定127.0.0.1,如果绑定127.0.0.1,那就注释掉。 - 如果新买的阿里云服务器,安装mysql之后,在服务器上能访问,Navicat链接不上,并且已经按照上面的步骤修改了user表和配置文件mysqld.cnf等,还是不能访问,原因是没有开放3306端口。
- 注意:如果user表中同一个用户名有多个行,比如说root 账户,有两行,一行是host 为localhost 另一行 host 为% , 这个时候如果你在其他电脑登录mysql 的 root 账号发现登录不上去,是因为mysql读取多个账号的时候,判断user,host是有顺序的。%排在localhost 的后面,所以判断结果还是localhost,只能本机登录。解决办法:可以临时修改user表的host为你当前使用的电脑IP,实现永久的在其他电脑登录mysql , 那就把localhost那个记录从user表删除。
访问控制-连接验证官方文档:https://dev.mysql.com/doc/refman/8.0/en/connection-access.html
Navicat连接虚拟机上的mysql的更多相关文章
- 本地如何连接虚拟机上的MySql
今天在本地链接虚拟机上的MySql,然而链接失败了!甚是尴尬! 首先想一想是什么原因导致链接失败: 基础环境:在Linux上安装mysql 1.检查虚拟机IP在本地是否可以ping 通过 虚拟机IP: ...
- MySql:Navicat 连接不上虚拟机上的mysql容器
1.问题显示 通过windows主机navicat连接虚拟的mysql时报如下错误. 2.问题原因 由于navicat版本的问题,出现连接失败的原因:mysql8 之前的版本中加密规则是mysql_n ...
- 如何在本地远程连接linux虚拟机上面的mysql
基础环境: 在linux安装mysql 检查远程的虚拟机是否可以ping通过 查看虚拟机IP为192.168.38.128 cmd窗口ping 192.168.38.128,出现如下界面说明是可以的 ...
- 本地连接虚拟机上面的redis
想做一个抓取系统,想到用redis存储临时数据可能会比较好些,就想着装个虚拟机,在虚拟机上面安装redis,通过本地来访问虚拟机上面的redis. 虚拟机和redis安装成功之后,发现本地怎么都连接不 ...
- java API连接虚拟机上的hbase
今天用本地的eclipse连接虚拟机上的hbase数据库,代码如下: public static void main(String[] args) throws Exception{ Configur ...
- 【liunx】使用xshell连接虚拟机上的CentOS 7,使用xhell连接本地虚拟机上的Ubuntu, 获取本地虚拟机中CentOS 7的IP地址,获取本地虚拟机中Ubuntu 的IP地址,Ubuntu开启22端口
注意,如果想用xshell去连接本地虚拟机中的linux系统,需要本地虚拟机中的系统是启动的才能连接!!!!! ============================================ ...
- 【centOS】【xshell】xshell连接虚拟机上的centOS,操作途中突然断开连接,报错:connect closed by foreign host
如题 xshell连接虚拟机上的centOS,操作途中突然断开连接,报错:connect closed by foreign host 快捷解决方法: 在虚拟机上centOS重新启动网络,即可解决问 ...
- 访问局域网内其他主机的VMware虚拟机上的mysql数据库和redis缓存
上一篇写了访问局域网内其他主机的虚拟机上的项目 ,现在说说访问局域网内其他主机的虚拟机上的数据库和缓存 博主使用的linux是Ubuntu16.04: 一.安装数据库和缓存 这里连接的数据库和缓存以m ...
- Linux 命令之 Navicat 连接 Linux 下的Mysql数据库
2016年12月7日18:44:06 -====------------------------ GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDEN ...
随机推荐
- Oracle的查询-多表查询中的一些概念
--笛卡尔积 select * from emp e,dept d; --等值连接 select * from emp e,dept d where e.deptno=d.deptno --内连接 s ...
- FastJson 介绍
Json详解 Json是一种轻量级的数据交换格式,采用一种“键:值”对的文本格式来存储和表示数据,在系统交换数据过程中常常被使用,是一种理想的数据交换语言.在使用 Java 做 Web 开发时,不可避 ...
- jenkins持续集成(windows slave+svn+.net)
一.Windows slave配置 1.系统管理->节点管理->新建节点 2.节点列表中点击新增的节点名称按提示下载agent.jar, 在windows slave机器执行(copy页面 ...
- select key from table 一直出错
key和keys 为mysql 关键字,数据库设计字段的时候尽量避免
- python 定时爬取内容并发送报告到指定邮箱
import requests import smtplib import schedule import time from bs4 import BeautifulSoup from email. ...
- 给postmessage加上callback方法
postmessage双向通信中,是不能使用回调函数的. window.postmessage({msg:'hello',callback:function(e){ do something with ...
- Css解决表格超出部分用省略号显示
小伙伴们有没有的遇到页面显示时,因为数据太长导致显示的表格某一列过长,从而导致页面的不美观,下面我们来看一看如何用Css样式解决表格超出部分用省略号显示的问题. 主要设置两个样式: table{ ta ...
- 路由组件传参-props解耦方式(主要)
在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性. 使用 props 将组件和路由解耦: 取代与 $route 的耦合 const ...
- 【ES6 】Promise
Promise对象定义: 用来处理异步编程 Promise对象的特点 对象的状态不受外界影响 一旦状态改变,就不会再变,任何时候都可以得到这个结果 Promise对象的状态 pending(进行中) ...
- linux--查看磁盘空间大小使用情况
1. linux查看磁盘空间大小命令 df -h Df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息, 命令格式: df -hl 显示格式为: 文件系统 容量 ...