海运的博客

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!";
?> 
分类
最新文章
最近回复
  • 海运: 正常情况下编译整个内核执行make menuconfig后就不会出现此提示,当单独编译单个模块...
  • oijq: 就是用的armbian的配置文件哈,按你的教程做的,在执行make LOCALVERSION=...
  • 海运: 使用armbian的配置文件,其它添加或修改自己懂的部分,不懂的就不要碰了。
  • oijq: 编译时这些选项全部选Y吗?Actions Semi Platforms (ARCH_ACTIO...
  • 海运: n1编译bbr内核模块参考这个:https://www.haiyun.me/archives/...
  • jiqz: make M=net/ipv4/ CONFIG_TCP_CONG_BBR=m modules编...
  • ruralhunter: 哦,文档里应该是对的,是.config
  • ruralhunter: cp /mnt/boot/config-4.18.7-aml-s9xxx .config这里应...
  • 海运: 你是编译不成功呢?还是编译后不能运行呢?还是运行后不能访问web界面呢?
  • 白墨: 可能不清楚就是编译安装后启动后访问不了web界面