MySQL 8, 新特性, 网站数据库
mysql8.0新特性的小问题和解决办法 一、创建用户和授权 在mysql8.0创建用户和授权和之前不太一样了,其实严格上来讲,也不能说是不一样,只能说是更严格,mysql8.0需要先创建用户和设置密码,然后才能授权。 ?
如果还是用原来5.7的那种方式,会报错误: grant all privileges on *.* to 'sroot'@'%' identified by '123123';二、MySQL8.0 的远程链接 MySQL8.0 网站安装完成后出现无法远程链接的现象,这是因为MySQL8.0 只支持 localhost 访问,咱们必须设置一下才可以远程访问。 具体设置步骤如下: ① 登录MySQL 执行命令为:mysql -u root -p 回车后输入密码 ② 选择 mysql 网站数据库 执行命令为:use mysql; 查看mysql 网站数据库中存储的用户信息的 user 表。 ③ 查看mysql 网站数据库的 user 表中当前 root 用户的相关信息 执行命令为:select host,user,authentication_string,plugin from user; 执行完命令后显示一个表格, root 用户的 host默认显示的 localhost,说明只支持本地访问,不允许远程访问。 ④ 更改 host 的默认配置 执行命令为:update user set host='%' where user='root'; ⑤ 刷新 执行命令为:flush privileges; 之前以为这样就行了,然后呢,在用navicat进行mysql的远程连接时,出现了弹窗报错: 2018092810133836.png 名站网址导航提供 名站网址导航 2019-11-14 23:05 名站分类目录 出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题具体的方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 我用是第二种方式 : ?
问题就解决了。 mysql8.0用户密码设置注意事项 在MySQL 8.0.11中,caching_sha2_password是默认的身份验证插件,而不是以往的mysql_native_password。有关此更改对网站站点的服务器具体操作办法的影响以及网站站点的服务器与客户端和连接器的兼容性的信息,请参阅caching_sha2_password作为首选的身份验证插件。(翻译自https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html) 今天在新服务上配置网站安装mysql8.0.11时,像往常一样设置mysql密码,设置成功后在shell下输入mysql -u root -p,再输入密码能正常进入,但在phpmyadmin或直接用http://php.net/manual/zh/mysqli.real-connect.php上的连接,均提示无法连接,具体报错信息为 mysqli_real_connect(): The server requested authentication method unknown to the client [sha256_password]搜了一圈,找到官方文档才发现从8.0.11版本起,不再像mysql5.7及以前版本那样,设置用户密码时默认的验证方式为caching_sha2_password,如果发现升级mysql8.0.11后原有的网站程序不能连接mysql,可迅速在mysql command line client客户端用下面的命令设置成mysql5.7及以前版本的密码验证方式,同时MYSQL8.0.11下修改密码的方式与原先也不大一样,原先的部分修改密码的命令在mysql8.0.11下不能使用。 ?
以上内容来自网络,经小编整合及分析总结,希望对大驾的学习有所帮助 |
原来404页面可以这样做