zoukankan      html  css  js  c++  java
  • PHP 5.6连接MySQL 8.0版本遇到的坑

    一、数据库失败Warning: mysqli_connect(): The server requested authentication method unknown to t...

    1 <?php
    2 
    3 //查询数据的查询语句
    4 //1.建立与数据库服务器之间的连接
    5 $connection = @mysqli_connect('127.0.0.1','root','123456','demo2');
    6 
    7 
    8 var_dump($connection);

    查询资料之后发现:

    查了一下发现是mysql8密码机制换成了cha2导致的,解决办法hin简单,来一个SQL命令

    1 mysql> ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';                                    

    二、不要在MySQL中使用utf8,改用utf8mb4

      

    1.为什么需要使用utf8mb4???

    在mysql、MariaDB中:

      • MySQL的“utf8mb4”是真正的“UTF-8”。长度是4个字节。

      • MySQL的“utf8”是mysql自己的一种“专属的编码”,它的最大字符长度为 3 字节。只是“UTF-8”标准的一个子集。

        所以Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和一些不常用的汉字,存储就会报错。

    2、如何修改:

     

    修改MySQL配置文件,修改mysql的客户端默认连接字符集,服务端以及数据库的默认字符集

    只需要在MySQL配置文件中[mysqld]下加这两行

    1 character-set-server = utf8mb4
    2  
    3 collation-server = utf8mb4_unicode_ci

    3、最后是重启mysql

  • 相关阅读:
    计算机专业术语中英对照
    PhpStorm如何下载github上的代码到本地
    PDO学习
    Shell中特殊的变量
    Shell中变量的使用
    修改cmd的字体
    Shell的输入输出
    Shell入门第一课
    设计模式--观察者(Observer)
    eclipse中使用git提交代码到github
  • 原文地址:https://www.cnblogs.com/my12-28/p/11844301.html
Copyright © 2011-2022 走看看