重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
当尝试在console下运行php脚本时却提示pdo连接mysql.sock时出错
创新互联2013年开创至今,先为镇海等服务建站,镇海等地企业,进行企业商务咨询服务。为镇海企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
PHP Error[2]: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock)
但是查过了MAMP自带的php5.2和php5.3的php.ini发现里面的几处默认mysql连接文件default_socket设置都没有问题,于是google之。发现原来命令行的php是用了MAC OS自带的php,需要修改MAC OS自带的php.ini。 具体步骤如下:
如果你已经有/private/etc/php.ini就不需要再拷贝一份php.ini.default出来了。
cd /private/etc/
sudo cp php.ini.default php.ini
sudo vi php.ini
把php.ini里面所有的default_socket都改成MAMP的mysql.sock的正确位置即可。
pdo_mysql.default_socket=/Applications/MAMP/tmp/mysql/mysql.sock
mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock
mysqli.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock
工具:Apache 2.4.16、PHP、Macbook Pro、MySQL 5.7
步骤:
1、打开终端,输入命令:sudo apachectl start,启动Apache。
2、打开ie浏览器,在地址栏中输入localhost,出现It Works字符串,就说明Apache已经成功启动。
3、在Macbook pro下,Apache的网站服务器根目录在/Library/WebServer/Documents路径下。Mac OS 同样自带PHP,只需要在Apache的配置文件中添加Apache对PHP的支持就好了。在终端中输入命令:
sudo vim /etc/apache2/httpd.conf
打开httpd.conf文件。
4、去掉注释符号:LoadModule php5_module libexec/apache2/libphp5.so
5、重启Apache服务。进入/Library/WebServer/Documents,新建一个测试的PHP页面,输入命令:sudo vim test.php
6、在test.php中输入以下代码?php phpinfo(); ?
在ie浏览器中打开页面localhost/test.php,测试PHP是否可用即可。
不知道你服务器环境和连接数据库部分的代码,怎么知道是哪里出错了?
这是在网上找的的,希望对你有些帮助。
windowsxp系统 mysql-5.0.11-beta-win32
提示:1045 access denied for user 'root'@'localhost' using password yes
前几天都好好的,昨天没弄,结果今天晚上过来提示上面的这个错误,重启mysql还是不可以
网上的方法看了几个但是不知道怎么弄
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking
# mysql -u root mysql
mysql UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql FLUSH PRIVILEGES;
mysql quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: 输入新设的密码newpassword
mysql
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: 输入[client]节的密码
mysql UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql FLUSH PRIVILEGES;
mysql quit
# mysql -uroot -p
Enter password: 输入新设的密码newpassword
mysql
另一个方法
Windows:
1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程
2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:\mysql\ , CMD进入命令行
3. 运行 d:\mysql\bin\mysqld-nt --skip-grant-tables 启动mysql,关闭权限的检查
4. 运行 d:\mysql\bin\mysqladmin -u root flush-privileges password "newpassword" 重设root密码
5. 重新启动mysql服务
第4步也可以直接修改mysql表,所用到的SQL语句同linux部分,这里就不再重复了.