1.MySQL çåå²
2.海豚MQTT-Mosquitto(1)
MySQL çåå²
MySQLçæµ·è±æ å¿çååå«âsakilaâï¼å®æ¯ç±MySQL ABçåå§äººä»ç¨æ·å¨âæµ·è±å½åâçç«èµä¸å»ºè®®ç大éçåå表ä¸éåºçãè·èçååæ¯ç±æ¥èªéæ´²æ¯å¨å£«å °çå¼æºè½¯ä»¶å¼åè Ambrose Twebazeæä¾ãæ ¹æ®Ambroseæ说ï¼Sakilaæ¥èªä¸ç§å«SiSwatiçæ¯å¨å£«å °æ¹è¨ï¼ä¹æ¯å¨Ambroseç家乡ä¹å¹²è¾¾éè¿çå¦æ¡å°¼äºçArushaçä¸ä¸ªå°éçååã
äº.MySQL åå±
MySQLçåå²ææ©å¯ä»¥è¿½æº¯å°å¹´ï¼æä¸ä¸ªäººå«Monty Widenius,源码海豚 为ä¸ä¸ªå«TcXçå°å ¬å¸æå·¥ï¼å¹¶ç¨BASIC设计äºä¸ä¸ªæ¥è¡¨å·¥å ·ï¼å¯ä»¥å¨4M主é¢åKBå å¨ç计ç®æºä¸è¿è¡ãè¿äºä¸ä¹ ï¼åå°æ¤å·¥å ·ï¼ä½¿ç¨Cè¯è¨éåï¼ç§»æ¤å°Unixå¹³å°ï¼å½æ¶ï¼å®åªæ¯ä¸ä¸ªå¾åºå±çé¢åæ¥è¡¨çåå¨å¼æãè¿ä¸ªå·¥å ·å«åUniregã
å¹´ï¼çå ¸çå ä½å¿åéåå°ä¼åï¼ä»¥David Axmark 为é¦ï¼ æç«äºä¸å®¶å ¬å¸ï¼è¿å°±æ¯MySQL AB çå身ãè¿ä¸ªå ¬å¸æå并ä¸æ¯ä¸ºäºå¼åæ°æ®åºäº§åï¼èæ¯å¨å®ç°ä»ä»¬æ³æ³çè¿ç¨ä¸ï¼éè¦ä¸ä¸ªæ°æ®åºãä»ä»¬å¸æè½å¤ä½¿ç¨å¼æºç产åãä½å¨å½æ¶å¹¶æ²¡æä¸ä¸ªåéçéæ©ï¼æ²¡åæ³ï¼é£å°±èªå·±å¼åå§ã
å¨æåï¼ä»ä»¬åªæ¯èªå·±è®¾è®¡äºä¸ä¸ªå©ç¨ç´¢å¼é¡ºåºååæ°æ®çæ¹æ³ï¼ä¹å°±æ¯I S A Mï¼Indexed Sequential Access Methodï¼åå¨å¼ææ ¸å¿ç®æ³çå身ï¼å©ç¨ISAM ç»åmSQL æ¥å®ç°ä»ä»¬çåºç¨éæ±ãå¨æ©æï¼ä»ä»¬ä¸»è¦æ¯ä¸ºçå ¸çä¸äºå¤§åé¶å®åæä¾æ°æ®ä»åºæå¡ãå¨ç³»ç»ä½¿ç¨è¿ç¨ä¸ï¼éçæ°æ®éè¶æ¥è¶å¤§ï¼ç³»ç»å¤æ度è¶æ¥è¶é«ï¼ISAM åmSQL çç»åéæ¸ä¸å ªéè´ãå¨åææ§è½ç¶é¢ä¹åï¼ä»ä»¬åç°é®é¢åºå¨mSQL ä¸é¢ãä¸å¾å·²ï¼ä»ä»¬æå¼äºmSQLï¼éæ°å¼åäºä¸å¥åè½ç±»ä¼¼çæ°æ®åå¨å¼æï¼è¿å°±æ¯ISAM åå¨å¼æã大家å¯è½å·²ç»æ³¨æå°ä»ä»¬å½æ¶ç主è¦å®¢æ·æ¯æ°æ®ä»åºï¼åºè¯¥ä¹å®¹æç解为ä»ä¹ç´è³ç°å¨ï¼MySQL ææ é¿çæ¯æ¥è¯¢æ§è½ï¼èä¸æ¯äºå¡å¤çï¼éè¦åå©ç¬¬ä¸æ¹åå¨å¼æï¼ã
å¹´ï¼TcXçcustomer ä¸å¼å§æ人è¦æ±è¦ä¸ºå®çAPIæä¾SQLæ¯æï¼å½æ¶ï¼æ人æ³å°äºç´æ¥ä½¿ç¨åç¨æ°æ®åºç®äºï¼ä½æ¯Montyè§å¾åç¨æ°æ®åºçé度é¾ä»¤äººæ»¡æãäºæ¯ï¼ä»ç´æ¥åå©äºmSQLç代ç ï¼å°å®éæå°èªå·±çåå¨å¼æä¸ãä½ä¸å·§çæ¯ï¼ææ并ä¸å¤ªå¥½ãäºæ¯,Montyéå¿å¤§èµ·ï¼å³å¿èªå·±éåä¸ä¸ªSQLæ¯æã
å¹´ï¼MySQL 1.0åå¸, å¨å°èå´å 使ç¨ãå°äºå¹´æï¼MySQL 3..1åå¸äºï¼æ²¡æ2.xçæ¬ãæå¼å§ï¼åªæä¾äºSolarisä¸çäºè¿å¶çæ¬ãä¸ä¸ªæåï¼Linuxçæ¬åºç°äºã æ¤æ¶çMySQLè¿é常ç®éï¼é¤äºå¨ä¸ä¸ªè¡¨ä¸åä¸äºInsertï¼Updateï¼DeleteåSelect æä½èä½ï¼æ²¡æå ¶ä»æ´å¤çåè½ã
ç´§æ¥ä¸æ¥ç两年éï¼MySQLä¾æ¬¡ç§»æ¤å°å个平å°ä¸ãå®åå¸æ¶ï¼éç¨ç许å¯çç¥ï¼æäºä¸ä¼ä¸åï¼å 许å è´¹åç¨ï¼ä½æ¯ä¸è½å°MySQLä¸èªå·±ç产åç»å®å¨ä¸èµ·åå¸ãå¦ææ³ä¸èµ·åå¸ï¼å°±å¿ 须使ç¨ç¹æ®è®¸å¯ï¼æå³çè¦è±é¶åãå½ç¶ï¼åä¸æ¯æä¹æ¯éè¦è±é¶åçãå ¶å®çï¼éç¨æ·æä¹ç¨é½å¯ä»¥ãè¿ç§ç¹æ®è®¸å¯ä¸ºMySQL带æ¥äºä¸äºæ¶å ¥ï¼ä»è为å®çæç»åå±æä¸äºè¯å¥½çåºç¡ã
-å¹´ï¼æä¸å®¶å ¬å¸å¨çå ¸æç«äºï¼å«MySQL ABã éäºå 个人,ä¸Sleepycatåä½ï¼å¼ååºäº Berkeley DBå¼æ, å 为BDBæ¯æäºå¡å¤çï¼æ以ï¼MySQLä»æ¤å¼å§æ¯æäºå¡å¤çäºã
å¨ å¹´çæ¶åï¼MySQL å ¬å¸äºèªå·±çæºä»£ç ï¼å¹¶éç¨GPLï¼GNU General Public Licenseï¼è®¸å¯åè®®ï¼æ£å¼è¿å ¥å¼æºä¸çã
å¹´4æï¼MySQL对æ§çåå¨å¼æè¿è¡äºæ´çï¼å½å为MyISAMã
å¹´ï¼Heikiki TuuriåMySQLæåºå»ºè®®ï¼å¸æè½éæä»ä»¬çåå¨å¼æInnoDBï¼è¿ä¸ªå¼æåæ ·æ¯æäºå¡å¤çï¼è¿æ¯æè¡çº§éãæ以å¨å¹´åå¸ç3. çæ¬çæ¶åï¼è¯¥çæ¬å·²ç»æ¯æ大å¤æ°çåºæ¬çSQL æä½ï¼èä¸è¿éæäºMyISAMåInnoDB åå¨å¼æãMySQLä¸InnoDBçæ£å¼ç»åçæ¬æ¯4.0ã
å¹´æï¼åå¸äºç»å ¸ç4.1çæ¬ã å¹´æï¼æåå¸äºéç¨ç¢çä¸ä¸ªçæ¬ï¼MySQL 5.0. å¨5.0ä¸å å ¥äºæ¸¸æ ï¼åå¨è¿ç¨ï¼è§¦åå¨ï¼è§å¾åäºå¡çæ¯æãå¨5.0 ä¹åççæ¬éï¼MySQLæç¡®å°è¡¨ç°åºè¿åé«æ§è½æ°æ®åºçåå±æ¥ä¼ã
å¹´1æå· MySQL被Sunå ¬å¸æ¶è´ã
å¹´ææ¥Oracleæ¶è´Sun å ¬å¸ï¼MySQL è½¬å ¥Oracle é¨ä¸ã
å¹´æ åå¸MySQL 5.5, MySQLcluster 7.1.
ç°å¨å®ç½å¯ä»¥ä¸å°çMySQL çæ¬æ¯ï¼5.5.. Oracle 对MySQLçæ¬éæ°è¿è¡äºååï¼åæäºç¤¾åºçåä¼ä¸çï¼ä¼ä¸çæ¯éè¦æ¶è´¹çï¼å½ç¶æ¶è´¹çå°±ä¼æä¾æ´å¤çåè½ã
海豚MQTT-Mosquitto(1)
在决定使用MQTT协议后,搭建MQTT服务器的源码海豚首要任务是选择MQTT Broker。虽然云平台提供了付费服务,源码海豚但个人项目成本较高,源码海豚因此个人用户可能会选择自建服务器,源码海豚如之前双十一购买的源码海豚命理分析源码低配服务器,非常适合实验用途。源码海豚
在选择后台方案时,源码海豚市场上MQTT Broker选项众多。源码海豚早期,源码海豚我曾参考过一些资料,源码海豚那时Mosquitto因其轻量级和C语言实现的源码海豚优点,是源码海豚我的首选。然而,源码海豚鉴于其更新不频繁且扩展功能有限,源码海豚信游源码上一次搭建过程中遇到不少困难,这次我决定寻找更为现代化的解决方案,尽管它曾是我的起点。
安装和运行Mosquitto在Centos服务器上相对简单,只需要几个命令即可。为了保证安全性,我关闭了默认的商城站源码匿名访问,通过创建adam用户并存储在/etc/mosquitto/clipasswd文件中,并设置了用户密码登录。接着,我修改了mosquitto.conf文件,强制客户端使用用户名和密码进行认证,并重启了服务。
接下来,qt tftp源码我开始转向SSL加密,需要生成自签名的证书。通过一系列命令,我生成了cacert.pem, server.crt, 和server.key文件。然后,我修改了mosquitto.conf,将非加密端口绑定到本地,qtcreator设置源码添加了SSL相关配置,并重启了服务。测试连接时,确保使用正确的域名和证书文件。
然而,仅此还不够,我需要对访问权限进行控制。这超出了Mosquitto的基本功能,需要借助第三方插件mosquitto-auth-plug来实现。但该插件已停止维护,且与我使用的mosquitto-1.6.版本存在兼容性问题。我下载了对应版本的源码和openssl,进行了编译,并对auth-plug.c文件进行了必要的修改。接着,我将mosquitto的动态库调整到正确位置,并在Makefile中添加了链接参数。
在配置mosquitto时,我删除了之前用到的密码文件,转而依赖数据库管理。我创建了数据库表,定义了新的权限规则,并利用mosquitto的np工具生成用户密码,将其写入数据库。至此,通过MySQL控制用户登录和权限的Mosquitto配置已完成。
最后,为了测试MQTT服务器的性能,我附带了一个压测工具。通过以上步骤,一个安全且可扩展的MQTT服务器已经搭建完毕,满足了对用户访问权限的控制需求。