mysql

Unknown column ” in ‘where clause’

 这个错误出现,打印出sql字符串 手动执行是成功的。 最后定位在 IN () 引号上了。  IN 里面值 我之前用的是 双引号,改为单引号就执行成功了。

推荐一个php的mysql操作类medoo

 之前一直用的不好使,最近发现了这个玩意,感觉还可以,推荐一下:http://medoo.in/ 支持操作: MySQL, MariaDB -> php_pdo_mysql MSSQL (Windows) -> php_pdo_sqlsrv MSSQL (Linux/UNIX) -> php_pdo_dblib Oracle -> php_pdo_oci SQLite -> php_pdo_sqlite PostgreSQL -> php_pdo_pgsql Sybase -> php_pdo_dblib 基本操作示例:更多教程 http://medoo.in/doc require 'medoo.php';  //引入文件 // 创建数据库连接对象 应该不用解释都看得懂 $database = new medoo([ // required 'database_type' => 'mysql', 'database_name' => 'name', 'server' ...

MySQL 获取当前时间戳(Timestamp)函数

 1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp() mysql> select current_timestamp, current_timestamp(); +---------------------+---------------------+ | current_timestamp | current_timestamp() | +---------------------+---------------------+ | 2008-08-09 23:22:24 | 2008-08-09 23:22:24 | +---------------------+---------------------+ 2. MySQL (Unix 时间戳、日期)转换函数: unix_timestamp(), unix_timestamp(date), from_unixtime(unix_timestamp), from_unixtime(unix_timestamp,format) 下面是...

MySQL一条语句实现同时查询和更新字段内容

 现在想仅执行一条mysql语句得到:查询到sid=2的用户,然后修改gid的值为123。 简单这样写: 1 UPDATE `user` SET `gid`='123' WHERE id IN (SELECT id FROM `user` WHERE sid=2) 肯定会报错: 错误码: 1093 You can't specify target table 'user' for update in FROM clause 错误提示就是说,不能先select出同一表中的某些值,再update这个表(在同一语句中) 解决办法: 1 UPDATE `user` AS A INNER JOIN (SELECT id FROM `user` WHERE `sid`=2) AS B ON A.id=B.id SET A.gid='123'

导入大数据库到mysql提示:ERROR 2013 (HY000) at line 1320: Lost connection to MySQL server during query

 服务器上都挺好的,数据库有点大 600多M 按说也不算大。我最大导入过 40G 的数据库 mysql 各种无压力。 本机导入就提示: ERROR 2013 (HY000) at line 1320: Lost connection to MySQL server during query 网上说的办法基本无用。   最后解决办法:my.ini配置文件 mysqld 节点下添加 max_allowed_packet = 100M 就可以了​

Mysql初始化root密码和允许远程访问

mysql默认root用户没有密码,输入mysql –u root 进入mysql 1、初始化root密码 进入mysql数据库 mysql>update user set password=PASSWORD(‘123456’) where User='root'; 2、允许mysql远程访问,可以使用以下三种方式: a、改表。 mysql -u root –p mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user; b、授权。 例如,你想root使用123456从任何主机连接到mysql服务器。 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 如果你想允许用户jack从ip为10.10.50.127...

mysql 更改my.cnf 开启慢查询日志

冷备,定期备份MySQL数据库的配置文件my.cnf,这样有利于恢复操作。  1,开启MYSQL的慢查询日志  首先在my.cnf配置里面加入慢查询配置,然后建立慢查询的日志文件,并把用户和组修改为mysql,最后重启mysqld。  引用 vim /etc/my.cnf  # 在配置文件的[mysqld]下面加入以下几行  log-slow-queries=/var/log/mysql-slow.log  long_query_time=0.01 #表示查询时间超过10ms的都认为是慢查询   log-queries-not-using-indexes #表示没有使用索引的查询也记录日志    ​   touch /var/log/mysql-slow.log  chown mysql.mysql /var/log/mysql-slow.log  /etc/init.d/mysqld restart 接着测试一下慢查询是否...

MySQL配置文件my.cnf优化

MySQL 5.5.13 参数说明: [client] character-set-server = utf8 port    = 3306 socket  = /data/mysql/3306/mysql.sock [mysqld] character-set-server = utf8 user    = mysql port    = 3306 socket  = /data/mysql/3306/mysql.sock basedir = /usr/local/webserver/mysql datadir = /data/mysql/3306/data log-error = /data/mysql/3306/mysql_error.log pid-file = /data/mysql/3306/mysql.pid # table_cache 参数设置表高速缓存的数目。每个连接进来,都会至少打开一个表缓存。#因此, table_cache 的大小应与 max_conne...

MySQL快速分表用sql快速按照查询条件复制表指定数据到新表[分表]的方法

以下select 语句可以写自己的查询条件,下午一个17G 的表一共两百多万条记录,分表为八个表 平均每个 两分钟左右。 MySQL复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表,实例如下: CREATE TABLE new_table SELECT * FROM old_table 执行后的Messages: (465 row(s) affected) Execution Time : 00:00:00:359 Transfer Time  : 00:00:01:125 Total Time     : 00:00:01:484   465 row(s)说明复制了数据过去   只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 即:让WHERE条件不成立,也可改成5=6等,实例如下: CREATE TABLE new_table SELECT * FROM old_table WHERE 1=2 执行后的...

mysql日志删除后导致mysqld启动不了

今天在处理服务器的时候,看了下,原来是空间满了,第一时间就想到了,看看/var/log的情况。 看了下果然mysql的日志达到了14GB,这台服务器估计是从配置好,没有再怎么管理了,疏忽了,赶紧了,网站都出错了。 好了,把所有的mysql-bin.0000*文件都干掉了。 这个时候重启mysql服务的时候,出现了如下问题: InnoDB: Last MySQL binlog file position 0 386128063, file name ./mysql-bin.000013 120831  5:43:37 InnoDB: 1.1.8 started; log sequence number 31684981772 120831  5:43:37 [ERROR] I/O error reading the header from the binary log, errno=175, io cache code=0 120831  5:43:37 [ERROR] I/O error reading the header from the...