• docker安装mysql常见问题


    安装:

    请看链接:https://www.cnblogs.com/jingxiaoniu/p/12557663.html

    问题:

    php代码测试连接mysql报错,连接失败

    $servername = "mysql";
    $username = "root";
    $password = "root";
    
    // 创建连接
    $conn = new mysqli($servername, $username, $password);
    
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }
    echo "连接成功";

    一 没有mysqli扩展支持

    php链接mysql需要mysqli扩展的支持,docker安装mysql默认没有mysqli扩展,需要下载。

    1 进入docker的mysql容器内部

    docker exec -it [容器ID] bash

    2 进入docker-php-ext-install目录

    cd /usr/local/bin

    3 下载mysqli扩展

    ./docker-php-ext-install mysqli

    4 查看扩展目录

    cd /usr/local/lib/php/extension/no-debug-non-zts-[时间版本]

    5 查看是否成功

    是否有mysqli.so文件,如果有就表示下载成功

    6 修改php配置文件,添加mysqli.so扩展

    extension=mysqli.so

    7 重启php容器

    docker restart [容器名称|ID]

    二 mysql链接主机问题

     php要链接docker中运行的mysql是不能用localhost或127.0.0.1来链接的,因为每个docker运行容器的localhost 127.0.0.1都是自己容器本身,不是mysql容器,需要修改成mysql容器内部IP或者是mysql容器名称

    1 获取容器内部IP地址

    docker inspect [容器名称|ID] |grep IPAddress

    docker inspect --format='{{.NetworkSettings.IPAddress}}' [容器名称|ID]

    2 修改连接主机IP (如:)

    $servername = 'mysql'

    $servername = '172.27.0.5'

    三 mysql8版本问题

    mysql8.0使用新的安全验证方式caching_sha_password,默认是mysql_native_password

    解决方法:

    1 查看用户plugin方式,如果为 caching_sha_password 修改

    select * from userG;

    2 设置用户不过期可跳过

    ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

    3 修改身份验证类型

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'

    4 刷新权限生效

    FLUSH PRIVILEGES;

    四 navicat连接mysql失败

    主机名或ip地址不能使用127.0.0.1 或 localhost链接,使用本机IP

    1 查看本机IP地址

    ifconfig

    以上就是这次的全部内容!

  • 相关阅读:
    获取枚举Description的Name
    MVC 3 RequiredIf validator for multiple values
    js关闭页面(兼容浏览器)
    js实现复制到剪切板
    Reverse Integer
    303. Range Sum Query
    326.Power of Three
    328. Odd Even Linked List
    面试基础知识点
    javaSE学习博客与笔记
  • 原文地址:https://www.cnblogs.com/jingxiaoniu/p/12566883.html
Copyright © 2020-2023  润新知