mysql小计

1.

在windows下,安装完mysql后,建议把数据目录(data目录)移动到非系统目录,避免系统出问题的时候还原。

  • 在d盘创建一个mysqldata
  • 给新文件增加权限NetworkService
  • 把data下的数据全拷贝过去
  • 修改my.ini中的选项 datadir=D:\mysqldata(注意,要\,使用/可能启动失败)
  • 重启服务或是直接重启系统

2.

mysql connect c++安装要与我们的应用对应,应用是32位,connect就要是32位的,与数据库是32还是64无关

3.

mysql connect c++在使用的时候sqlstring与string不兼容,有问题崩溃,是因为mysql官网编译的代码是c/c++->code generation->runtime library->/MD,如果不是这个,那么就不能通用,会报错,把自己的工程改成这个一样。

如果更改自己工程太麻烦,可以获取源码自行编译。不过windows下编译非常麻烦。

4.

使用mysql c++ connector需要boost库
c/c++->General->Additional Include Directories添加
boost
c:/program files (x86)/MySQL/MySQL Connector C++ 1.1.9/include

Linker->General->Additional Library Directories添加
c:/program files (x86)/mysql/mysql connector c++ 1.1.9/lib/opt

linker->input->additional dependencies添加
mysqlcppconn.lib

5.

使用mysql c++ connector需要引用下面的头文件

#include "mysql_connection.h"
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>

6.

linux下编译mysql connector报错
CMAKE_CXX_COMPILER
是因为没有安装gcc-c++

7.

cmake . -DBOOST_ROOT=/mnt/dbbackup/boost_1_65_1
指定boost目录,必须是绝对路径

8.

试用mysql connector c++的时候,工程的debug和release要与对应的dll和lib对应,不然,string使用会报错

9.

根据mysql
官网编译生成c++ connector工程,然后编译出release和debug版本,对应的cmake等工具,可以在visual
studio安装目录下查找,编译的时候要把对应的lib放进去,这样的好处就是可以直接使用dll中的函数,不用查找函数名字,在使用的目录要把对应的dll放过去

10.

数据库中,默认的连接编码是无bom的utf8,编码指定的utf8是有bom的utf8编码,mysql的workbentch默认是使用无bom的utf8

11.

show  full  processlist
查看现在的数据库连接动态
kill 2222
杀掉一个进程

12.

innodb_flush_log_at_trx_commit = 2  
# 0:如果innodb_flush_log_at_trx_commit的值为0,log buffer每秒就会被刷写日志文件到磁盘,提交事务的时候不做任何操作(执行是由mysql的master thread线程来执行的。  
# 主线程中每秒会将重做日志缓冲写入磁盘的重做日志文件(REDO LOG)中。不论事务是否已经提交)默认的日志文件是ib_logfile0,ib_logfile1  
# 1:当设为默认值1的时候,每次提交事务的时候,都会将log buffer刷写到日志。  
# 2:如果设为2,每次提交事务都会写日志,但并不会执行刷的操作。每秒定时会刷到日志文件。要注意的是,并不能保证100%每秒一定都会刷到磁盘,这要取决于进程的调度。  
# 每次事务提交的时候将数据写入事务日志,而这里的写入仅是调用了文件系统的写入操作,而文件系统是有 缓存的,所以这个写入并不能保证数据已经写入到物理磁盘  
# 默认值1是为了保证完整的ACID。当然,你可以将这个配置项设为1以外的值来换取更高的性能,但是在系统崩溃的时候,你将会丢失1秒的数据。  
# 设为0的话,mysqld进程崩溃的时候,就会丢失最后1秒的事务。设为2,只有在操作系统崩溃或者断电的时候才会丢失最后1秒的数据。InnoDB在做恢复的时候会忽略这个值。  
# 总结  
# 设为1当然是最安全的,但性能页是最差的(相对其他两个参数而言,但不是不能接受)。如果对数据一致性和完整性要求不高,完全可以设为2,如果只最求性能,例如高并发写的日志服务器,设为0来获得更高性能

13.

max_allowed_packet = 16M #服务器发送和接受的最大包长度

14.

mysql安装完成后,这个设置的非常小,默认好象是8M,会导致数据库读写多的时候,磁盘操作太多,而卡顿整个系统。所以这里需要设置的大一些,这个是mysql做服务端时必须修改的一个参数

innodb_buffer_pool_size = 64M  
# InnoDB使用一个缓冲池来保存索引和原始数据, 不像MyISAM.  
# 这里你设置越大,你在存取表里面数据时所需要的磁盘I/O越少.  
# 在一个独立使用的数据库服务器上,你可以设置这个变量到服务器物理内存大小的80%  
# 不要设置过大,否则,由于物理内存的竞争可能导致操作系统的换页颠簸.  
# 注意在32位系统上你每个进程可能被限制在 2-3.5G 用户层面内存限制,  
# 所以不要设置的太高.

15.

linux编译使用mysql connector

backupexe: backup.o
        g++ -o backupexe backup.o -I/usr/local/include -I/usr/local/include/cppconn -Wl,-Bdynamic -lmysqlcppconn
backup.o : backup.cpp
        g++ -c backup.cpp -I/usr/local/include -I/usr/local/include/cppconn -Wl,-Bdynamic -lmysqlcppconn
clean:
        rm backup.o backupexe

