LNMP相关问题——PHP无法连接MySQL之一
2014-11-27 16:52
489 查看
装好 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数据库
但是在本机系统可以用#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数据库
相关文章推荐
- LNMP相关问题——PHP无法连接MySQL之二
- Windows中php7.1无法连接mysql的问题解决
- LNMP一键包安装后解决MySQL无法远程连接问题
- Linux相关问题-解决MySQL无法远程连接问题
- 解决编译安装的PHP无法通过localhost连接mysql的问题
- 【数据库】LNMP一键包安装后解决MySQL无法远程连接问题
- LNMP一键包安装后解决MySQL无法远程连接问题
- php无法连接mysql问题解决方法总结
- php 5.3.3 无法连接 MySQL 数据库
- 【转】windows7下 php连接mysql的问题
- phpMyAdmin“无法载入 mysql 扩展, 请检查 PHP 配置”问题的解决方案
- mysql客户端无法连接远程mysql问题
- [MySQL FAQ]系列 -- php无法连接mysql
- MySQL 客户端无法连接 mysqld-nt 问题的解决
- php连接mssql中遇到无法连接的问题
- [ASP/PHP/JSP]MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- MFC通过URL连接php服务器的相关问题
- 最近在配mysql和web分离的服务器时所出现的phpmyadmin无法连接远程数据库问题
- 问题解决:无法载入MYSQL扩展,请检查PHP配置
- LAMP架站相关问题:phpmyadmin 无法载入 mcrypt 扩展, 请检查 PHP 配置