linux设置mysql远程访问权限
⑴ linux 如何开启Mysql远程访问权限 允许远程连接
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
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授权之后,终于登录上了。。。。
⑵ Linux下mysql允许远程连接怎么设置
您好!
1、首先,mysql设置远程连接的方式是在linux中进入mysql
mysql -uroot -pxxxxx(该处为root密码)
2、进入mysql后进行权限授权
grant all privileges on *.* to root@'%' identified by "xxxxxx" with grant option;
flush privileges;
这样就可以远程连接mysql了,其中第二部中的xxxxxx为密码您可以自行修改。
⑶ Linux下mysql允许远程连接怎么设置
这个问题分两部分:
1、需要系统本身开通数据库对应的端口,mysql应该是
3306(或者直接关闭防火墙);
2、mysql开通连接权限:
1:首次安装的mysql应该是没有密码,使用:
mysql
-u
root
-p
回车,直接进入到mysql>页面;
2:开通需要对外连接的帐号权限:
1、update
mysql.user
set
password=PASSWORD('123456')
where
User='root';
(修改root密码为123456)
2、grant
all
privileges
on
*.*
to
root@'%'
identified
by
'123456';
(授权root对外开放连接,密码为123456)
3、flush
privileges;
(使以上操作生效)
4、quit
(退出)
然后在外部就可以尝试连接
⑷ Linux下mysql允许远程连接怎么设置
mysql数据库远程访问设置方法
1、修改localhost
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;
2、指定授权
使用myuser/mypassword从任何主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3、泛授权
mysql -h localhost -u root
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //赋予任何主机上以root身份访问数据的权限
mysql>FLUSH PRIVILEGES;
⑸ linux下mysql允许外部远程访问配置
mysql远程访问我们在网上看到最多的就是直接给mysql数据库授权了,但有一些朋友发现按此教程还是无法连接mysql了,下文小编为各位详细介绍一篇在linux下mysql允许外部远程访问配置
设置mysql
的配置文件
/etc/mysql/my.cnf
找到
bind-address
=127.0.0.1
将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysql
restart;
进入mysql
数据库
mysql
-u
root
-p
mysql>grant
all
privileges
on
*.*
to
root@'%'
identifies
by
'
xxxx';
其中
第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样
*.*的话表示所有到数据库下到所有表都允许访问;
‘%’:表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx’为root
用户的password;
⑹ Linux下mysql允许远程连接怎么设置
本地计算机ip:192.168.1.100
远程计算机ip:192.168.1.244
远程计算机打开 mysql 服务器:#/etc/init.d/mysql.server start
本地计算机连接远程 mysql服务器:./mysql -h "192.168.1.244" -u root -p
发生以下错误:
ERROR 1130 (HY000): Host '192.168.1.100' is not allowed to connect to this MySQL server
出现这种情况是因为mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。
解决方法:
1,远程计算机(ip:192.168.1.244)执行如下:
开启服务器:/etc/init.d/mysql.server start
登陆服务器:bin/mysql -u root -p
使用服务器:mysql> use mysql
创建远程登陆用户并授权 :
mysql> grant all PRIVILEGES on test.* to andy@'192.168.1.100' identified by '123456';
上面的语句表示将 test 数据库的所有权限授权给 andy 这个用户,允许 andy 用户在 192.168.1.100这个 IP 进行远程登陆,并设置 andy 用户的密码为 123456 。
下面逐一分析所有的参数:
all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。
test.* 表示上面的权限是针对于哪个表的,test 指的是数据库,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。
andy 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。
192.168.1.100 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。
123456 为用户的密码。
执行了上面的语句后,再执行下面的语句,方可立即生效。
> flush privileges;
2,本地计算机(ip:192.168.1.100):
执行如下:./mysql -h 192.168.1.244 -u andy -p 123456
显示如下:
⑺ Linux下mysql允许远程连接怎么设置
首先我们修改下配置文件(一般在/etc/mysql/my.cnf),将里面的bind-address = 127.0.0.1使用#给注释掉
这样就可以通过网络访问我们的mysql了,当然这并不是全部
port = 3306
这里我想不用说了,设置侦听端口,默认3306,想改的话只要将3306替换为其它就行
然后我们需要创建一个可以远程连接的用户以及给予相应权限
我们使用root登陆mysql
mysql -u root -p
grant all on *.* to ‘test’@’%’ identified by ‘1234’ with grant option;
all表示所有权限
*.*表示所有的数据库,如果只想给该用户操作某个指定的数据库的话比如test可以写成
grant all on test.* to ‘test’@’%’ identified by ‘1234’ with grant option;
‘test’@’%’ 是的test是可以通过远程登陆的用户名,%是个通配符,表示可以从任意地方登陆,但这里有个问题,我发现这么做了后本地localhost登陆的时候无法登陆,方法是建立一个同样的用户,将%改为localhost
1234是登陆密码,如果想不设置密码identified by ‘1234’可不写
with grant option 表示test用户可以将自己创建的数据库给予其它人权限
我们再更新下权限
flush privileges;
现在就可以通过远程来连接我们的数据库了
当然最后别忘了将防火墙设置成mysql绑定的端口可访问,不然是会被防火墙屏蔽的哦
⑻ Linux下mysql允许远程连接怎么设置
使用“Ctrl + R”组合键快速打开cmd窗口,并输入“cmd”命令,打开cmd窗口。
使用“mysql -uroot -proot”命令可以连接到本地的mysql服务。
使用“use mysql”命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库。
使用“GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;”命令可以更改远程连接的设置。
使用“flush privileges;”命令刷新刚才修改的权限,使其生效。
使用“select host,user from user;”查看修改是否成功。