mysql数据库配置总结

时间:2024.5.8

在vb6.0中配置mysql(ODBD)数据库打包总结

(SERVER)

--------------------------------------------------------------------------------------------------------------------

1. 写自动安装mysql驱动----注意:我的MYSQL是5.1的驱动必须一致。

先把该目录下的(myodbc5.dll和myodbc5S.dll)文件复制到目标计算机下(“C:\WINDOWS\system32”),然后,双击“ODBC Driver.reg”,即可自动安装MYSQL ODBC驱动,如果要查看是否自动安装MYSQL数据源成功,可以“开始→设置→控制面板→管理工具→ODBC数据源”,双击“数据源(ODBC)”,单击第四个选项卡---驱动程序,在下拉列表中查找看是否有“MySQL ODBC 5.1 Driver”,如果有,则说明自动安装MYSQL数据源成功,否则自动安装失败

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB\MySQL Connector/ODBC 5.1] "Version"="5.1.8"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver] "UsageCount"=dword:00000001

"Driver"="C:\\WINDOWS\\system32\\myodbc5.dll"

"Setup"="C:\\WINDOWS\\system32\\myodbc5S.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers] "MySQL ODBC 5.1 Driver"="Installed"

2.把目标文件复制到目标计算机目录下并写my.ini配置文件(配置文件作用:写批处理文件时,从my.ini中读取目标文件路径,启动mysql服务)---我自己放在C盘的根目录下运行的

mysql数据库配置总结

mysql数据库配置总结

(目标文件目录结构如上图所示)

注意:在移植数据库时必须把目标文件Data文件夹下的

机下,否则,程序运行时不能访问数据库中的表。 文件一起移植至目标计算

关于MYSQL配置文件(my.ini)必须指定路径:basedir="C:\mysql"和datadir="C:\mysql\data",因为我目标文件放置在C盘根目录下,当然,如果怕与别的服务端口号服务有冲突,自己可以修改mysql服务启动时的端口号,但得注意不要用1-1024只之 1

间的端口号,它们一般是系统常用的端口号(我们一般只需要任意指定1025-65535之间任何一个端口号即可)。

如果想自己优化MYSQL运行速度,可以自己修改别的参数(系统默认的参数访问速度比较慢,因为它是按最低计算机系统硬件设置的参数,现在计算机配置应该都比较好了)。

3向注册表中写目标文件路径(写mysql目标文件路径.reg),注意一定要写MYSQL版本号 Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB\MySQL Server 5.1]

"Location"="C:\mysql\\"

"Version"="5.1.8"

4写执行my.ini配置文件时调用MYSQL目标文件的批处理文件(安装mysql服务.bat)

@ECHO OFF

"C:\mysql\bin\mysqld.exe" -install mysql --defaults-file="C:\mysql\my.ini"

net start mysql

写好“安装mysql服务.bat”后,双击,它会自动为操作系统添加mysql服务,检查mysql是否成功,可以进入“开始→设置→控制面板→管理工具→服务”,查看是否有mysql服务并启动,如果启动,说明成功,否则说明失败(很可能是配置文件问题,根据自己实际情况详细检查)

当然与此相对应的还有一个卸载MYSQL数据库的windows服务(卸载mysql服务.bat) @echo off

net stop mysql

"C:\mysql\bin\mysqld.exe" --remove mysql

5写自动配置ODBC数据源(vb)----暂时未写

具体代码请参考(/source/630601或者/onlineread/onlineread.asp?id=4689289&SID=C4AB7B6C 或者/htmls/576/131/ )

当然也可以手动配置(开始→设置→控制面板→管理工具→ODBC数据源),如果手动成功即可看见如下图所示(如果代码编写直接写进注册表中了):

mysql数据库配置总结

6.添加服务器端MYSQL访问端口3306(注意:3306端口是my.ini配置文件端口),否则客 2

户端程序不能访问服务器MYSQL数据库(开始→设置→控制面板→windows防火墙→例外选项卡→点击“添加端口”填写端口的名称和端口号,选择TCP协议,配置好如下图所示:)

mysql数据库配置总结

7给服务器端MYSQL数据库添加授权,方便局域网其它计算机访问服务器数据(这个步骤在数据库编辑器中实现,无法代码完成)

update user set host='%' where user='root'(改表法------解决远程登录) 允许用户名为“root”的远程机器连接

grant select,insert,update,delete on use_info to root@'%' Identified by '123456'

