服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - linux mysql 数据库开启外部访问设置指南

linux mysql 数据库开启外部访问设置指南

2019-12-11 14:35MYSQL教程网 Mysql

Linux下设置MySQL和允许外部机器访问,具体目录是具体情况而定,有的人是安装了在个人目录下,则找到对应的目录则可以

Linux下设置MySQL和允许外部机器访问sudo vi /etc/my.cnf 
具体目录是具体情况而定,有的人是安装了在个人目录下,则找到对应的目录则可以。 
一、配置文件的修改 
1.#sudo vim /etc/mysql/my.conf 
找到 bind-address = 127.0.0.1 
注释掉这句话 
二、Mysql数据库的修改 
1) [root@etc etc]# mysql -u root -p 
Enter password: 
2)grant all privileges on database.* to admin@192.168.1.1 identified by 'password' 
注意: 
(1)192.168.1.1是欲连接到此Mysql数据库的客户端的IP地址,而不是Mysql数据库所在数据库服务器的IP地址,切记 
(2)password就是Mysql数据库root用户的password,根据实际情况需要修改 

如何访问Linux系统中的MySQL数据库? 
前不久在Linux系统中安装了MySQL数据库,但Linux系统是一个虚拟机,而真正的主机是Win7,我就试着在Win7下面用MySQL数据库工具去访问Linux系统下的MySQL数据库。但在连接的过程中就出现了问题: 
Host '192.168.0.101' is not allowed to connect to this MySQL server 
然后我百度了一下这个问题,找到了以下的几种解决办法。 

方法一:(修改表) 
进入Linux系统下的mysql数据库中,打开user表,找到“host”字段值为“localhost”的记录,将值“localhost”更新为“%”。 
命令如下: 
#mysql -u root -p 
Enter password: 
mysql>use mysql; 
mysql>update user set host='%' where user='root' and host='localhost'; 
mysql>select host,user from user; 

方法二:(授权) 
例1 
如果你想myuser使用mypassword从任何主机连接到MySQL数据库服务器的话。使用如下授权权命令: 
GRANT ALL PRIVILEGES ON *.* TO [email='myuser'@'%']%27myuser%27@%27%%27[/email] IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
例2 
如果你想允许用户myuser从IP为192.168.0.101的主机连接到MySQL数据库服务器并使用mypassword作为密码。使用如下授权命令: 
GRANT ALL PRIVILEGES ON *.* TO [email='myuser'@'192.168.0.101']%27myuser%27@%27192.168.0.101%27[/email] IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
以上两种方法是从网上找的。本人通过第二种方法中的例1解决了我所遇到的问题,并成功连接了Linux系统中的MySQL数据库服务器。

延伸 · 阅读

精彩推荐