php连接mysql的驱动支持

请使用mysqlnd php官方原生驱动。编译参数中需要加如下

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \

三种(mysql,mysqli,pdo-mysql)php连接 mysql api接口都采用mysqlnd驱动。

php连接mysql的三种api(mysql,mysqli,pdo-mysql)

php官方推荐使用 mysqli 和 PDO_MySQL

php连接mysql的三种api示例

<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row['_message']);

// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);

// mysql
$c = mysql_connect("example.com", "user", "password");
mysql_select_db("database");
$result = mysql_query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = mysql_fetch_assoc($result);
echo htmlentities($row['_message']);
?>

 

PHP中三种主要的MySQL连接方式的功能:

PHP的mysqli扩展 PDO (使用PDO MySQL驱动和MySQL Native驱动) PHP的mysql扩展
引入的PHP版本 5.0 5.0 3.0之前
PHP5.x是否包含
MySQL开发状态 活跃 在PHP5.3中活跃 仅维护
在MySQL新项目中的建议使用程度 建议 – 首选 建议 不建议
API的字符集支持
服务端prepare语句的支持情况
客户端prepare语句的支持情况
存储过程支持情况
多语句执行支持情况 大多数
是否支持所有MySQL4.1以上功能 大多数

 

ext/mysqli PDO_MySQL ext/mysql
PHP version introduced 5.0 5.1 2.0
Included with PHP 5.x Yes Yes Yes
Development status Active Active Maintenance only
Lifecycle Active Active Deprecated
Recommended for new projects Yes Yes No
OOP Interface Yes Yes No
Procedural Interface Yes No Yes
API supports non-blocking, asynchronous queries with mysqlnd Yes No No
Persistent Connections Yes Yes Yes
API supports Charsets Yes Yes Yes
API supports server-side Prepared Statements Yes Yes No
API supports client-side Prepared Statements No Yes No
API supports Stored Procedures Yes Yes No
API supports Multiple Statements Yes Most No
API supports Transactions Yes Yes No
Transactions can be controlled with SQL Yes Yes Yes
Supports all MySQL 5.1+ functionality Yes Most No

 

 

扩展阅读:

php连接mysql的驱动支持 http://www.php.net/manual/zh/mysqlnd.install.php

php连接mysql api  mysqil http://php.net/manual/zh/mysqli.overview.php

php连接mysql 三种api的选择 https://php.net/manual/zh/mysqlinfo.api.choosing.php

 

 

AutoMySQLBackup是轻量级的mysql备份工具,数据量不大,MyISAM用用很好。
 mkdir AutoMySQLBackup
cd AutoMySQLBackup/
wget -c "http://nchc.dl.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v3.0_rc6.tar.gz"
tar zxvf automysqlbackup-v3.0_rc6.tar.gz
chmod +x install.sh
sh install.sh
#全部默认配置
cd /etc/automysqlbackup/
vi automysqlbackup.conf #修改里面的配置
crontab -e
#设定每日凌晨3:00执行
0 3 * * * /usr/local/bin/automysqlbackup
btw:这货实际上是使用的mysqldump,如果你是innodb,那么推荐用Xtrabackup,当然还非常推荐,无痛使用Percona mysql。

 YUM方式安装MongoDB rpm二进制包

人懒,直接rpm二进制包安装

[root@a5139 ~]# touch /etc/yum.repos.d/10gen.repo
[root@a5139 ~]# vi /etc/yum.repos.d/10gen.repo

#如果是64位写入
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1

#如果是32位写入
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
gpgcheck=0
enabled=1

yum install mongo-10gen mongo-10gen-server

PHP MongoDB 扩展安装

[root@a5139 ~]# wget http://pecl.php.net/get/mongo-1.3.4.tgz

[root@a5139 ~]# tar zxvf mongo-1.3.4.tgz

[root@a5139 ~]# cd mongo-1.3.4

[root@a5139 mongo-1.3.4]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519

[root@a5139 mongo-1.3.4]# ./configure –with-php-config=/usr/local/php/bin/php-config

[root@a5139 mongo-1.3.4]# make && make install

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

[root@a5139 mongo-1.3.4]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
memcache.so mongo.so pdo_mysql.so

[root@a5139 mongo-1.3.4]# vi /usr/local/php/etc/php.ini

#加入

extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”
#extension = “memcache.so”
#extension = “pdo_mysql.so”
extension = “mongo.so”

[root@a5139 mongo-1.3.4]# /etc/init.d/php-fpm restart
Shutting down php_fpm . done
Starting php_fpm done

#探针查看已经支持mongodb鸟!

 

参考文献:
1、Install MongoDB on Red Hat Enterprise, CentOS, or Fedora Linux
2PHP Language Center

解决php通过localhost不能连接mysql(Percona Server)数据库,通过127.0.0.1等ip能链接mysql数据库的问题.

问题产生

使用Percona Server官网的在线生成工具生成了my.cnf配置文件.做好左右配置启动ok之后,php无法通过localhost连接mysql数据库.

但是通过ip地址却可以连接.

mysql的localhost和127.0.0.1的区别

localhost走的是 unix sock
,127.0.0.1走的是 tcp

原因分析

产生localhost不能连接的问题是,php默认中使用的mysql unix sock使用的是 /tmp/mysql.sock
如果你修改了mysql的的sock的路径,那么需要在php.ini中指定.

解决问题

so:解决php连接mysql localhost不能连接,通过127.0.0.1等ip能链接的问题.

1.修改php.ini中配置,指定mysql.sock位置.
或者
2.修改my.cnf配置,改为  /tmp/mysql.sock

    前言

MySQL衍生版 Percona Server的更多资料请搜索~ 对于如今mysql在甲骨文的掌控下,最为开源软件来说前景堪忧~ mysql的衍生版倒是有几个,这些东西到底能不能用? 红薯都用percona作为oschina的生产数据库了。我也不怕了!哈哈,上!坚决的上!因为我是先拿vps小内存的环境开刀(搞熟悉了上生产线),所以centos6系统为32位滴,那么64位、centos5等等,如法炮制即可~
对 Percona Server 的担忧,使用这个不会出问题吧,是不是和mysql都不一样。不用担心,mysql怎么用你他就怎么用,配置也是一样的。

继续阅读