如何在没有安装mysql的情况下远程连接mysql

如何在没有安装mysql的情况下远程连接mysql,第1张

1、 停止mysql的服务。

2、 进入命令窗口,然后进入MySQL的安装目录,比如安装目录是c:\mysql,进入c:\mysql\bin。

3、 进入mysql数据库服务器。

c:\mysql\bin>mysql –u root –p hkgt123。

4、 选中数据库mysql :use mysql。

5、 查询mysql数据库中的用户:Select host,user,password from mysql。

6、 授权给root用户可以从任何主机使用密码为’hkgt123’登录MYSQL数据库:

GRANT ALL PRIVILEGES ON *.* TO root@’%’ IDENTIFIED BY ‘hkgt123’ WITH GRANT OPTION。

7、 提交:commit。

8、 刷新权限:flush privileges。

1、配置ODBC数据源

2、使用SQL函数进行连接。

对于1、配置数据源,配置完以后就可以编程 *** 作数据库了。

对于2、使用SQL函数进行连接,参考代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

#include<windows.h>

#include<sql.h>

#include<sqlext.h>

void main()

{

HENV henv//环境句柄

HDBC hdbc//数据源句柄

HSTMT hstmt//执行语句句柄

unsigned char datasource[]="数据源名称"//即源中设置的源名称

unsigned char user[]= "用户名"//数据库的帐户名

unsigned char pwd[]= "密码"//数据库的密码

unsigned char search[]="select xm from stu where xh=0"

SQLRETURN retcode//记录各SQL函数的返回情况

// 分配环境句柄

retcode= SQLAllocEnv(&henv)// 等介于 SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL

, &henv)

// 设置ODBC环境版本号为3.0

retcode= SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0)

// 分配连接句柄

retcode= SQLAllocConnect(henv,&hdbc)// 等介于 SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc)

//设置连接属性,登录超时为*rgbValue秒(可以没有)

// SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0)

//直接连接数据源

// 如果是windows身份验证,第二、三参数可以是

一、连接远程数据库:

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>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6101335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存