让局域网所有计算机只要是用户名为root,密码为“123456”的用户都可以访问use_info数据库该服务器数据(授权)----可以对该数据库进行增删改查操作。

grant all on *.* to root@"%" identified by "123456"

让局域网所有计算机用户名为root,密码为“123456”的用户都快可以对服务器上所有的数据库进行操作----增删改查。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION(授权法---解决用户远程登录)

表的授权(grant insert,delete,update,select on aa.t_aa to root)-------给root用户登录的aa数据库下的t_aa表授权增删改查授权

(Client)

1. 自动安装mysql驱动(我这是5.1的)

把myodbc5S.dll,myodbc5.dll,MSADODC.OCX,MSDATGRD.OCX和msstdfmt.dll复制到C:\WINDOWS\system32目录下,如果程序中涉及到数据绑定,需要对msstdfmt.dll进行手工注册,注册方法如下:在“运行”中输入“Regsvr32 c:\windows\system32\msstdfmt.dll”,然后回车,即可完成注册。最后运行“”,最后双击运行“ODBC Driver.reg”文件,即可自动安装mysql驱动。此时客户端其它计算机就可以成功访问服务器端(WCS)计算机的数据库。

Windows Registry Editor Version 5.00

3

[HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB\MySQL Connector/ODBC 5.1] "Version"="5.1.8"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver] "UsageCount"=dword:00000001

"Driver"="C:\\WINDOWS\\system32\\myodbc5.dll"

"Setup"="C:\\WINDOWS\\system32\\myodbc5S.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers] "MySQL ODBC 5.1 Driver"="Installed"

注意:客户端的MYSQL驱动程序版本必须同,服务器端相同才可访问,此例中我统一用的是MYSQL5.1的版本和驱动

4


第二篇:Mysql数据库的使用总结之ERROR 1146


在使用mysql数据库过程中,遇到了错误ERROR 1146 (42S02):Table doesn’t exist,经过了两天,终于解决了这个问题。引起该错误的原因不同,对应的解决方法也不同。这里只针对我的情况进行一下说明。可能写的比较乱,希望你慢慢看,下面是我整个从犯错误到解决问题的整个过程,有助于你更好的了解相关知识。

先说一下发生该错误的情形。我是将别人的数据库目录下的data文件夹直接复制过来的,里面有三个数据库mysql、test和backupctrl,主要想要backupctrl数据库,记住不是备份,是拷贝,而且backupctrl是使用innodb作为存储引擎的,这两方面综合起来就导致了1146这个错误。

因为要使用innodb做存储引擎,所以要对my.ini文件进行相应的修改。在my.ini文件中,你可以找到关于innodb的相关设置,但是被注释掉了。因为mysql5.1版本后,innodb不在作为默认的设置了。首先将skip-innodb注释掉,然后需要设置正确innodb的相关参数。

采用innodb存储引擎,关系到data文件夹下面的一些文件:ib_logfile0、ib_logfile1和ibdata1,另外还有一个就是数据库名下面的众多.frm文件。先对这几个文件作简要介绍。 ib_logfile0和ib_logfile1是关于数据库的一些日志文件;

.frm文件是数据库中很多的表的结构描述文件;

ibdata1文件时数据库的真实数据存放文件。

在将别人的data文件夹整个复制过来后,你到mysql目录下的bin文件夹下运行命令: mysql --console

此时,你会发现很多的错误提示,该命令就是对环境进行测试的。如果你不理会这些错误,进入数据库,用show tables;命令发现数据库表存在,但是执行select等操作就会出现1146:Table doesn’t exist这个错误了。

其实这是由ibdata1文件的错误引起的,这个应该在日志文件ib_logfile0和ib_logfile1中找到(这个本人没有验证),于是把ibdata1文件删除掉,再次执行该命令,发现没有提示错误了,但进入数据库以后,操作仍就导致1146这个错误。后来仔细一下,也是,你说你把ibdata1文件删除,相当于把数据库的真实数据删除了,这时你就会问为什么数据库表还存在呢,都能看到(其实我当初就是这么想的),因为数据库表结构的描述是在.frm的众多文件中的,所以能通过show tables;查看到。

