我继续收到此错误:警告: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
哦,我忘了提到我做了刷新特权并重新启动服务器。
答案 0 :(得分:0)
根据我的经验,你好@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。如果是这样,则您的连接有效。