mysql设置远程访问数据库的多种方法

问题:MySQL权限设置正确,但仍无法远程访问。通过telnet发现3306端口未打开。

分析:MySQL默认只绑定127.0.0.1,即:只有在本机才能访问3306端口。

解决:找到MySQL配置文件,搜索“bind-address”,找到这一行:

bind-address          = 127.0.0.1 在前面加一个#,注释掉这一行,保存,重启MySQL。再通过远程访问就可以了,telnet可以发现端口也打开了。

例我们配置

1. 确保skip-networking被删除或者屏蔽,否则不支持TCP/IP 访问

2. 增加行bind-address = 65.55.55.2,替代65.55.55.2 为你的服务器地址

保存并关闭配置文件

重启mysql服务器:# /etc/init.d/mysql restart

1。 改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

CODE:mysql -u root -p123
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

2. 授权法。

例如,你想kevin使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'kevin'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户kevin从ip为192.168.101.234的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'kevin'@'192.168.101.234' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

注意了,如果是Linux系统防火墙也很重要哦

iptables
-I INPUT -p tcp --dport 3306 -j ACCEPT

更多内容:

mysql远程数据库导入到本地

mysql命令行导出数据库

mysql忘记密码的解决方案

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 05:57:14

mysql设置远程访问数据库的多种方法的相关文章

mysql设置远程访问

Mysql远程访问设置,容许远程连接本地数据库. 1.进入本地Mysql安装目录bin下,登录Mysql, 如图: 2.  切换数据库到内置的名为“mysql”的数据库,可以看到下面的一个名为“user”的表. 3. 执行sql语句:select host,user,password from user; 可以看到所有的可登陆本数据库的用户名,密码和对应的host.默认只能本地访问. 4.  修改设置远程访问. 执行语句: GRANT ALL PRIVILEGES ON *.* TO 'root

ubuntu下MySQL修改root密码的多种方法,phpmyadmin空密码无法登陆的解决方法

phpmyadmin是默认不允许使用空密码的,所以若是在安装时没有设置密码,在登陆phpmyadmin时是个很头疼的问题 方法1是修改phpmyadmin的配置文件,这里不做推荐.. 方法2: phpmyadmin的登陆账户和密码其实就是mysql的账户与密码,那么我们更改mysql的密码即可 打开终端 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass

windows下mysql定时备份数据库几种方法

第一种:新建批处理文件 backup.dat 代码如下: net stop mysqlxcopy "C:/Program Files/MySQL/MySQL Server 5.0/data/piaoyi/*.*" D:/db_backup/%date:~0,10%/ /ynet start mysql 注意:批处理命令中路径里有空格的话,必须在路径上加上双引号!然后使用Windows的"计划任务"定时执行该批处理脚本即可.(例如:每天凌晨3点执行backup.bat

MySQL修改root密码的多种方法

方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password oldpass "newpass" 方法3: 用UPDA

MySQL修改root密码的多种方法(包括丢失密码)

特此声明:一下方面为学习中在网络上面搜索所得,具体来源已经记不清楚.如有侵权请告知作者进行撤销,谢谢! 注意:MySQL5.7及其以后版本可能有些变化 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过

MySQL修改root密码的多种方法(转)

http://jingyan.baidu.com/article/0320e2c198ad5f1b87507bc8.html ********************************* 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newp

Mysql添加远程访问数据库权限

@font-face {  font-family: "宋体";}@font-face {  font-family: "Cambria Math";}@font-face {  font-family: "@宋体";}@font-face {  font-family: "Calibri";}@font-face {  font-family: "Helvetica Neue";}p.MsoNormal,

mysql 设置远程访问

创建用户 1.mysql>CREATE USER 'user1'@'localhost' IDENTIFIED BY 'pass1'; --如果你要创建一个公网可以访问的用户,可以去掉@localhost 或者将localhost该为公网ip 2.mysql>GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'user1'@'localhost'; OR mysql>GRANT ALL ON *.* TO 'user1'@'localhost'; f

mysql设置远程访问权限

 查一下你的MYSQL用户表里, 是否允许远程连接  1.授权 mysql>grant all privileges on *.*  to  'root'@'%'  identified by 'root'  with grant option; mysql>flush privileges; 2.修改/etc/mysql/my.conf 找到bind-address = 127.0.0.1这一行 改为bind-address = 0.0.0.0即可