那么下一个问题就出来了:ibdata1文件是从别人那里拷贝过来的,为什么在那边能用,到我这边就不能用了呢?这就是最核心的问题所在,因为mysql是采用缓冲方式来讲数据写入到ibdata1文件中的,这正是fflush()函数存在的理由。因此当别人的mysql在运行时,你对data文件夹进行拷贝,即对ibdata1进行拷贝肯定会导致该文件中的数据出错的(具体错误原因没有深入学习)。

知道了上面的问题,解决就简单多了,呵呵。首先,将别人的mysql服务停止(这个就不用说了吧,我的前两篇博文中有,你可以参考),然后在拷贝data文件夹,替换到你的相应目录下。这样,你再按照我的博文http://jazka.blog.51cto.com/809003/329423中介绍的方法对数据库进行操作就可以了。

网上查找解决办法时,发现也有不少人有这个问题,而按照停止服务再拷贝的方式还是不行(我刚开始也不行,不过后来就好了,怪了,不知道为什么)。所以这里再说一种方法。首先在自己的mysql下,建立一个你即将要拷贝的数据库(数据库名要一样,里面不需要建表),然后将所有的.frm文件拷贝到你建的数据库文件夹下,此时再次进入mysql,用show tables查看表是否已经建立起来了。然后停止你自己的mysql服务,发现在data文件下面已经有ib_logfile0、ib_logfile1和ibdata1三个文件了(免安装版解压后是没有

的),之后停掉别人的mysql服务,只将ibdata1文件拷贝过来进行覆盖,最后启动你自己的mysql服务就可以对数据库进行正常操作了。

更多相关推荐:
mysql语句总结

MYSQL命令大全常见的MySQL命令大全20xx11091759一连接MySQL格式mysqlh主机地址u用户名p用户密码1例1连接到本机上的MYSQL首先在打开DOS窗口然后进入目录mysqlbin再键入命...

mysql 自己总结的实用技巧

1安装mysql服务cdmysqlbin配置过环境变量的可以略过mysqldexeinstall默认服务名称是mysql或者mysqldexeinstallmysql5修改服务名称删除mysql服务mysqld...

mysql中常用命令总结

mysql中常用命令总结1mysqlhlocalhosturootptest22mysqlurootpadmin23status24showuser25mysql中的时间显示26mysql中查看数据库信息27查...

mysql总结

目录一怎样建立mysql服务1二关于mysql服务的其它常用命令61怎样去除服务62怎样启动服务及关闭服务7三mysql的一些常用命令71怎样连接mysql72怎样修改密码73怎样增加用户7四关于数据库方面的一...

MySql总结

MySql总结Mysql三大范式第一范式无重复的列第二范式主键唯一第三范式主键关联Mysql数据类型数据类型的概念数据类型是数据的属性可以决定数据的存储格式有效范围和相应的限制Mysql的数据类型主要包括整型浮...

mysql数据库学习总结

Mysql学习总结TDP说明124是基本的大家参考一下就行了对于3请大家多多研究一下提出意见和方法共同完善此文档以作为实验室学习的资料目录Mysql学习总结TDPMysql学习总结TDP1安装软件1安装mysq...

Mysql 优化技巧总结

MySQL自带slowlog的分析工具mysqldumpslow但是没有说明本文通过分析该脚本介绍了其用法slowlog是MySQL根据SQL语句的执行时间设定写入的一个文件用于分析执行较慢的语句只要在mycn...

mysql 5.0存储过程学习总结

mysql50存储过程学习总结一创建存储过程1基本语法createprocedurespnamebeginend2参数传递二调用存储过程1基本语法callspname注意存储过程名称后面必须加括号哪怕该存储过程...

MySql连接字符串总结

MySql连接字符串总结一MySQLConnectorODBC250MyODBC250连接方式1本地数据库连接以下是语法格式DrivermySQLServerlocalhostOption16834Databa...

关于mysql提权方法总结

关于mysql提权方法总结mysql是一种开放源代码的关系型数据库管理系统rdbmsmysql数据库系统使用最常用的数据库管理语言结构化查询语言sql进行数据库管理那么对于mysql提权的方法站长们是否了解呢专...

MySql常用命令总结

MySql常用命令总结MySQL常用操作基本操作以下都是MySQL50下测试通过首先说明下记住在每个命令结束时加上分号1导出整个数据库mysqldumpu用户名pdefaultcharactersetlatin...

最全mysql 常用命令总结.txt

Mysql常用命令showdatabases显示数据库createdatabasename创建数据库usedatabasename选择数据库dropdatabasename直接删除数据库不提醒showtable...

mysql总结(18篇)