本文目录一览:
- 1、如何让mysql数据库允许被远程连接访问
- 2、MYSQL数据库远程连接权限
- 3、服务器mysql怎么配置才能远程连接
- 4、怎么配置MySQL数据库让别人远程访问
- 5、mysql 远程连接数据库的方法集合
如何让mysql数据库允许被远程连接访问
一、连接远程数据库:
1、显示密码
如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”
C:/mysql -h 192.168.5.116 -P 3306 -u root -p123456
2、隐藏密码
如:MySQL 连接本地数据库,用户名为“root”,
C:/mysql -h localhost -u root -p
Enter password:
二、配置mysql允许远程链接
默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。
一、改表法
在localhost登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改称"%"
例如:
#mysql -u root -p
Enter password:
……
mysql
mysqlupdate user set host = '%' where user = 'root';
mysqlselect host, user from user;
二、授权法
例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。
mysqlGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
mysqlGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
mysqlFLUSH PRIVILEGES
使修改生效,就可以了
常见问题:
1、在采用法二授权法之后,无法在本地登录mysql(如:#mysql -u root -p -h 192.168.5.116
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'loadb116' (using password: YES)
上例中loadb116是主机名.
解决方法:
1、这时可以使用:mysql -u root -p 登录,进入到mysql后。
mysql grant all privileges on *.* to 'root'@'loadb116'
identified by '123456' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql flush privileges;
Query OK, 0 rows affected (0.00 sec)
2、在本地使用ip地址登录
# mysql -u root -p -h 192.168.5.116
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 60
Server version: 5.1.45 MySQL Community Server (GPL)
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql
MYSQL数据库远程连接权限
注释掉MySQL配置文件中的 bind-address=127.0.0.1 #仅可以本地登录
重启数据库
如果不行,再执行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
有时候MySQL数据库远程登录用户必须添加 任意主机 与本地主机 (用户权限,密码等一样)才可以远程登录 !
服务器mysql怎么配置才能远程连接
设置mysql数据库远程连接:
Windows系统
1、 停止mysql的服务。
2、 进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入c:\mysql\bin
3、 进入mysql数据库服务器
c:\mysql\binmysql –u root –p hkgt123
4、 选中数据库mysql :use mysql
5、 查询mysql数据库中的用户:
Select host,user,password from mysql;
6、 授权给root用户可以从任何主机使用密码为’hkgt123’登录MYSQL数据库:
GRANT ALL PRIVILEGES ON *.* TO root@’%’ IDENTIFIED BY ‘hkgt123’ WITH GRANT OPTION;
7、 提交:commit;
8、 刷新权限:flush privileges;
怎么配置MySQL数据库让别人远程访问
有三种方法:
方法一(不推荐)、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"
#mysql -u root -proot
mysqluse mysql;
mysqlupdate user set host = '%' where user = 'root';
mysqlselect host, user from user;
方法二、直接授权(推荐)
从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:(首先登陆Linux服务器,填写下面代码即可)
[root@localhost software]# mysql -u root -proot
mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
mysqlFLUSH PRIVILEGES;
操作完后切记执行以下命令刷新权限
FLUSH PRIVILEGES;
方法三:终极方法
注释bind-address = 127.0.0.1
找到mysql.cnf
把bind-address = 127.0.0.1 前面加上 #
即 #bind-address = 127.0.0.1
mysql 远程连接数据库的方法集合
1、改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改
"mysql"
数据库里的
"user"
表里的
"host"
项,从"localhost"改称"%"
复制代码
代码如下:
mysql
-u
root
-pvmwaremysqluse
mysql;
mysqlupdate
user
set
host
=
'%'
where
user
=
'root';
mysqlselect
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.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'192.168.1.3'IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句
mysqlFLUSH
RIVILEGES
使修改生效,就可以了
3、另外一种方法:
在安装mysql的机器上运行:
1、d:\mysql\bin\mysql
-h
localhost
-u
root
//这样应该可以进入MySQL服务器
2、mysqlGRANT
ALL
PRIVILEGES
ON
*.*
TO
'root'@'%'WITH
GRANT
OPTION
//赋予任何主机访问数据的权限
3、mysqlFLUSH
PRIVILEGES
//修改生效
4、mysqlEXIT
//退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦。
如果经过上面的操作,还不能解决问题,那可能就是服务器的安全设置问题,是不是ip安全策略或防火墙没有开启3306的例外。