16.

SELECT CONCAT( ‘ALTER TABLE ‘ ,TABLE_NAME ,‘ ENGINE=INNODB, ROW_FORMAT=DYNAMIC; ‘) as `sql-commands-for-convert-engine`
    FROM information_schema.TABLES AS t
    WHERE TABLE_SCHEMA = ‘db_log‘ and TABLE_TYPE = ‘BASE TABLE‘;
    批量显示对应数据库db_log下所有表的执行语句

17.

show status like ‘Threads%‘;

Threads_cached    5  (当前线程缓存中有多少空闲线程)
Threads_connected    127 (当前连接的线程)
Threads_created    7295 (从数据库启动,已经创建过的线程)
Threads_running    1 (当前活动线程)

18.

show variables like ‘%max_connections%‘;

查看最大连接数,默认是100多,服务端安装完最好修改

19.

ALTER TABLE `dbname`.`tablename`
MODIFY COLUMN `userid` int(11) UNIQUE

设置为唯一值,并且允许为空,如果为空,不计算在约束内,就是可以多个为空

20.

原文地址:https://www.cnblogs.com/studywithallofyou/p/11351344.html

时间: 2024-08-29 18:04:13

mysql小计的相关文章

CENTOS编译安装Mysql小计

最近申请了一台云主机,准备在云主机安装数据库mysql用. 将安装过程记录一下. 1.安装mysql之前需要确保系统中有libaio依赖,使用如下命令: yum search libaio yum install libaio 进入centos终端操作界面,使用wget命令下载mysql5.7 64位安装文件: wget -c https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

汽车仪表是如何计算总计里程和小计里程的?

现在汽车仪表大部分的总计里程和小计里程都是显示在屏幕上的,这包括段码屏.点阵屏.TFT彩屏等,虽然显示形式不一样,但是从业务需求和软件应用层的实现策略来讲,原理应该都是通用的.本文不涉及具体车型,仅对一般的业务逻辑作介绍,一是为了自己总结记录,二是期望吸引同行或爱好者交流. 1.总计里程 ODO(Total Odometer )即总计里程,顾名思义,主要作用是记录汽车总的行驶里程,一般来讲,在用户使用过程中是无法对其修改或清零的,因为它是对二手汽车价值评估的一项重要数值,当然随意篡改这一数据也是

traits技法小计

在学习算法导论的时候,对于各数据结构,自然是实现一个才算掌握,工具当然是template编程,但是自己的demo经常存在很多问题,比如没有给出迭代器啊,操作符重载不够啊等等设计上的问题,而某些问题实际上是从设计之初就该考虑的大框架,而非小细节.对于C++而言,STL无疑是最佳的参考资料,侯捷先生的STL源码剖析一书给我们良好的示范,而直接从第四章开始看会云里雾里,无法得其精髓,因此在学习算法之余决定尾随侯捷先生脚步,学习STL traits技法,从而可以从STL中学到更多的数据结构实现. 收获自

设计模式小计——23种设计模式3

责任链模式Chain of Responsibility 使多个对象都有机会处理请求,从而避免请求的发送者和接受者间的耦合关系,并沿着这条链传递请求,直到有对象处理它为止 责任链模式关键是建立链接关系,在链中决定谁来处理请求 //抽象处理者 public abstract class Handle{ private Handle nextHandle;//链的下一个节点 public final Response handleMessage(Request request){ Response

设计模式小计——23种设计模式1

单例模式Singleton Pattern 确保类只有一个实例,而且自行实例化并向整个系统提供这个实例 public class Singleton{ private static final Singleton singleton = new Singleton(); private Singleton(){} public static Singleton getSingleton(){ return singleton; } } 节省内存开支,减少性能开销,应用启动产生单例对象,永久驻留内

设计模式小计——23种设计模式2

模板方法模式Template Method Pattern 定义一个操作的算法的框架,是的子类可以不改变算法结构即可重定义该算法一些特定步骤 public abstract class AbstractClass{//抽象模板类 protected abstract void method1();//算法步骤1 protected abstract void method2();//算法步骤2 public void templateMethod(){//模板方法,定义算法结构 this.met

Sql使用WITH ROLLUP 进行分类汇总及小计功能

效果如下: 测试代码如下: CREATE TABLE #test    (      Name VARCHAR(10) ,      [procedure] CHAR(1) ,      model VARCHAR(5) ,      quantity INT    ); INSERT  INTO #test        SELECT  'A' ,                '1' ,                'φ50' ,                500        UNI

RandomStrngUtils工具类小计

//产生5位长度的随机字符串,中文环境下是乱码 RandomStringUtils.random(5); //使用指定的字符生成5位长度的随机字符串 RandomStringUtils.random(5, new char[]{'a','b','c','d','e','f', '1', '2', '3'}); //生成指定长度的字母和数字的随机组合字符串 RandomStringUtils.randomAlphanumeric(5); //生成随机数字字符串 RandomStringUtils.

c++11小计

[capture] (parameters) mutable -> return-type { statement } " (parameters)" 和 "-> return-type"在不需要的情况下可省略. mutable:mutable修饰符.默认情况下,lambda函数总是一个const函数,mutable可以取消常量性.在使用该修饰符时,参数列表不可省略(即使为空). 在使用lambda函数的时候,如果需要捕捉的值成为lambda函数的常量,