mysql

  • coneoconeo/blog· 5 年前 mysql

    前段时间在做一个C++的mysql的api封装,对于接口使用上来说,一直没有找到一种比较合适的方案。后来看了下C#的sql访问接口,发现还不错,遂实现了一个简易版的sql接口集合。

    先说说C#的sql访问接口

    C#是采用了面向对象的方式来实现sql访问接口的,使用起来相当的方便,先说说几个重要的对象:

    1. SqlConnection:每一个对数据库的连接都封装在SqlConnection中,执行sql之前必须先保证已连接数据库;
    2. SqlCommand:把查询语句封装在SqlCommand中,在执行语句的时候主要有两种执行方式:ExecuteReader和ExecuteNonQuery,他们之间的
  • 经常吹嘘自己玩过各种数据库. redis, mysql, sqlite, mongodb..常用数据库都不在话下,不料今天却在远程连接mysql上栽了跟头,于是记一下这个教训

    mysql默认是不开启远程连接的,要让mysql支持远程连接需要两个步骤

    第一步

    首先是打开/etc/mysql/my.cnf, 如果发现自己的mysql配置文件不是这个路径,强烈建议重装mysql(我就是因为装的mysql和别人不一样才鼓捣很久), 重装失败可以后面详解

    bind-address = 127.0.0.1那一行配置改为bind-address = 0.0.0.0

    bind-address表示监听时绑定

  • ORDER BY convert(name using gbk) ASC
  • 介绍
    本章主要介绍怎样对比数据库的表结构的差异,这里主要介绍使用mysqldiff工具来对比表结构的差异,其实在5.6版本之后通过查询information库中的系统表也能对比出来,但是mysqldiff还有一个好处就是可以直接生产差异的SQL语句这个功能就是我们需要利用的,而通过分析系统表要实现这个就比较难;接下来就来看看怎样使用这个工具。

    语法

    mysqldiff --server1=user:pass@host:port:socket --server2=user:pass@host:port:socket db1.object1:db2.object1 db3:db4
    这个语法有两个用

  • 2个解决方法:

    1.临时修改:mysql>set global max_allowed_packet=524288000;修改 #512M

    2.修改my.cnf,需重启mysql。

    在 [MySQLd] 部分添加一句(如果存在,调整其值就可以): max_allowed_packet=10M