Ubuntu下mysql安装与C++开发使用

1 安装Tutorial

http://wiki.ubuntu.org.cn/MySQL%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97

ubuntu安装完成之后,配置文件在/etc/mysql/my.conf下,修改以达到远程登录的目的等。

    常用操作:

           切换到有权限的用户, service mysql restart,重启服务


2 安装C/C++ Connector

具体是在几天前安装的,记得不他清楚了。

只要把对应的C/C++库安装上,即可使用。

注意一点是,只用CPPConnector,也要安装C的Connector,并在代码中连接C的Connector对应的lib-----libmysqlclient.a


3 数据库的连接池的使用

性能对比:土制连接池 v.s. 普通的连接创建/销毁

    使用连接池10次select操作耗时:3874107us

不使用连接池10次select操作耗时:24464196us


4 Waiting for table metadata lock 问题

由于后来数据库改用了连接池,以及加入了事务处理,将所有的连接池里的auto connection选项都置为false。

在服务器不停止的情况下,运行ALATER等DDL语言(MySQL四类语言之一DDL DML DCL TCL),会出现操作阻塞。

运行show processlist;可以看到

ALTER ×××× 操作的状态为Waiting for table metadata lock.

大概原因跟事物有关,由于连接长期不断,可能会占锁,再加上运行了DDL,所以导致阻塞。如果只是运行其它不需要锁的操作,应该没问题。

一些有用的操作:http://stackoverflow.com/questions/13148630/how-do-i-find-which-transaction-is-causing-a-waiting-for-table-metadata-lock-s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值