装好 LNMP 环境后,phpinfo 相关信息正常,但是 php 不能连接到 MySQL,求大家赐教。等答案中……
但是在本机系统可以用#mysql -uroot -p -h localhost登录,都没有任何问题。通过windows客户端软件Navicat for MySQL登录也没有问题。但是,涉及到php连接数据库的都连接不上。
坐等围观各位大吓智慧的火花……万分感谢……
以下是我的相关信息,有需要具的信息,告诉我,我再贴出来……
PHP相关信息:
尝试解决步骤:
一、重新编译MySQL
(1)使用以下参数重新编译MySQL
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_DATADIR=/data1/mysql_db -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DWITH_READLINE=ON -DWITH_SSL=system -DWITH_DEBUG=0 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DINSTALL_LAYOUT=STANDALONE -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=1 -DMYSQL_MAINTAINER_MODE=0 -DWITH_EMBEDDED_SERVER=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql
编译完成后,启动mysqld服务会出现以下错误:
120726 11:32:27 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown
120726 11:32:27 [Note] Event Scheduler: Purging the queue. 0 events
120726 11:32:27 InnoDB: Starting shutdown...
120726 11:32:27 InnoDB: Shutdown completed; log sequence number 1595675
120726 11:32:27 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
120726 11:32:27 mysqld_safe mysqld from pid file /var/run/mysql/mysql.pid ended
120726 11:32:52 mysqld_safe Starting mysqld daemon with databases from /data1/mysql_db
120726 11:32:52 [ERROR] COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8'
120726 11:32:52 [ERROR] Aborting
120726 11:32:52 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
120726 11:32:52 mysqld_safe mysqld from pid file /var/run/mysql/mysql.pid ended
是字符集问题,于是修改my.cnf文件,在[mysqld]下参数:
character-set-server = utf8
之后启动mysqld服务成功。
(2)尝试用下面PHP脚本连接MySQL数据库