以前学习mysql的时候,都是部署在本机,这样不存在客户端主机与服务器主机连接的问题,都是直接用localhost登录就行。

今天因项目需要,我们把mysql部署在服务器上,然后客户端装了client,这样就遇到客户端连接数据库服务器的问题。折腾了蛮久,发现即使是默认的root账户也没能连上服务器。把今天的解决过程记录如下:

1、在服务器上安装好mysql server 后,在公司内网开通3306端口(mysql的默认端口);同时,服务器也要支持外网的访问,又增加外网端口的访问权限。最后,在客户端主机,通过"telnet"命令,检查3306端口已经可以通过客户端主机连接了。

2、客户端装好mysql client,发现root用户无法连接,也就是客户端无法用workbench实现数据库、用户、数据表等的操作。这里有两个办法,一个是直接先授权root用户,可以在任何主机访问,然后再新建数据库、添加表等;另一种方法,是通过服务器端mysql指令,添加新数据库,新的用户,然后赋予用户所有主机的连接权限,算是一步到位。

方法一: 将root用户的权限改成任何主机都能访问:

在服务器上,运行MySQL 5.7 Command Line Client,然后执行以下命令:

(1)use mysql;              进入mysql数据库

(2)select host,user,password from user;  查询数据库的用户信息

(3)update user set host='%' where host='localhost';   将上表中root的访问主机改为所有

(4)flush privileges;       刷新权限

(5)exit;  退出mysql

完成以上步骤,在客户端主机workbench中,用root/password,即可登陆了。

方法二:直接通过mysql命令,创建数据库,用户信息,以及客户端主机访问权限设置。

在服务器上,运行MySQL 5.7 Command Line Client,然后执行以下命令:

(1)show databases;    查看mysql服务器上已经存在的数据库。下面新建时,避免建重复的数据库

(2)create database SZY;    创建数据库“SZY”

(3)create user szy identified by "szy";   创建szy用户,设定密码szy

(4)grant all privileges on SZY.*to'szy'@'%'identified by 'szy' with grant option;   给用户赋予指定数据库的所有权限,并允许任何客户端主机连接

(5)flush privileges;  刷新上面权限设置

(6)exit;  退出mysql

完成以上命令,在客户端尝试连接,如下:

注意:关于sql命令直接在服务器上的mysql命令管理器质性就行;每个sql命令都必须以“;”结束,否则报错,或质性不成功。

实现客户端连接Mysql数据库服务器的更多相关文章

  1. 远程客户端连接MysqL数据库太慢解决方案

    远程客户端连接MysqL数据库太慢解决方案局域网客户端访问mysql 连接慢问题解决. cd /etc/mysql vi my.conf [mysqld] skip-name-resolve 此选项禁 ...

  2. 客户端连接mysql数据库反应慢

    远程客户端连接MysqL数据库太慢解决方案 局域网客户端访问mysql 连接慢问题解决 编辑mysql配置文件 # vi my.conf [mysqld] skip-name-resolve 重启my ...

  3. myeclipse自带客户端连接mysql数据库

    一:开启mysql服务器 开始——服务 二:打开myeclipse数据库连接视图 找到DB Browser, 三:新建一个连接 如图: 四:填写相关连接参数,并添加jar包驱动 五:然后一路next, ...

  4. atitit.客户端连接oracle数据库的方式总结

    客户端连接oracle数据库的方式总结 目录 Java程序连接一般使用jar驱动连接..... 桌面GUI一般采取c语言驱动oci.dll 直接连接... 间接连接(需要配置tns及其envi var ...

  5. Geronimo应用服务器和MySQL数据库服务器

    就是Web 2.0的全部,尽管该术语出现才几乎一年的时间,但现在好像只有烹饪杂志还没有加入到讨论Web 2.0未来出路的行列中.自从出现了里程碑式的文章"What Is Web 2.0:De ...

  6. 配置ORACLE 客户端连接到数据库

    --================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle ...

  7. 用友U8客户端连接不上服务器全攻略

    用友U8客户端连接不上服务器全攻略 http://www.enet.com.cn2009年09月23日09:26 来自论坛 [导读]:如果网络不通,就让用户查找网络原因 检查步骤: 1.网络是否通? ...

  8. phoenix客户端连接hbase数据库报错:Traceback (most recent call last): File "bin/sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse

    环境描述: 操作系统版本:CentOS release 6.5 (Final) phoenix版本:phoenix-4.10.0 hbase版本:hbase-1.2.6 现象描述: 通过phoenix ...

  9. 启用CentOS6.5 64位安装时自带的MySQL数据库服务器

    本人在虚拟机上又安装了一台linux机器,作为MySQL数据库服务器用,在安装时选择了系统自带的MySQL服务器端,以下是启用步骤. 首先开启mysqld服务 #service mysqld star ...

随机推荐

  1. Arrays 001

    1.1 Array Initalization First of all, we need know Java arrays is static. When the array is initiali ...

  2. JavaScript ---- 闭包(什么是闭包,为什么使用闭包,闭包的作用)

    经常被问到什么是闭包? 说实话闭包这个概念很难解释.JavaScript权威指南里有这么一段话:“JavaScript函数是将要执行的代码以及执行这些代码作用域构成的一个综合体.在计算机学术语里,这种 ...

  3. C++11中的技术剖析(std bind原理简单图解)

    此文为转载,好像原出处的原文已经无法打开了. 本文解释了bind 是如何工作的.为了清晰,我对图中的语法作了一些简化(例如,省略函数调用操作符的参数类型),并且简化了 bind 的实现. bind 可 ...

  4. 【NOI2019模拟2019.7.4】朝夕相处 (动态规划+BM)

    Description: 题解: 这种东西肯定是burnside引理: \(\sum置换后不动点数 \over |置换数|\) 一般来说,是枚举置换\(i\),则\(对所有x,满足a[x+i]=a[i ...

  5. 01二维背包——poj2576

    /* 要求把a数组分成两个集合,两个集合人数最多差1,并且元素之和的差尽可能小 那只要把所有可行的列出来即可 01二维背包,即体积是个二维数据,那么我们的背包状态也应该设为二维 dp[j][k]设为 ...

  6. 移动端多选插件-jquery

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 尚学python课程---15、python进阶语法

    尚学python课程---15.python进阶语法 一.总结 一句话总结: python使用东西要引入库,比如 json 1.python如何创建类? class ClassName: :以冒号结尾 ...

  8. mave打包spring项目成jar,启动报错:Offending resource: URL [

    文章目录 错误 解决 错误 Offending resource: URL [jar:file:/Users/leesin/intellij-idea-workspace/rabbitMq_Consu ...

  9. UVA 12676 Inverting Huffman

    题目链接:https://vjudge.net/problem/UVA-12676 题目大意 一串文本中包含 N 个不同字母,经过哈夫曼编码后,得到这 N 个字母的相应编码长度,求文本的最短可能长度. ...

  10. decimate、end、interp、resample工具箱函数