mysql 远程连接数据库的二种方法

一、连接远程数据库:

1、显示密码

如:MySQL
连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”

C:/>mysql -h 192.168.5.116 -P 3306 -u root
-p123456

2、隐藏密码

如:MySQL 连接本地数据库,用户名为“root”,

C:/>mysql -h localhost -u root -p 
Enter
password:

二、配置mysql允许远程链接

默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。

一、改表法

在localhost登入mysql后,更改 "mysql" 数据库里的 "user" 表里的
"host" 项,将"localhost"改称"%"

例如:

  #mysql -u root -p

Enter password:

……

mysql>

  mysql>update user set host = ‘%‘ where user =
‘root‘;

  mysql>select host, user from user;

二、授权法

例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

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

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

  mysql>GRANT ALL PRIVILEGES ON *.* TO
‘myuser‘@‘192.168.1.3‘IDENTIFIED BY

  ‘mypassword‘ WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES

  使修改生效,就可以了

常见问题: 
1、在采用法二授权法之后,无法在本地登录mysql(如:#mysql -u
root -p -h 192.168.5.116
Enter password: 
ERROR 1045 (28000): Access
denied for user ‘root‘@‘loadb116‘ (using password:
YES)
上例中loadb116是主机名.
解决方法: 
1、这时可以使用:mysql  -u
root -p 登录,进入到mysql后。
mysql> grant all privileges on *.*
to ‘root‘@‘loadb116‘ 
     
 identified by ‘123456‘ with grant option; 
Query OK, 0 rows
affected (0.00 sec)
mysql> flush
privileges; 
Query OK, 0 rows affected (0.00
sec)
2、在本地使用ip地址登录
# mysql -u root -p -h
192.168.5.116 
Enter password: 
Welcome to the
MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is
60
Server version: 5.1.45 MySQL Community Server (GPL)

Type ‘help;‘ or
‘/h‘ for help. Type ‘/c‘ to clear the buffer.

mysql>

用工具连接远程数据库:

2、输入远程数据库的信息,如下图

时间: 2024-10-11 12:33:36

mysql 远程连接数据库的二种方法的相关文章

修改MYSQL最大连接数的2种方法

mysql默认最大连接数是100,增加加默认MYSQL连接数的方法有两个 方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini(windows) 或 my.cnf(linux环境)查找 max_connections=100   修改为 max_connections=1000 服务里重起MYSQL即可 方法二: 客户端登录:mysql -u username -p password 设置新的最大连接数为200:mysql> set GLOBAL max_connections=

mysql分表的三种方法

mysql分表的3种方法 一,先说一下为什么要分表 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. 根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果.在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间.其实这二个是一回事,等待的同时,肯定有sql在执行.所以我们要缩短sql的执行

debian7更换gcc版本的二种方法分享

debian7更换gcc版本的二种方法分享 最近在编译qt,之前用的是debian6,gcc版本是gcc-4.4,当使用debian7时,编译遇到了很多跟debian6不一样的问题,debian7的默认gcc使用的是gcc-4.7,可能是编译器版本的问题,所以需要将debian7的gcc版本更换为gcc-4.4,办法如下:(推荐用方法一) 方法一: 安装gcc4.4和g++4.4 复制代码 代码如下: sudo apt-get install gcc-4.4sudo apt-get isntal

PHP去掉数组重复值二种方法实例

PHP两种去掉数组重复值的方法,分别使用foreach方法和array_unique方法. 去除一个数组中的重复值,可以使用foreach方法,也可以使用array_unique方法. <?php $arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i < $intTotal; $i++) { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $in

Python文件遍历二种方法

分享下有关Python文件遍历的两种方法,使用的OS模块的os.walk和os.listdir实现. 关于Python的文件遍历,大概有两种方法,一种是较为便利的os.walk(),还有一种是利用os.listdir()递归遍历.方法一:利用os.walkos.walk可以自顶向下或者自底向上遍历整个文件树,然后返回一个含有3个元素的tuple,(dirpath, dirnames, filenames).注意,os.walk()会返回一个generater,所以调用的时候一定要放到for循环中

linux系统下php安装mbstring扩展的二种方法

.执行 复制代码代码如下: yum install php-mbstring 2. 修改php.ini (这一步非常重要, 部分lxadmin版本无法自动修改) 复制代码代码如下: echo ‘extension=mbstring.so' >>/etc/php.ini #更具php安装目录而定 3. 重启web service 如果是apache: service httpd restart 方法二:php 5.36安装目录:/usr/local/php 复制代码代码如下: #cd /usr/

C#WinForm 直接导出DataGridView数据到Excel表格的二种方法对比

方法一.利用微软的excel 操作类 引用:using Excel = Microsoft.Office.Interop.Excel; 代码如下:         #region导出数据表:Excle (微软的excel 操作类)         ///<summary>         ///导出数据表:Excle         ///</summary>         ///<param name="myDGV"></param>

PHP生成二维码二种方法和实例

PHP生成二维码的两个方法和实例,分别使用Google API和PHP二维码生成类库PHP QR Code实现. 之前介绍过通过使用jQuery插件来生成二维码,今天分享下如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码.利用Google API生成二维码Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: $urlToEncode="http://www.jbxue.com"; generateQRfromGoogle($urlToEnc

CURL模拟POST提交的二种方法实例

CURL应用广范,本文来介绍CURL模拟POST提交的二种方法实例,他们都是返回json字符串格式. 方法一(返回的是json字符串格式): /** * Curl版本 * 使用方法: * $post_string = "app=request&version=beta"; * request_by_curl('http://facebook.cn/restServer.php',$post_string); */ function actionPost($url,$data){