php - PHP连接到MySQL错误
问题描述
我不断收到此错误:警告:mysqli_connect():(HY000/1045):用户'12345'@'localhost'的访问被拒绝(使用密码:是)。我已经尝试创建一个新用户,使用密码,不使用密码,授予新用户权限。我可以使用这些凭据登录到 mysql 数据库。我可以在 MySQL 中使用它们运行每个命令,只是不连接到 PHP。如果重要的话,这是我的 php 代码
<? php
$dbServername = "localhost";
$dbUsername = "12345";
$dbPassword = "12345";
$dbName = "loginsystem";
$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);
When showing grants for user: '12345'@'localhost':
mysql> SHOW GRANTS FOR '12345'@'localhost';
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for 12345@localhost |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `12345`@`localhost` |
| GRANT BACKUP_ADMIN,BINLOG_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,GROUP_REPLICATION_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SET_USER_ID,SYSTEM_VARIABLES_ADMIN,XA_RECOVER_ADMIN ON *.* TO `12345`@`localhost` |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
/etc/my.cnf 文件(内部 MYSQL):
[mysqld_safe]
[mysqld]
secure_file_priv="/Users/Steven/"
/etc/my.cnf 文件(在 xAMPP 内部):
#password = your_password
port = 3306
socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
user = mysql
port=3307
socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
skip-external-locking
key_buffer = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
innodb_force_recovery = 1
哦,我忘了提到我确实刷新了权限并重新启动了服务器。
解决方案
你好@Steven 根据我的经验 xampp 在 Mac 上给出错误(至少在我看来)所以我使用了MAMP。如果你愿意,你可以检查一下。但是到你的错误点,这似乎是一个连接问题:请尝试这个连接代码:
$user = '12345';
$password = '12345';
$db = 'loginsystem';
$host = 'localhost';
$port = your_port-might-be-3306;
$link = mysqli_init();
$success = mysqli_real_connect( $link, $host, $user, $password, $db, $port );
echo $success;
如果 $success 变量显示 1,则表示连接正常。如果是这样,那么您的连接有效。
推荐阅读
- python - 熊猫准时加入并允许多场比赛
- linux - Linux,安装FBX SDK,如何自动确认?
- laravel - Laravel 空分页数据
- reactjs - 即使在使用 es6 过滤后如何保留数组值
- ios - 强制一个 NavigationLink 到 SwiftUI 中的详细视图
- c - C while 指针是否可以与任何指针变量一起使用
- c - 我输入“。” 作为完成我的代码的第一个输入,但输出是别的东西
- excel - 如何计算两 (2) 日期之间的差异
- sql - 如何在 MSSQL 中选择最新日期的记录
- sql-server - Generate SQL query results in specific XML format