随笔分类 - MySQL
C++读取mysql中utf8mb4编码表数据乱码问题及UTF8转GBK编码
摘要:数据库编码为utf8,但是由于某些表的一些字段存储了emoji字符,表采用了utf8mb4编码,默认情况下在C++代码中读出的中文字段值都变成了乱码。 解决方法为,在进行数据库查询前,在C++中执行一下“set names utf8”,例如在我的程序里执行下面的语句即可: 读出数据后,将字符转为本地
阅读全文
MySQL数据库导入错误:ERROR 1064 (42000) 和 ERROR at line xx: Unknown command '\Z'.
摘要:使用mysqldump命令导出数据:D:\Program Files\MySQL\MySQL Server 5.6\bin>mysqldump -hlocalhost -uroot -proot sinaweibo >D:\dev\mysql_bkp\sinaweibo.sql将数据导入回数据库:D...
阅读全文
新浪微博POI点签到数据及可视化的初步成果
摘要:目前仅对山东省区域进行了抓取,权限不够高,抓取的速度非常慢,所以导致效率比较低。。。数据抓取采用调用微博开放平台API的方法,数据存储采用mysql,格点数据分辨率为30″,山东省的MBR范围内(包含河北、河南、江苏部分区域)的POI点约为73w个,总签到次数超过835w次。基本与预想结果一致,期待...
阅读全文
CUDA(5.5)与MySQL 5.6的rint函数定义冲突引起的VS编译器C2264错误
摘要:向CUDA project中添加了如下的包含目录后:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include;..\include_p;..\include_p\gdal;..\include_p\mysql;..\include;..\include_cg;$(IncludePath)在main.cu中添加如下包含文件:#include #include #include #include #include #include #include "cuda_helloworld_kernel.cu"#in
阅读全文
C API向MySQL插入批量数据的快速方法——关于mysql_autocommit
摘要:MySQL默认的数据提交操作模式是自动提交模式(autocommit)。这就表示除非显式地开始一个事务,否则每个查询都被当做一个单独的事务自动执行。我们可以通过设置autocommit的值改变是否是自动提交autocommit模式。查询当前数据库事务提交方式的命令为:mysql> show va...
阅读全文
The "max_connections" variable of MySQL
摘要:今天在测试一个MPI程序时出现一个比较奇怪的现象,当启动小于100个左右的进程时,程序运行正常,能够得到正确的结果,但是当启动的进程数量超过120时,就会出现大量的任务失败现象。该MPI程序的各个子进程间需要并发的从MySQL数据库读取数据,抽回到各自的计算节点进行计算,最后再并发的写回MySQL数据库。反复检查了程序代码,并没有发现什么异常,但是根据程序打出log分析,所有的失败任务都是因为打开数据库连接失败,由此想到应该是过多的数据库连接超过了数据库的并发处理限制或者能力所导致。检查mysql的最大连接数限制:show variables like "max_connection
阅读全文
MySQL: Got error 28 from storage engine
摘要:连接数据库失败,但是mysql服务还在运行,df查看数据服务器磁盘使用情况发现/tmp和/var/tmp使用率均已经达到100%。原来是配置了master-slave备份模式的mysql日志文件已经把磁盘填满了,汗。。。参照此处配置:http://hi.baidu.com/luanxian/item/5a68cf0968b9c131a3332a96
阅读全文
max tablename length limit in MySQL is 64
摘要:MySQL5.0.xx官方说明
阅读全文
mysql操作数字名称的schema时字符的逃逸问题
摘要:一个简单的问题折腾了好大一会儿,mysql不支持直接操作数字名称的schema,在sql操作时必须做字符逃逸,如:char sql_str[1000];memset(sql_str, 0x0, 1000);sprintf(sql_str, "CREATE TABLE IF NOT EXIST `%s`.`%s`(data_id INT(1), remark VARCHAR(256)) ENGINE MyISAM", schemaName, tableName);
阅读全文
VS2010环境与OpenMP远程多线程访问MySQL数据库的限制和困惑
摘要:标准C++代码,打开OpenMP编译选项得到debug/release版本的可执行程序A.exe,A.exe是一个socket监听服务,监听端口port的请求。A接收到请求会创建一个新的线程t去调用B.dll中的算法完成计算任务,并返回线程t的执行时间。B.dll中会有查询MySQL数据的操作,查询分为2种类型:批量查询和单个查询。线程t会执行部分OpenMP代码,OpenMP for循环代码部分包含了向mysql数据库查询单个数据的语句。批量查询得到的数据放在内存中,因此可以被线程t所启动的多个OpenMP线程(我是4核8线程的i7CPU,一般我设置启动8个OpenMP线程,正常情况下...
阅读全文
mysql master-slave replication模式下slave数据库不同步的解决办法
摘要:可能是有人在我们集群的一个slave节点上对备份数据库单独做了写操作,导致该slave节点数据库与master不同步:mysql>show slave status; 显示:Slave_SQL_Running状态为No,由于一直没有记录数据库的相关日志,二进制的备份文件和位置也搞得稀里糊涂,干脆直接干掉这个节点的备份,重新配置。过程:1. 锁定master表为只读:#锁定master数据库表MYSQL>FLUSH TABLES WITH READ LOCK;2. 导出要备份的数据库:[user@gisnode-1 ~]$ mysqldump -u myuser -p gisdb&g
阅读全文
fedora下配置mysql服务开机自动启动
摘要:sudo chkconfig --level 345 mysqld onsudo chkconfig --level 345 sshd onsudo chkconfig --level 345 iptables off
阅读全文
解决mysql无法远程登陆问题
摘要:默认情况下mysql禁止远程登陆,打开方法:vi /etc/my.cnf在[mysqld]节下添加:skip-name-resolve重启mysql服务即可。
阅读全文
mysql max_allowed_packet 设置过小导致记录写入失败
摘要:mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。查看目前配置show VARIABLES like '%max_allowed_packet%';显示的结果为:+--------------------+---------+| Variable_name | Value |+--------------------+---------+| max_allowed_packet | 1048576 |+--------------------+---------+ 以上说明目前
阅读全文
几个常用的mysql命令
摘要:1、远程导出数据:mysqldump -h 192.168.49.36 -u myuser -p test>test.sql2、为没有密码的root用户新增密码:以root用户登录:mysql -u root -pupdate mysql.user set password=PASSWORD('root') where User='root';flush privileges;\q3、向mysql导入数据库:新建一个数据库mysql>create database testdb;use testdb;mysql>source test.sql;
阅读全文