文档章节

MYSQL开启远程连接

webphp
 webphp
发布于 2017/07/26 11:28
字数 615
阅读 7
收藏 0

新安装的MySQL是默认不开户远程访问权限的,也就不能外部连接MySQL。这样对想远程调用MySQL的数据很不方便。下面我们来看下如何设置允许远程连接MySQL数据库。

登录MySQL
# mysql -uroot -p
如果无法登录出现:-bash: mysql: command not found
可以使用find / -name mysql搜索mysql程序的路径,比如mysql程序路径为:/usr/local/mysql/bin/mysql,我们可以这样登录:
# /usr/local/mysql/bin/mysql -uroot -p
或者用ln -s /usr/local/mysql/bin/mysql /usr/bin(这是因为系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件)
第一先use mysql;
select host,user form user;可以查看到host大多为localhost,
执行如下命令:
格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";
其中权限不(select,update,insert,delete,如果为all privileges 为所有权限)
# grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'ROOT-PASSWORD';
# flush privileges;
# exit
192.168.0.1是连接mysql服务器的客户端ip,如果指定所有,则用%来表示。

2、实现远程连接(授权法)

将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;

将权限改为ALL PRIVILEGES

grant all privileges  on *.* to root@'%' identified by "root";

这样机器就可以以用户名root密码root远程访问该机器上的MySql.

3、实现远程连接(改表法)

use mysql;

update user set host = '%' where user = 'root';

这样在远端就可以通过root用户访问Mysql.

 

在访问过程中有时报

mysql ERROR 1045 (28000): Access denied for user ‘root’@'%’ (using password: YES)这个错误的解决方法

通过show grants for root@%;查看当前的权限 (root为用户名%为host值)

+————————————————————————————————————–+
| Grants for root@% |
+————————————————————————————————————–+
| GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY PASSWORD ‘*D8510473679845C4920C5B1DF575BD40E40918C8′ |
+————————————————————————————————————–+
1 row in set (0.00 sec)

通过对手册及搜索资料发现,权限中没有with grant option,而导致无法创建数据

解决措施:用别的可以赋予权限的账号登陆账号,赋予root账号with grant option 权限

GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY *password′ with grant option;

然后回车,别忘记flush privileges 。重载权限表,不然要重启mysql。

© 著作权归作者所有

共有 人打赏支持
webphp
粉丝 1
博文 92
码字总数 92338
作品 0
海淀
程序员
私信 提问
远程无法连接mysql

 mysql开启远程连接 今天在服务器安装了mysql,准备用mysqlguitools远程登录的时候出错,提示:Host 'xxx' is not allowed to connect to this MySQL server。网上找了一些资料,是mysql未开...

maketc
2016/04/09
44
0
实现远程连接 Win10的Ubuntu子系统下的MySQL数据库

实现远程连接 Win10的Ubuntu子系统下的MySQL数据库 1. Ubuntu系统下安装MySQL数据库 2. 登陆数据库,创建用于远程连接的用户 注:表示所有的电脑都可以连接,也可以设置某个ip地址运行连接。...

优惠码优惠
07/03
0
0
myeclipse连接远程mysql实战

两大知识点: 一、开启虚拟机 XP的telnet服务。 并不是说简单的在服务里开启telnet服务就可以了。 几个关键点:首先要ping通开启远程主机的ip,否则一切免谈。 防火墙关闭。 还有一个不知是否...

biGpython
2011/07/30
0
0
解决远程链接MySQL数据库速度很慢

远程链接MySQL数据库速度很慢 PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WIND...

Neo_
2012/11/28
0
0
Windows服务器开启/删除端口,MySQL开启远程链接

1、windows开启端口 netsh firewall add portopening TCP 8080 MyWebPort 2、删除端口 netsh firewall delete portopening protocol=TCP port=3389 3、MySQL开启远程链接 cd C:Program Files......

weixingo
2015/09/14
169
0

没有更多内容

加载失败,请刷新页面

加载更多

如何很绅士的使用线程池

前言 平时接触过多线程开发的童鞋应该都或多或少了解过线程池,之前发布的《阿里巴巴 Java 手册》里也有一条: 可见线程池的重要性。 简单来说使用线程池有以下几个目的: 线程是稀缺资源,不...

瑞查德-Jack
6分钟前
0
0
Java开发必会的Linux命令

1.查找文件find / -name filename.txt 根据名称查找/目录下的filename.txt文件。find . -name "*.xml" 递归查找所有的xml文件find . -name "*.xml" |xargs grep "hello world" 递归...

奥特曼之王
8分钟前
0
0
【 58沈剑 架构师之路】各种SQL到底加了什么锁?

有朋友留言:你TM讲了这么多,锁分了这么多类型,又和事务隔离级别相关,又和索引相关,究竟能不能直接告诉我,一个SQL到底加了什么锁!? 我竟无言以对。 好吧,做过简单梳理之后,今天尝试...

张锦飞
10分钟前
0
0
打包 压缩 命令tar zip

打包 压缩 命令tar zip tar语法 #压缩 tar -czvf ***.tar.gz tar -cjvf ***.tar.bz2 #解压缩 tar -xzvf ***.tar.gz tar -xjvf ***.tar.bz2  tar [主选项+辅选项] 文件或目录 主选项是必须要...

linjin200
15分钟前
0
0
使用form表单同时实现上传文件和提交文本数据

使用form表单同时实现上传文件和提交文本数据,此示例中在后台将文件上传到阿里的oss存储服务器中 申请oss相关账号: endpoint = "http://oss-cn-qingdao.aliyuncs.com"; accessKeyId = "key"...

貔貅叔
21分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部