MySQL联表查询及联表删除的方法

MySQL联表查询及联表删除都是经常需要用到的操作,下面对MySQL联表查询和联表删除都作了详细的介绍分析,希望对您有所帮助。 MySQL联表查询: reference mysql manul: 3.2.7. SELECT语法13.2.7.1. JOIN语法 13.2.7.2. UNION语法 eg1:·mysql> SELECT t1.name, t2.salary FROM employee AS t1, info AS t2·->    WHERE t1.name = t2.name;eg2:·mysql> SELECT table1.* FROM table1·->        LEFT JOIN table2 ON table1.id=table2.id·->        WHERE table2.id IS NULL; 联表删除: 1、从数据表t1 中把那些id值在数据表t2 里有匹配的记录全删除掉 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id    或DELETE  FROM t1 USING t1,t2 WHERE t1.id=t2.id [Read More →]

Posted in mysql. 评论暂缺 »

mysql Table ‘db.table’ is read only解决办法

mysql Table ‘db.table’ is read only解决办法

Posted in mysql. 评论暂缺 »

Linux (centos )下Nginx+PHP+MySQL配置——自己的lnmp配置

Linux (centos )下Nginx+PHP+MySQL编译配置——自己的lnmp配置

Posted in lamp, linux, mysql, php. Tags: , , , . 评论暂缺 »

如何关闭MySQL的日志功能

删除日志: 执行:/usr/local/mysql/bin/mysql -u root -p 输入密码登录后再执行:reset master; 再输入:quit 退出mysql命令模式。 彻底禁用MySQL日志:修改/etc/my.cnf 文件,找到 log-bin=mysql-bin binlog_format=mixed 再这两行前面加上#,将其注释掉,再执行/etc/init.d/mysql restart即可。

Posted in mysql. 评论暂缺 »

Mysql Innodb 引擎优化

InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句 提供一个Oracle风格一致的非锁定读。这些特色增加了多用户部署和性能。没有在InnoDB中扩大锁定的需要,因为在InnoDB中行级锁定适合非常 小的空间。InnoDB也支持FOREIGN KEY强制。在SQL查询中,你可以自由地将InnoDB类型的表与其它MySQL的表的类型混合起来,甚至在同一个查询中也可以混合。
Innodb 的创始人:Heikki Tuuri
Heikki Tuuri在Innodb的Bug社区里也是很活跃的,如果遇到Bug也可以直接提到社区,得到作者的解答。

Posted in mysql. 评论暂缺 »

mysql优化 How to Optimising MYSQL

(这是从国外一个论坛中看到的一篇帖子,关于mysql优化,思路很不错) I’d like to share with the interworx-cp community my knowledge about tuning / tweaking mysql. First of all, sorry if my English is not perfect. Maybe some sentences may be difficult to understand. So do not hesitate to ask me for explanations :-p Secondly, the default INTEWORX-CP mysql setup works very fine and is [Read More →]

Posted in mysql. 评论暂缺 »

mysql常见问题集锦

首先你应该试着找出问题mysqld守护进程是否死掉或你的问题是否与你的客户有关。你可以用mysqladmin version检查你的mysqld服务器正常执行了多长时间,如果mysqld死了,你可以在文件“mysql-data- directory/’hostname’.err”中找到其原因。 使用MySQL时的一些常见错误 MySQL server has gone away 常见的原因是服务器超时了并且关闭了连接。缺省地,如果没有事情发生,服务器在 8个小时后关闭连接。你可在启动mysqld时通过设置wait_timeout变量改变时间限制。 如果mysqld得到一个太大或不正常的包,它认为客户出错了并关闭连接。 Can’t connect to [local] MySQL server 通常意味着没有一个MySQL服务器运行在系统上或当试图连接mysqld服务器时,你正在使用一个错误的套接字文件或TCP/IP端口。 检查(使用ps)服务器上是否有一个名为mysqld的进程启动 如果一个mysqld进程正在运行,可以通过尝试这些不同的连接来检查服务器 shell> mysqladmin version shell> mysqladmin variables shell> mysqladmin -h `hostname` version variables shell> mysqladmin -h `hostname` –port=3306 version shell> mysqladmin -h ‘ip for your host’ version shell> mysqladmin –socket=/tmp/mysql.sock version 注意hostname命令使用反引号“`”而非正引号“’”;这些导致hostname输出(即,当前主机名)被代替进mysqladmin命令中。 Host ‘…’ is [Read More →]

Posted in mysql. 评论暂缺 »

mysql如果数据不存在,则插入新数据,否则更新

今天在修改ecshop时添加多语言项: //如果不存在,则插入新数据 $sql = “INSERT INTO {$ecs->table(‘cat_lang’)} (cat_id,lang_id,cat_name,keywords,cat_desc) VALUES({$cat_id},{$k},’{$val['cat_name']}’,’{$val['keywords']}’,’{$val['cat_desc']}’) ON DUPLICATE KEY UPDATE cat_name=’{$val['cat_name']}’,cat_desc=’{$val['cat_desc']}’,keywords=’{$val['cat_desc']}’”; 这里要注意的是:必须表主键唯一 。这里,这里我采用的是 分类id和语言id双主键机制。 具体sql如: INSERT INTO TABLE (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; UPDATE TABLE SET c=c+1 WHERE a=1;

Posted in mysql. 评论暂缺 »

关于mysql密码的一些札记——password和old_password

      今天在搞一mysql服务器时,看到–old-passwords选项,心中迷惑。特检索了一些资料。并log之,以备遗忘!    –old-passwords选项的目的是当服务器生成长密码哈希值时,允许你维持同4.1之前的客户端的向后兼容性。该选项不影响鉴定(4.1和以后版本的客户端仍然可以使用有长密码哈希值的账户),但它防止在密码更改操作中在user表中创建长密码哈希值。在这种情况下,该账户不能再用于4.1之前的客户端。没有–old-passwords选项,可能会出现下面的不期望的情况: ·         旧客户端连接有短密码哈希值的账户。 ·         客户更改自己的密码。没有–old-passwords,可以为该账户生成长密码哈希值。 ·         下次旧客户试图连接账户时不能连接上,因为账户有长密码哈希值,需要新的哈希机制进行鉴定。(一旦账户user表中为长密码哈希值,只有4.1和以后版本的客户端可以鉴定它,因为4.1之前的客户端不理解长哈希)。 根据以上资料。我们可以来做一下测试。 mysql> show variables like ‘%password%’; +—————+——-+ | Variable_name | Value | +—————+——-+ | old_passwords | OFF   |  ####这里表明已经关闭了旧密码选项 +—————+——-+ 1 row in set (0.00 sec) ##测试一下密码长度mysql> select password(’123456′),length(password(’123456′)); +——————————————-+—————————-+ | password(’123456′)                        | length(password(’123456′)) | +——————————————-+—————————-+ | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |                         41 | +——————————————-+—————————-+ 1 row in [Read More →]

Posted in mysql. 评论暂缺 »

mysql mirrors

来自sohu的mirror 这里包含了mysql的各个版本,和官网一致 http://mirrors.sohu.com/mysql/ 感谢sohu!

Posted in mysql. 评论暂缺 »