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 ...
随机推荐
- Vue.js + Element.ui 从搭建环境到打包部署
一.搭建环境 由于新的node已经集成了npm,所以直接安装node,前往node官网下载最新版本的node,根据自己的操作系统选择相应的包,按照步骤一步步走就可以,这里不做过多介绍. 安装好后可以打 ...
- win10从零安装eclipse并配置SVN和Maven
原因:公司的新电脑,重新安装eclipse并通过SVN检入项目,中间经历了各种坎坷,终于在周五配置项目并启动成功:在此记录一下,给后来人以警戒,同时自己也可以常温常新. 刚开始安装的是eclipse4 ...
- 用函数来编写实现strlen()函数功能
strlen( )函数: 测试字符串实际长度的函数,它的返回值是字符串中字符的个数(不包含’\0’) //strlen( )函数:测试字符串实际长度的函数,它的返回值是字符串中字符的个数(不包含’\0 ...
- centos7 + postgresql10
mysql被黑惨了,换了个超复杂的密码都不行,黑客会删除你所有的自定义库,然后插一个warning表,让你给他汇比特币. 提醒大家放在在公网的DB,要非常注意数据的安全性,万一被勒索了,真是mmp了. ...
- gdb-example-ncurses
gdb-example-ncurses http://www.brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html 1. The Prob ...
- python中的not的意思
python中的not的意思 在python中,not是逻辑判断,用于布尔值true和false,not true是false,not false是true.以下是not的一些常见用法:(1)当表达式 ...
- select input 等控件进行清空操作
<html> <head> <meta charset="utf-8" /> <title></title> <s ...
- python监控CPU/内存/磁盘,超过指定百分比,发送邮件
#!/usr/bin/python #coding:utf-8 #导入psutil模块 import psutil import yagmail def mail(subject,contents): ...
- Flutter——Row组件(水平布局组件)
Row组件的常用属性 属性 说明 mainAxisAlignment 主轴的排序方式 crossAxisAlignment 次轴的排序方式 children 组件子元素 import 'package ...
- 前端基础(七):Toastr(弹出框)
Toastr 简介 jquery toastr 一款轻量级的通知提示框插件. 网页开发中经常会用到提示框,自带的alert样式无法调整,用户体验差. 所以一般通过自定义提示框来实现弹窗提示信息,而jq ...