使用Navicat for Mysql连接装在虚拟机Ubuntu16.04上的mysql服务器
2016-06-27 11:13
781 查看
注:此文章是座在我旁边的开发大神写的博客,以后要跟人家多学习
文章原网址:http://www.souvc.com/?p=915
本文我们主要介绍一下Navicat for Mysql 连接装在虚拟机Ubuntu上的mysql服务器时出现的问题的解决方案。
Navicat 是一套功能强大的MySQL资料库伺服器管理及开发工具,可以用于在任何3.21或以上的MySQL版本,并支援最新版MySQL的大部份功能,包括触发器、预存程序、函式、事件、检视、管理使用者等等。
Navicat MySQL适用于三种平台- Microsoft Windows, Mac OS X及Linux。它可以让使用者连接本地/远端MySQL Server、提供一些实用的工具如资料/结构同步、汇入/汇出、备份及报表以协助管理资料的流程。
第一部分:登录mysql服务器,创建一个远程用户,并赋予相应的权限。
第一步:登录mysql服务器,新建一个用户。
这里我们为什么要使用新用户来管理呢?
在Mysql安装中,默认的有root用户,但是root用户的默认连接Host也是localhost或者127.0.0.1,也就是限制了root用户作为本地连接使用;我个人来说,建立新账户也是安全性和更加方便。
#登录mysql服务
#查看数据库
#选中数据库
#接着查看当前数据库账户信息
select user,host from user;
操作如下图:
根据观察,这些用户只能通过本地连接。如果需要做外部ip连接呢?
可以看到用户host显示都是只能本地使用的。现在为了让我们可以远程的连接服务器数据库,我们需要新建一个具有远程连接权限的数据库账户,使用如下命令创建:
#创建一个souvc的用户,并赋予权限。
grant是授权命令,其中souvc是我们连接用的用户名、”abc123″是连接密码,用户名后面的“%”通用符表示允许各host操作。
#刷新数据库账户权限:
flush privileges;
#刷新权限之后,重新查询。
select user,host from user;
操作效果如下:
#退出数据库命令 quit;
Ctrl+Z的效果是一样的
#重启mysql数据库服务器
service mysql start
第二部分:修改mysql配置文件,让mysql服务器允许远程连接。
第一步:登录Ubuntu服务器,查看服务器的IP。
#查看服务器的ip
ifconfig
我们获取Ubuntu里面的ip为:192.168.133.130 。注意,这个ip会根据不同的网络,不同的机子会有不同的分配。用户需要自己用命令行读出来看看。
第二步:启动Navicat for MySQL,填写远程连接资料。
获得ip之后并进行填写,点击连接的时候发现会报错。原因是还没有设置mysql服务器允许外部连接。
第三步:登录Ubuntu服务器,修改配置文件。
#进入到mysql服务器配置文件处
cd /etc/mysql/mysql.conf.d/
#查看该目录下的文件
ls
#安装vim工具
sudo apt-get install vim
#编辑mysqld.cnf文件
vim/etc/mysql/mysql.conf.d/mysqld.cnf
在里面有一行命令bind-address= 127.0.0.1 ,正是它又一步的限制了数据库的地址访问。所以我们现在要进入配置文件并注释掉这一行命令。
#重启数据库。
etc/inint.d/mysqlstart
#重新查看一下数据库
重新连接的效果:
拓展知识:
如何启动/停止/重启MySQL
一、 启动方式
1、使用 service 启动:service mysql start
2、使用 mysqld 脚本启动:/etc/inint.d/mysql start
3、使用 safe_mysqld 启动:safe_mysql&
二、停止
1、使用 service 启动:service mysql stop
2、使用 mysqld 脚本启动:/etc/inint.d/mysql stop
3、mysqladmin shutdown
三、重启
1、使用 service 启动:service mysql restart
2、使用 mysqld 脚本启动:/etc/inint.d/mysql restart
四、查看mysql是否在监 听端口命令
netstat -tl | grep mysql
会看到如下类似内容
tcp 0 0 *:mysql *:* LISTEN
个人总结:我们访问远程linux服务器上的数据库,不管是阿里云还是虚拟机,如果出现链接异常,出现诸如10045或者10038之类的错误,我们应该先检查权限,如果没有权限赋予权限。
文章原网址:http://www.souvc.com/?p=915
本文我们主要介绍一下Navicat for Mysql 连接装在虚拟机Ubuntu上的mysql服务器时出现的问题的解决方案。
Navicat 是一套功能强大的MySQL资料库伺服器管理及开发工具,可以用于在任何3.21或以上的MySQL版本,并支援最新版MySQL的大部份功能,包括触发器、预存程序、函式、事件、检视、管理使用者等等。
Navicat MySQL适用于三种平台- Microsoft Windows, Mac OS X及Linux。它可以让使用者连接本地/远端MySQL Server、提供一些实用的工具如资料/结构同步、汇入/汇出、备份及报表以协助管理资料的流程。
第一部分:登录mysql服务器,创建一个远程用户,并赋予相应的权限。
第一步:登录mysql服务器,新建一个用户。
这里我们为什么要使用新用户来管理呢?
在Mysql安装中,默认的有root用户,但是root用户的默认连接Host也是localhost或者127.0.0.1,也就是限制了root用户作为本地连接使用;我个人来说,建立新账户也是安全性和更加方便。
#登录mysql服务
#查看数据库
show databases;
#选中数据库
use mysql;
#接着查看当前数据库账户信息
select user,host from user;
操作如下图:
根据观察,这些用户只能通过本地连接。如果需要做外部ip连接呢?
可以看到用户host显示都是只能本地使用的。现在为了让我们可以远程的连接服务器数据库,我们需要新建一个具有远程连接权限的数据库账户,使用如下命令创建:
#创建一个souvc的用户,并赋予权限。
grant all privileges on *.* to souvc@"%" identified by "abc123" with grant option;
grant是授权命令,其中souvc是我们连接用的用户名、”abc123″是连接密码,用户名后面的“%”通用符表示允许各host操作。
#刷新数据库账户权限:
flush privileges;
#刷新权限之后,重新查询。
select user,host from user;
操作效果如下:
#退出数据库命令 quit;
Ctrl+Z的效果是一样的
#重启mysql数据库服务器
service mysql start
第二部分:修改mysql配置文件,让mysql服务器允许远程连接。
第一步:登录Ubuntu服务器,查看服务器的IP。
#查看服务器的ip
ifconfig
我们获取Ubuntu里面的ip为:192.168.133.130 。注意,这个ip会根据不同的网络,不同的机子会有不同的分配。用户需要自己用命令行读出来看看。
第二步:启动Navicat for MySQL,填写远程连接资料。
获得ip之后并进行填写,点击连接的时候发现会报错。原因是还没有设置mysql服务器允许外部连接。
第三步:登录Ubuntu服务器,修改配置文件。
#进入到mysql服务器配置文件处
cd /etc/mysql/mysql.conf.d/
#查看该目录下的文件
ls
#安装vim工具
sudo apt-get install vim
#编辑mysqld.cnf文件
vim/etc/mysql/mysql.conf.d/mysqld.cnf
在里面有一行命令bind-address= 127.0.0.1 ,正是它又一步的限制了数据库的地址访问。所以我们现在要进入配置文件并注释掉这一行命令。
#重启数据库。
etc/inint.d/mysqlstart
#重新查看一下数据库
mysql-uroot-p; showdatabases; usemysql; selectuser,hostfromuser;
重新连接的效果:
拓展知识:
如何启动/停止/重启MySQL
一、 启动方式
1、使用 service 启动:service mysql start
2、使用 mysqld 脚本启动:/etc/inint.d/mysql start
3、使用 safe_mysqld 启动:safe_mysql&
二、停止
1、使用 service 启动:service mysql stop
2、使用 mysqld 脚本启动:/etc/inint.d/mysql stop
3、mysqladmin shutdown
三、重启
1、使用 service 启动:service mysql restart
2、使用 mysqld 脚本启动:/etc/inint.d/mysql restart
四、查看mysql是否在监 听端口命令
netstat -tl | grep mysql
会看到如下类似内容
tcp 0 0 *:mysql *:* LISTEN
个人总结:我们访问远程linux服务器上的数据库,不管是阿里云还是虚拟机,如果出现链接异常,出现诸如10045或者10038之类的错误,我们应该先检查权限,如果没有权限赋予权限。
相关文章推荐
- mysql多表count累计
- mysql 主从复制问题'the master returned an invalid number of fields for SHOW SLAVE HOSTS'
- 在EF中使用MySQL的方法及常见问题
- JDBC MySQL连接
- mysql时间查看以及定时器相关操作
- MySQL设置字符集为UTF8(Windows版)
- mysql日期时间函数2
- Mysql相关集锦
- 15. ubuntu 16.04 LTS 安装mysql
- Hive+Mysql搭建
- mysql 拼接字段显示
- MySQL锁表
- 绝对不能错过的7篇MySQL必读文章【转】
- MySQL性能分析
- Mysql中DATETIME、DATE和TIMESTAMP的区别
- mysql其他函数
- MySQL经验教训
- mysql中正则表达式的使用
- mysql5.7 主从
- error 1044 (42000):access denied for user ''@'localhost' to database 'mysql' 解决方法