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

(编辑:jimmy 日期: 2024/12/27 浏览:2)

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数据库服务器。