海运的博客

Mysql插入UTF8带BOM变成0

发布时间:September 20, 2015 // 分类:数据库 // No Comments

使用PHP读取文件写入数据库遇到一个灵异的问题,第一行第一列内容插入后变成0,查看文件第一行开头为BOM格式:

head -n 1 file | hexdump -C
ef bb bf

删除BOM解决:

sed -i '1 s/^\xef\xbb\xbf//' file

MySQL主从同步配置

发布时间:May 8, 2014 // 分类:数据库 // No Comments

Master配置:

log-bin = mysql-bin
server-id = 1
binlog-do-db = powerdns #要同步的数据库

Master新增slave账号:

mysql> grant replication slave on *.* to 'slave'@'192.168.1.2' identified by 'passwd';  
mysql> flush privileges; 

重启Master MySQL,查看Master状态信息,记住File名称,POS位置。

mysql> show master status;  
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 |      309 | powerdns     | mysql            |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

Slave配置:

server-id =2 
slave-skip-errors = 1062 #跳过重复字段错误

开始同步:

mysql> change master to master_host='192.168.1.1',master_user='slave',master_password='passwd',\
master_log_file='mysql-bin.000002',master_log_pos=309;  
mysql> start slave;

查看Slave同步状态:

mysql> show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

MySQL插入存在覆盖

发布时间:April 9, 2014 // 分类:数据库 // No Comments

1.当插入列为主健或单一索引(可多列)值重复时执行update操作:

INSERT INTO `records` (`domain_id`, `name`, `TYPE`, `content`, `ttl`) VALUES 
(:id, :name, :type, :content, :ttl) ON DUPLICATE KEY UPDATE `change_date` = '1';

2.重复时先删除之前数据再插入新数据:

REPLACE INTO `records` (`domain_id`, `name`, `TYPE`, `content`, `ttl`) VALUES 
(:id, :name, :type, :content, :ttl);

此内容被密码保护

发布时间:December 23, 2013 // 分类:数据库 // No Comments

请输入密码访问

从文本导入数据到数据库

发布时间:December 9, 2013 // 分类:PHP,数据库 // No Comments

文本多列以,分隔,导入到指定字段:

load data local infile "file.txt" into table db.table FIELDS TERMINATED BY ',' (name,address);
load data local infile "file.txt" into table db.table (name,address) FIELDS TERMINATED BY ',';
update db.table SET aaa = 'test'; 

也可使用PHP以数组的方式逐行插入,自定义方便。

<?php  
   $hostname="localhost";
   $username="root";
   $password="passwd";  
   $dbname="dbname";
   mysql_connect($hostname,$username,$password);
   mysql_select_db("$dbname");
   $mydate=file("/root/m.txt");
   $n=count($mydate);
   for($i=0;$i<$n;$i++){
      $date=explode(",",$mydate[$i]);
      $str="insert into table (name,address) values ('$date[0]','$date[1]')";
      mysql_query($str);
   }
   mysql_close();
   echo "ok!";
?> 
分类
最新文章
最近回复
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...