LINUX服务器下开启MYSQL远程连接权限

于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:

 
1、登录到mysql中,为root进行远程访问的授权,执行下面的命令:

1.1、改表法

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

 代码如下 复制代码

x:>mysql -u root -pvmware

mysql> use mysql;
mysql> update user set host = ‘%’ where user = ‘root’;
mysql> select host, user from user;

mysql> flush privileges;

 

注:mysql> flush privileges; 使修改生效。

1.2、授权法:

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

 代码如下 复制代码

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

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

 代码如下 复制代码
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword’ WITH GRANT OPTION;

 

第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:

 代码如下 复制代码

GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";

第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

 2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:

 代码如下 复制代码

    bind-address          = 127.0.0.1 

将其注释掉,保存。

 3、重新启动MySQL服务器。执行下面的几条命令即可:

 代码如下 复制代码

# /usr/bin/mysqladmin -u root -p shutdown

# /usr/bin/mysqld_safe &

如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:

 代码如下 复制代码

# whereis mysqladmin

mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz

执行完上面的三步后,就可以通过远程机器连接了数据库了。

最后搞了那么多总结一句

还要一句就是防火强了

//修改防火墙

 代码如下 复制代码

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

时间: 2024-10-26 01:33:44

LINUX服务器下开启MYSQL远程连接权限的相关文章

开启MYSQL远程连接权限方法总结

最简单的一句  代码如下 复制代码 >>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "passwd"; >>flush privileges; 其中"%"表示任何主机都可以远程登录到该服务器上访问.如果要限定为只有某台机器可以访问,将其换成相应的IP即可;第二行重新加载权限数据. 登录MySQL  代码如下 复制代码 # mysql -uroot -p 如果无

Linux开启mysql远程连接方法与问题解决办法

Linux开启mysql远程连接方法 1.GRANT命令创建远程连接mysql授权用户root mysql -u root -p mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY '123456' WITH GRANT OPTION; 增加root用户授权通过本地机(localhost)访问,密码 "123456". mysql>GRANT ALL PRIVILEGES ON *.* TO r

linux服务器下忘记mysql root登录密码解决办法

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 2.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:sk

mysql远程连接设置

远程连接mysql数据库: 连接上以后,通过这台跳转服务器远程连接mysql库: 用法:mysql -h ip/主机名  -u 用户名  -p 密码 [root@AY131227102745952439Z /etc]#mysql -h rdsa3qfmmqriq3y.mysql.rds.aliyuncs.com  -u weblog -p Enter password: Welcome to the MariaDB monitor.  Commands end with ; or \g. You

mysql-WEB程序在linux服务器下连接Mysql超时!

问题描述 WEB程序在linux服务器下连接Mysql超时! 请问下,我linux服务器部署WEB项目后,启动没报超时,但是一访问有数据的页面就报连接数据库超时.本地跑就没问题,我改了Mysql的默认时间,还是这样.要怎么解决?求大神 解决方案 先看你的 web程序能不能正常连接上数据库,然后就是执行数据库查询是否成功 解决方案二: 看是什么数据,一个是你连接字符串,是不是根本没法打开数据库. 尝试先注释掉数据库访问的代码看看

linux服务器下LNMP安装与配置方法

现在很多朋友都选择了linux服务器下配置LNMP(linux+nginx+mysql+php),这里分享下LNMP安装与配置方法,需要的朋友可以参考下   Nginx与apache.lighttp性能综合对比,如下图: 注意:关闭rpm默认安装的apache和mysql 1.准备php函数的rpm包 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-de

MySQL远程连接ERROR 2003 (HY000) Cant connect to MySQL server on (10060)

MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX' (10060)的问题 D:\Users\xiaomaimiao>mysql -uroot -plhr -h192.168.59.159Warning: Using a password on the command line interface can be insecure.ERROR 2003 (HY000): Can't connect to MySQL

使用C#.NET的不能操作linux服务器下的ftp,这是为什么?

问题描述 使用C#.NET的不能操作linux服务器下的ftp,这是为什么? 我在windows7电脑上分别使用IIS和Quick easy ftp server软件搭建了ftp环境,用C#写了ftp上传的程序,程序能正常运行并上传文件.但是同样的代码连接linux下的ftp服务器,却无法上传成功,提示创建目录失败,(使用其他flashFxp软件和windows默认的ftp登录工具是可以正常操作的),这个是我程序代码问题,还是windows和linux的差异有关,或者是因为服务器的设置问题.具体

linux服务器下运行一个图形化的Java程序

问题描述 linux服务器下运行一个图形化的Java程序 安装一了一个纯命令行的Ubuntu服务器系统,在windows下用netbeans 做 了一个图形化Java程序.服务器下的jdk以安装.在运行这个打包好的java程序时出现错误.说是需要libX....等很多包. 估计是需要安装图形化包,那么怎么安装这些包呢,服务器不能连接互联网.如果有这些包,从哪里下载呢? 解决方案 不能连网,那还是重装下系统比较简单.找一个带xwindow的ubuntu标准版 解决方案二: ubuntu服务器版本不