持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第14天
在使用MySQL数据库时可能会出现各种错误,今天就简单总结下MySQL数据库常见错误类型及解决方法,希望对大家有所帮助。
问题一 Can't connect to MySQL server on localhost
这个错误很容易理解,就是网站无法连接到MySQL数据库。
解决方法:如果MySQL数据库是正常启动的话,那么就需要在配置文件中查看本地连接localhost是不是指向127.0.0.1。另外,也需要看看数据库名以及数据库用户名的填写是否正确。
问题二 Access denied for user: root@localhost
用户root访问localhost被拒绝,这个错误一般是由于数据库用户名和密码相对MySQL服务器不正确
解决方法:仔细检查网站所对应的./config.inc.php文件,并且找到dbpw,核实用户名和密码后,重新设置保存即可。
问题三 Access denied for user: 'user@localhost' to database 'XXX'
这个错误是显示用户user没有对xxx数据库具有操作权限。这个错误和第一个问题是不同的,第一个是无法连接数据库,而这个错误是用户对数据进行操作时而导致,比如在进行选择、修改数据库时等操作。
解决方法:需要更新mysql.user的相应用户记录,或者直接修改 ./config.inc.php,为其配置一个具有对数据库操作权限的用户。
问题四 Can’t not create Database.Database exists
不能创建某个数据库,该数据库已经存在。由于一个MySQL下面的数据库名称必须保证唯一性,否则就会有这个错误。
解决方法:把已经存在的数据库删除或改名,也可以把将要创建的数据库重新改名,让其名称不冲突就可以了。
问题五 Too many connections
此错误是表示已经达到最大连接数,连接数超过了MySQL设置的值,这个与max_connections和wait_timeout 都有关系。
解决方法:需要自行优化MySQL服务器的配置,修改MySQL配置文件my.ini或者my.cnf 中的参数:
max_connections= 2000
wait_timeout = 20
修改后重启MySQL数据库,如果经常性的报此错误,可以对服务器的整体性能做优化。
问题六 Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
出现这个错误一般是因为下面两个原因导致的:
1、MySQL服务器没有开启。
2、MySQL服务器开启了,但无法找到socket文件。
解决方法:请检查一下MySQL服务是否已经开启。如果已经开启,需要检查MySQL的socket路径,然后打开config.inc.php找到$dbhost = 'localhost'; 在hostname后面加冒号‘:’和 MySQL 的 socket 的路径。
烟火向星辰,所愿皆成真!