数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。
简单的说:创建数据库连接是一个很耗时的 *** 作,也容易对数据库造成安全隐患。所以,在程序初始化的时候,集中创建多个数据库连接,并把他们集中管理,供程序使用,可以保证较快的数据库读写速度,还更加安全可靠。
不使用数据库连接池
如果不使用数据库连接池,对于每一次SQL *** 作,都要走一遍下面完整的流程:
1TCP建立连接的三次握手(客户端与 MySQL服务器的连接基于TCP协议)
2MySQL认证的三次我收
3真正的SQL执行
4MySQL的关闭
5TCP的四次握手关闭
可以看出来,为了执行一条SQL,需要进行大量的初始化与关闭 *** 作
使用数据库连接池
如果使用数据库连接池,那么会 事先申请(初始化)好 相关的数据库连接,然后在之后的SQL *** 作中会复用这些数据库连接, *** 作结束之后数据库也不会断开连接,而是将数据库对象放回到数据库连接池中
资源重用:由于数据库连接得到重用,避免了频繁的创建、释放连接引起的性能开销,在减少系统消耗的基础上,另一方面也增进了系统运行环境的平稳性(减少内存碎片以及数据库临时进程/线程的数量)。
更快的系统响应速度:数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于池中备用。 此时连接的初始化工作均已完成。对于业务请求处理而言,直接利用现有可用连接,避免了从数据库连接初始化和释放过程的开销,从而缩减了系统整体响应时间。
统一的连接管理,避免数据库连接泄露:在较为完备的数据库连接池实现中,可根据预先的连接占用超时设定,强制收回被占用连接。从而避免了常规数据库连接 *** 作中可能出现的资源泄露。
如果说你的服务器CPU是4核i7的,连接池大小应该为((42)+1)=9
相关视频推荐
90分钟搞懂数据库连接池技术|linux后台开发
《tcp/ip详解卷一》: 150行代码拉开协议栈实现的篇章
学习地址:C/C++Linux服务器开发/后台架构师零声教育-学习视频教程-腾讯课堂
需要C/C++ Linux服务器架构师学习资料加qun 812855908 获取(资料包括 C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg 等),免费分享
源码下载
下载方式:>
此方法适合 *** 作MSSQL2000
使用此方式的条件
(1)自己电脑安装MSSQL2000数据库
(2)您的网站和数据库在自己电脑调试成功
此方法是将远程服务器中的数据库备份到本地电脑的数据库或是将本地电脑数据库还原到远程服务器的数据库
(以下将重点讲解如何把本地数据库还原到远程服务器的数据库,备份的方式和还原类似不再讲解)
1连接上远程数据库服务器:a:打开自己电脑的MSSQL企业管理器--找到SQLServer组--点击右键--新建SQLServer注册(I)--下一步--在可用的服务器下输入数据库的IP地址如19216801点击添加和下一步---点击系统管理员给我分配的SQLSERVER登陆信息和下一步--在登陆名内输入数据库名,在密码内输入数据库密码点击下一步--继续点击下一步直到完成这样就和远程的数据库建立了连接2把本地数据库导入到远程数据库:打开刚建立的数据库服务器如19216801--点开数据库--找到自己的数据库名---右键---所有任务里的导入数据---下一步--到了选择数据源页---服务器中默认local点使用SQLServer身份验证,用户名输入sa密码输入您电脑数据库的sa密码,数据库选择你要导入到远程数据库的原始数据库名,然后下一步---到了选择目的画面服务器选择您远程数据库的IP比如19216801--点使用SQLServer身份验证,用户名中输入您在我们公司开通的数据库名,密码中写上对应的数据库密码,数据库中选择您在本站开通的数据库,然后下一步---点在SQLServer数据库之间复制对象和数据,下一步--到了选择要复制的对象画面,把使用默认选项前面的勾去掉,然后点击右边的选项,把安全措施选项中的3个选择前的勾全部去掉,然后确定,下一步--到了保存、调度和复制包画面,把立即运行前保证打上勾(选择上)--然后默认下一步直到完成,本地电脑的数据库将自动复制到远程数据库。
可以在电脑安装一个MySQL数据库,MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。
下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下!打开下载的mysql安装文件mysql-5027-win32zip,双击解压缩,运行“setupexe”,出现如下界面
mysql安装图文教程1
mysql安装向导启动,按“Next”继续
mysql图文安装教程2
选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程:
mysql图文安装教程3
在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation(文档)”也如此 *** 作,以保证安装所有文件。点选“Change”,手动指定安装目录。
mysql图文安装教程4
填上安装目录,我的是“F:\Server\MySQL\MySQL Server 50”,也建议不要放在与 *** 作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。按“OK”继续。
mysql图文安装教程5
返回刚才的界面,按“Next”继续
mysql图文安装教程6
确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装。
mysql图文安装教程7
正在安装中,请稍候,直到出现下面的界面
mysql图文安装教程8
这里是询问你是否要注册一个mysqlcom的账号,或是使用已有的账号登陆mysqlcom,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。
mysql图文安装教程9
现在软件安装完成了,出现上面的界面,这里有一个很好的功能,mysql配置向导,不用向以前一样,自己手动乱七八糟的配置myini了,将 “Configure the Mysql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。
mysql图文安装教程10
mysql配置向导启动界面,按“Next”继续
mysql图文安装教程11
选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。
mysql图文安装教程12
选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满。
mysql图文安装教程13
选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,我这里选择“Transactional Database Only”,按“Next”继续。
mysql图文安装教程14
对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用用默认位置,直接按“Next”继续
mysql图文安装教程15
选择您的网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续
mysql图文安装教程16
是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。按“Next”继续
mysql图文安装教程17
西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字——使用mysql的时候,在执行数据 *** 作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按 “Next”继续。
mysql图文安装教程18
选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysqlexe -uusername -ppassword;”就可以了,不用指出mysqlexe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysqlexe -uusername -ppassword;”就可以了,不用指出mysqlexe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。
mysql图文安装教程19
这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。 “Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能 *** 作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。
mysql图文安装教程20
确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置生效。
设置完毕,按“Finish”结束mysql的安装与配置——这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的 *** 作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。
开传奇 你要准备好的东西 1传奇版本(就是游戏服务端) 2传奇数据库(DBC2000) 网上可以下载 3传奇客户端(热血传奇) 会玩传奇的都知道 4 传奇登陆器 这个就不用我在介绍了 好 这几个东西都准备好了 现在我们就开始来安装(传奇数据库) 安装(数据库)你就是一直点 点到它安装完成就可以了 中途不用修改什么 安装好后我们就来设置 首先把你的 (游戏服务端)解压缩到D盘 在次我们来设置数据库 在控制面版找到BDE ADMINISTRATOR 双击打开 先不要管里面是什么啦,按ctrl+N d出个对话框 如果是STANDARD 直接点OK,然后在左边找到你创建的STANDARD(左边显示的是STANDARD1)改名字为HeroDB,然后点下他看右边拦把那个路径也就是PATH:改成你装的传奇服务端路径,例如我把传奇装到D盘(mirserver在D盘目录下)那么我应该设置D:\mirserver\Mud2\DB 是其他盘就是E:\mirserver\Mud2\DB 就这么简单别想那么多了,然后点下被你改名的HeroDB 然后按ctrl+A d出个对话框 点OK就可以了,然后放心关闭不用管这个DBC2000了(万一控制面版找不到BDE ADMINISTRATORS 你来找我,帮你解决) 好(数据库)安装好后我们来设置(服务端) (服务端)解压缩出来的是一个叫(Mirserver)的文件 首先是设置好IP地址,(127001) 是单机IP地址(也就是在没有连网的情况下开传奇就使用这个IP了) 如果你是在网吧 那你要找到你在网吧上网的机子的IP(不是网吧的服务器,是你在网吧上网时的机子,) 这样的话网吧的机子是属于局域网 一般局域网的IP地址是 (19216800)的 一定是192168 开头的 我门先来开单机传奇吧,就是把所有要设置的IP全改为127001 这个比较简单 打开Mirserver找到 Configini 文本文档设置成 GameName=GMKONT 这是你开传奇的传奇名字 (你想改成什么就什么,前提是全部要改) ExtIPaddr=127001 这个就是本机的IP地址了 (就是开单机传奇用的IP地址只能一个人玩) GateAddr=127001 GatePort=5500 这个是游戏服务器的端口 (一般不需要改动) ServerAddr=127001 ServerPort=5600 MonAddr=127001 MonPort=3000 GetStart=1 (1) 打开 DBServer 文件夹下的 !addrtabletxt 打开把IP设置成 127001 127001 !serverinfotxt 打开设置成 127001 127001 7200 127001 7300 127001 7400 详细点说了 (127001是IP 7200 7300 7400 是游戏端口,就改IP端口不要改) Dbsrcini 打开 设置成 [Reg] Key=0123456789 IP=127001 ServerAddr=127001 ServerPort=63300 [Setup] ServerName=GMKONT ServerAddr=127001 ServerPort=6000 GateAddr=127001 GatePort=5100 IDSAddr=127001 (2) 打开 LoginGate 文件夹 下的Configini 文本文档 设置成 Title=GMKONT ServerAddr=127001 ServerPort=5500 GateAddr=127001 GatePort=7000 (3) 打开 LoginSrv 文件夹下的 !addrtabletxt 文本文档设置成 GMKONT Title1 127001 127001 127001:7100 !serveraddrtxt 文本文档 设置成 127001 Logsrvini 文本文档 设置成 [Server] ReadyServers=0 EnableMakingID=1 EnableTrial=FALSE TestServer=1 GateAddr=127001 GatePort=5500 ServerAddr=127001 ServerPort=5600 MonAddr=127001 MonPort=3000 DynamicIPMode=0 EnableGetbackPassword=1 AutoClear=0 AutoClearTime=1000 DBServer=127001 FeeServer=127001 LogServer=127001 DBSPort=16300 FeePort=16301 LogPort=16301 AdminName= DisableNumber=0 ServerName=GMKONT (4) 打开 LogServer 文件夹下的 LogDataini文本文档设置成 [Setup] ServerName=GMKONT Port=10000 BaseDir=D:\MirServer\LogServer\BaseDir\ (5) 打开 MIR200 文件夹下的 !runaddrtxt文本文档设置成 127001 !Servertabletxt 文本文档设置成 127001 !Setuptxt 文本文档设置成 [Reg] Key=0123456789 IP=127001 ServerAddr=127001 ServerPort=63000 SerialNumber=185957 SerialPassWord=158835 [Server] ServerIndex=0 ServerName=GMKONT ServerNumber=0 VentureServer=FALSE TestServer=TRUE TestLevel=20000 TestGold=5000000 TestServerUserLimit=2000 ServiceMode=FALSE NonPKServer=FALSE DBAddr=127001 DBPort=6000 IDSAddr=127001 IDSPort=5600 MsgSrvAddr=127001 MsgSrvPort=4900 LogServerAddr=127001 GateAddr=127001 Configini 文本文档设置成 GameName=GMKONT ExtIPaddr=127001 RegServerAddr=127001 RegServerAddr=127001 RegServerAddr=127001 GateAddr=127001 ServerAddr=127001 MonAddr=127001 ServerAddr=127001 GameListtxt文本文档设置成 GMKONT|127001|7000|MirClientdat| (6)打开 RunGate 文件夹下的 Configini文本文档设置成 [RunGate] Title=GMKONT GateAddr=127001 GatePort=7500 ServerAddr=127001 RunGateini文本文档设置成 [server] Title=GMKONT(7200) GatePort=7203 ServerPort=5000 index=0 Server1=127001 Server2=127001 Server3=127001 ListenAddr=127001 GateAddr=127001 ServerAddr=127001 (7) D:\Mirserver\SelGate文件夹 下的 Configini文本文档设置成 [SelGate] Title=GMKONT ServerAddr=127001 ServerPort=5100 GateAddr=127001 OK iP地址大功告成,(如果你设置正确)出现任何黑屏和进不了创建人物界面,绝对不是IP地址设置问题,不要考虑IP问题 好了七个文件夹的IP我们都设置好了,现在我们来看下传奇服务器是否能正常开启了 传奇服务端七个要开启的服务端文件 (换句话说:你要开传奇服务器,就要开这7个服务端文件) 打开Mirserver 文件夹下有个 GameCenterexe 这是游戏控制器 点启动游戏 它会自己开启传奇服务器的七个程序 开启好了之后 你找个传奇登入器 添加你的传奇名字 如 GMKONT IP 127001 进下游戏看 呵呵 如果它不开门那是有个地方我们还没设置 现在把Mirserver\LoginSrv目录下面Logsrvini文件,打开,找到DynamicIPMode=0把它设置成DynamicIPMode=1即可 大部分人进内网传奇开不了门就是这个原因 (这是传奇开内网会遇到的情况) 我们也可以手动启动传奇服务器 第一个 M2serve rexe 服务器主控制端(在mirserver\MIR200文件架下找) 第二个 DBserverexe 游戏数据库服务器 (在mirserver\DBserver文件架下找) 第三个 logingateexe 登陆网关 (在mirserver\logingate文件架下找) 第四个 LoginSrvexe 登陆服务器 (在mirserver\loginSRV文件架下找) 第五个 LogDataServerexe 日志服务器 (在mirserver\LogServer文件架下找) 第六个 RunGateexe 登陆验证 (在mirserver\RunGate文件架下找) 第七个 SelGateexe 选择人物网关 (在mirserver\RunGate文件架下找) 好了 传奇内网 和 外网的开启方法也和开单机是一样的饿 如果你的机子连了网 你的机子就会有个IP地址 在传奇服务器里 把IP全换成你上网用的IP就可以了 详细请参考 >第一步:安装MySQL客户端当然你得确保MySQL客户端已经安装完毕。如果没有的话,可以按照下面的方法。
在Debian,Ubuntu 或者 Linux Mint上:
$ sudo apt-get install mysql-client
$ sudo apt-get install mysql
第二步:登陆到MySQL服务器
首先,你需要使用root用户登陆进你的MySQL数据库,如下:
$ mysql -u root -h -p
请注意:为了能登进远程的MySQL服务器,你需要开启服务器上的远程访问,如果你想调用同一主机上的MySQL服务器,你可以省略 "-h " 参数
$ mysql -u root -p
你将需要输入MySQL服务器的密码,如果认证成功,MySQL提示将会出现。
第三步:创建一个MySQL数据库
在MySQL提示中输入命令之前,请记住所有的命令都是以分号结束的(否则将不会执行)。另外,考虑输入命令的时候使用大些字母,输入数据库对象使用小写字母。但那不是必须的,只是方便的阅读。
现在,创建一个叫做xmodulo_DB的数据库:
mysql> CREATE DATABASE IF NOT EXISTS xmodulo_DB;
第四步:创建一个数据库表
为了达到演示的目的,创建一个叫做posts_tbl的表,表里会存储关于文章的如下信息:
文章的标题
作者的名字
作者的姓
文章可用或者不可用
文章创建的日期
这个过程分两步执行:
首先,选择需要使用的数据库:
mysql> USE xmodulo_DB;
然后,在数据库中创建新表:
mysql> CREATE TABLE 'posts_tbl' (
'post_id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'content' TEXT,
'author_FirstName' VARCHAR(100) NOT NULL,
'author_LastName' VARCHAR(50) DEFAULT NULL ,
'isEnabled' TINYINT(1) NOT NULL DEFAULT 1,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( 'post_id' )
TYPE = MYISAM;
第五步:创建一个用户,并授予权限
当涉及到访问新创的数据库和表的时候,创建一个新用户是一个很好的主意。这样做就可以让用户在没有整个MySQL服务器权限的情况下,去访问那个数据库(而且只能是那个数据库)
你可以创建新用户,授予权限,并且使改变生效:
mysql> GRANT ALL PRIVILEGES ON xmodulo_DB TO 'new_user'@'%' IDENTIFIED BY 'new_password';
mysql> FLUSH PRIVILEGES;
'newuser'和'newpassword'分别指的是新的用户名和他的密码。这条信息将会被保存在mysqluser表中,而且密码会被加密。
第六步:测试
先插入一个虚拟的记录到posts_tbl表:
mysql> USE xmodulo_DB;
mysql> INSERT INTO posts_tbl (content, author_FirstName, author_Las tName)
VALUES ('Hi! This is some dummy text', 'Gabriel', 'Canepa');
然后查看posts_tbl表中的所有记录:
mysql> SELECT FROM posts_tbl;
注意:MySQL会在先前定义的地方自动插入适当的默认值(比如,'isEnabled'和'date')。1、首先在 SQL Server 2008中选择单击Microsoft SQL Server 2008 Management Studio,会出现一个窗口。
2、在服务器名称中选择本机的服务器名字。然后单击连接按钮。就进入Microsoft SQL Server 2008 Management Studio。
3、右键单击数据库,选择新建数据库,会出来一个窗口,在这个窗口里可以输入你要建的数据库的名称,同时也可以修改数据库的文件类型。
4、数据库的名称和类型都弄好后,点击下方的确定 按钮。数据库就建立了。
5、要是想删除自己不想要的数据库也很简单。鼠标右键点击自己不想要的数据库,然后选择删除 ,那么该数据库就删除了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)