实现客户端连接Mysql数据库服务器
以前学习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命令都必须以“;”结束,否则报错,或质性不成功。
最新文章
- Android 手机卫士--设置界面&;功能列表界面跳转逻辑处理
- 清北暑假模拟day2 将
- 【转】CV_EXPORT定义的作用,lib及dll的区别
- 删除windows系统中以前的设备(比如以前的网卡)或驱动的方法
- RHEL 6.3安装(超级详细图解教程)[转载]
- Apache的虚拟主机配置
- HTML5常识总结(一)
- gulp前端自动化构建工具入门篇
- awsomeplayer结构认识
- CSS基础知识笔记(四)
- PAT (Advanced Level) 1097. Deduplication on a Linked List (25)
- MySQLzip archive版本(5.7.19)安装教程
- 原生JavaScript常用的DOM操作
- 移动端 -webkit-user-select:text; ios10 bug 解决方案
- (七)jdk8学习心得之join方法
- APICloud-数据存储
- nginx日志分割
- 配置Linux客户端使用socks5代理上网
- Jenkins - Extended E-mail配置教程
- flowable6.4.1+springboot使用dmn