Linux下mysql实现远程连接

首先明白一点并不是mysql禁止远程连接,而是MYSQL的账号禁止远程连接。可能觉得我有点咬文嚼字了,不过我感觉分清这点还是很重要的。默认情况下,所有账号都是禁止远程连接的。在安装MYSQL的时候,在设置ROOT密码那里有一个CHECKBOX,选中的话就开启了ROOT的远程登陆功能,默认是没被选中的。
利用:


         select * frommysql.user

查出所有的MYSQL用户,可以发现默认情况下,这些记录的host字段的值全都是localhost,这个host字段就是表示哪些机器可以利用此账号连接到本机的MYSQL。localhost当然就代表本机了。所以默认情况下别的机器无法连接。
所以要想开启一个账号的远程连接,只要将这个账号所对应的host字段改成那个IP就行。
比如:


         update user set host = ‘192.168.230.2‘ whereuser=‘ninty‘;

执行完此命令以后还要执行:


        flush privileges;

来刷新所有数据库用户的权限配置信息让设置及时生效。或者重启MYSQL。
将ninty这个账号的host改成192.168.230.2,这样192.168.230.2这台机器就允许通过ninty这个账号来连接到本机的MYSQL;不过用别的账号仍然是不行的。将ninty的host改成192.168.230.2,就只有192.168.230.2这台机器可以通过ninty这个账号来连接到本机的MYSQL,其它的机器(包括本机)都无法进行连接。
如果想将一个账号设置成任何IP都可以登陆,将host改成 % 就行;如果只能192.168.230这个网段的IP可以登陆,那就将host改成:192.168.230.%
一些常见的错误信息:
ERROR 1130 (00000):Host ‘AAAAA-8HK8AISO‘ is not allowed to connect to this MySQL server
AAAAA-8HK8AISO应该是本机的机器名,当MYSQL服务器禁止本机使用相应的账号连接的时候,就会暴这个错误。这时换一个允许本机去连的账号就可以啦。

ERROR 1045(28000): Access denied for user ‘joejoe1991‘@‘TQSOFT-8HK8AISO‘ (using password:YES)
这个错误一般就是用户名或者密码错误,这时应该是允许本机连接的, 否则报的应该是上面那个错。

ERROR 2003 (HY000): Can‘t connect to MySQL server on‘192.168.230.2‘ (10061)
这个应该是网络方面的原因连不到MYSQL,可能是IP或者端口不对,或者服务器没有开启MYSQL或者防火墙挡住了连接 。

PS:Linux下安装完MySQL默认用户是没有密码的,开启远程连接之前最好将用户设上密码。

一个简单的方法是:
shell命令下执行mysqladmin -u root password "密码",可以通过访问mysql数据库命令:


    [[email protected]~]#mysql -uroot -p → 敲回车 输入密码进行验证。

    

原文地址:http://blog.51cto.com/13538361/2058795

时间: 2024-09-28 19:18:23

Linux下mysql实现远程连接的相关文章

linux下mysql允许远程连接

1. MySql安装教程 https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html 默认情况下mysq的 root用户是不能远程连接的 2. 查看linux防火墙是否开放3306端口 3. 添加防火墙例外 4. 重启防火墙 5. 创建远程连接用户并授权 mysql> select host,user,password from mysql.user; 创建用户 create user test identif

Linux下mysql的远程连接

本地计算机ip:192.168.1.100远程计算机ip:192.168.1.244 远程计算机打开 mysql 服务器:#/etc/init.d/mysql.server start   本地计算机连接远程 mysql服务器:./mysql -h "192.168.1.244" -u root -p   发生以下错误:   ERROR 1130 (HY000): Host '192.168.1.100' is not allowed to connect to this MySQL

Linux中 MySQL 授权远程连接

说明:当别的机子(IP )通过客户端的方式在没有授权的情况下是无法连接 MySQL 数据库的,如果需要远程连接 Linux 系统上的 MySQL 时,必须为其 IP 和具体用户进行授权.一般 root 用户不会提供给开发者.如:使用 Windows 上的 SQLyog 图形化管理工具连接 Linux 上的 MySQL 数据库,必须先对其进行授权. 1.在虚拟机中使用 root 用户登录 mysql 数据库 mysql -u root -p 说明:root 用户密码一般设置为 root 2.使用

Linux系统MySQL开启远程连接

远程连接服务器上的MySQL. Navicat软件连接数据库报错:2003-can't connect to MYSQL serve 工具/原料 crt.navicat.Linux系统.MySQL. 方法/步骤 远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库.登陆数据库.mysql -uroot -p(密码).   创建用户用来远程连接 GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffi

Ubuntu 14.10 下MySQL无法远程连接问题

安装好MySQL之后,如果需要远程连接,那么需要做一些配置,否则会出现一些类似的错误,如 mysql root用户ERROR 1045 (28000): mysql 远程登录 ERROR 1045 (28000) mysql 远程登录2003 Can not connect to mysql error 10061 1 当MySQL 连接服务器时发生”Can not connect to mysql error 10061”错误 将/etc/mysql/my.conf文件中的bind-addre

用phpstudy搭建的lnmp环境下mysql授权远程连接

1.使用phpstudy安装的mysql没有放置到可以直接调用的目录里,所以只能使用绝对路径来访问: /phpstudy/mysql/bin/mysql -uroot -proot 2.执行use mysql; 3.执行grant all privileges on *.* to [email protected]'%' identified by '密码';   4.执行flush privileges; 5.mysql>EXIT //退出MySQL服务器:   备注:以上步骤2.3.4中命令

Linux下开启MySQL的远程连接

Linux下开启MySQL的远程连接 基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限.下面是基本的步骤: 1.登录到mysql中,为root进行远程访问的授权,执行下面的命令: mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "root"; mysql> flush privileges; 第一句中"%

Navicat MySQL连接Linux下MySQL的问题解决方案

Error1: 2003:Can't connect to MySQL server on 'localhost' 解决方法:关闭Linux的防火墙功能. Linux代码   #chkconfig iptables off #reboot Error2: 1130 - Host'ClientIP' is not allowed to connect to this MySQL server 解决方法:使用root用户登陆Linux,更改容许登陆的IP地址范围. Mysql代码   mysql>g

linux下mysql数据库主从同步配置

说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说明:在两台MySQL服务器192.168.21.128和192.168.21.129上分别进行如下操作 备注: 作为主从服务器的MySQL版本建议使用同一版本! 或者必须保证主服务器的MySQL版本要高于从服务器的MySQL版本! 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接