当尝试在console下运行php脚本时却提示pdo连接mysql.sock时出错
洋县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
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
不知道你服务器环境和连接数据库部分的代码,怎么知道是哪里出错了?
这是在网上找的的,希望对你有些帮助。
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部分,这里就不再重复了.
主机名。
一般默认还有个端口号,如果是3306就可以省略不写,如果是其它,比如3307,就应该这样写:
$link = mysql_connect ( 'localhost:3307', 'root', 'root' );