为什么我mysql本地非root无法连接 但是mysql root 远程登陆可以

windows和linux系统开启mysql远程连接权限的方法
大家在远程连接mysql的时候应该碰到过,root用户的mysql,只可以本地连,对外拒绝连接。
我们需要建立一个允许远程登录的数据库帐户,这样你可以方便进行在本地远程操作数据库了。
方法如下:
一:windows环境
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 &mysql& 数据库里的 &user& 表里的 &host& 项,从&localhost&改称&%&
mysql -u root -pvmwaremysql&mysql&update user set host = &%& where user = &root&;mysql&select host,
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO &myuser&@'%& IDENTIFIED BY &mypassword& WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO &myuser&@&192.168.1.3& IDENTIFIED BY &mypassword& WITH GRANT OPTION;
我 的mysql.user里root用户的host果然是localhost,先用改表法给localhost改成&%&,还是不行,仍然报1130的错 误,又按&从任何主机连接到mysql服务器&方法授权,还是报一样的错,最后给自己的ip授权之后,终于登录上了。。。。
乎乎。。。
mysql的ERROR 1045 在上面情况后如再出现客户段1045可在服务器执行如下
UPDATE user SET Password=PASSWORD(&123456&) where USER=&myuser&;
FLUSH PRIVILEGES;//用户付完权限后对数据进行刷新时用!要不Mysql数据库识别不了
例如:(必须参考以上再看下面的例子)
GRANT ALL ON *.* TO admin@&%& IDENTIFIED BY &admin& WITH GRANT OPTION;
mysql &192.168.50.85&P &admin& &admin& ;
GRANT ALL ON *.* TO admin@&localhost& IDENTIFIED BY &admin& WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO &myuser&@'%& IDENTIFIED BY &123456& WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO &myuser&@&192.168.50.85& IDENTIFIED BY &123456& WITH GRANT OPTION;
UPDATE user SET Password=PASSWORD(&123456&) where USER=&myuser&;
FLUSH PRIVILEGES;
mysql默认是没有开启远程控制的,必须添加远程访问的用户。
mysql默认是没有开启远程控制的,必须添加远程访问的用户。 g&00 x$ Y
如果是安装版的话,从mysql提供的控制台进入。 1s+&( 0R/
用root用户登陆,然后: Q k C jgS0
grant all privileges on *.* to 创建的用户名 @&%& identified by &密码&; o! q*)`xuQ
* 刷新刚才的内容* )/ z (5 3X
; (Q:LY \v
格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by &用户密码&; .=h j Qi[
@ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。 U &T 1O 6
同时也可以为现有的用户设置是否具有远程访问权限。如下: \ch3 X X#
o$`& :&N e
update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限) B Gnl: R *
FLUSH PRIVILEGES; zn 6&?
查看结果,执行: $4b 5-U
select host,user, J):H\B:j_M
i oZ 0 & H
+--------------+--------+---------------+ t75 JSdQ
| Host | User | Password | XKL Di{ U
+--------------+--------+-----------------+ B*1Q& Cx5B
| localhost | | | U 8RZq(f
| % | John | 123456 | r ` Al B
| localhost | root | | H fd ZE
+--------------+------ --+---------------+ pd7= 8 8
总结: ? Av L`B A
其实MySQL默认有两个数据库分别为 mysql 和 test 而MySQL用户的信息都放在数据库 mysql 的相关表中 gb: hj /
也可以使用 Navicat (推荐)这样的GUI工具来管理用户。 HUD?}U BB5
update user set host='%' where host='localhost'
工作中用到和mysql服务器不在同一台计算机上安装的运用。需要通过mysql的远程账户访问mysql。
先上语法:
grant [权限] on [数据库名].[表命] to ['用户命']@['的ip地址'] identified by ['密码'];
grant all on lportal.* to &root&@&192.168.1.21 identified by &root&;
grant select,update,insert,delete on lportal.* to &root&@&192.168.1.21 identified by &root&;
二:linux类环境
1.修改/etc/mysql/my.conf,修改bind-address,指定为本机实际IP地址,你的my.con修改完大概是如下的样子
# * Basic Settings
default-character-set=utf8
default-storage-engine=INNODB
bind-address    = 192.168.1.107
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/english
skip-external-locking
2.用root登陆mysql执行如下命令
grant all on sonardb.* to sonar@&%& identified by &123456&;
grant all on sonardb.* to sonar@localhost identified by &123456&;
sonardb替换为你想访问的数据库名,sonar是你的想使用的用户名,123456替换为你的密码,这样就开启了远程访问功能
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&MySQL客户端远程无法连接问题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
MySQL客户端远程无法连接问题
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢博客访问: 368835
博文数量: 90
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Linux
在root下连接mysql 报错解决方法:[root@mysql5 ~]# mysqlERROR ): Access denied for user
(using password: NO)
解决方法:
1..如果mysql是service mysql start启动方式,请先 关闭 mysql server& 即(/etc/init.d/mysql start/stop/status)
2.以mysqld_safe --skip-grant-tables & 意思:在启动mysql server时,不启动grant-tables,授权表,是忘记管理员密码后有用增加一个参数解释:--skip-networking只允许通过一个套接字文件(Unix/Linux系统)或通过命名管道(Windows系统)进行本地连接,不允许ICP/IP连接; 这提高了安全性,但阻断了来自网络的外部连接和所有的Java客户程序(Java客户即使在本地连接里也使用TCP/IP)。
3.mysql登录4.修改root 密码:update mysq.user set password=PASSWORD('') where user='root';,这里root我是留空,连接方便5.mysql>6.mysql>quit7.shell>mysqladmin shutdown8./etc/init.d/mysql start9.shell>mysql[root@mysql5 ~]# mysqlWelcome to the MySQL monitor.& C or \g.Your MySQL connection id is 4Server version: 5.5.18-log Source distribution
Copyright (c) , Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type '' or '\h' for help. Type '\c' to clear the current input statement.
连接成功....
参考网址:
阅读(3119) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。jingkonglanxing 的BLOG
用户名:jingkonglanxing
文章数:41
访问量:4061
注册日期:
阅读量:5863
阅读量:12276
阅读量:326780
阅读量:1035560
51CTO推荐博文
@&mysql -u root -p@&密码mysql&DELETE FROM user WHERE User="" and Host="localhost";mysql&
了这篇文章
类别:┆阅读(0)┆评论(0)}

我要回帖

更多关于 mysql root 本地访问 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信