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>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)