【问题标题】:Correct way of updating PHP/MySQL on a running Plesk 11.5 server?在运行的 Plesk 11.5 服务器上更新 PHP/MySQL 的正确方法?
【发布时间】:2014-06-19 03:32:23
【问题描述】:

我需要将我的服务器更新到 PHP 5.5 和 MySQL 5.6,目前正在运行 Plesk 11.5 (CentOS x64)。我已将以下存储库添加到 YUM:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

我可以运行yum update 来全局更新系统。

我应该需要特殊命令还是只需将.rpmnew 文件合并到现有文件中(即php.inimy.cnf)?

AFAIK Plesk 11.5 不支持 MySQL 5.6,因为STRICT_TRANS_TABLES SQL 标志默认启用。在 Plesk 12 之前,我可以简单地从 my.cnf 中删除标志吗?

【问题讨论】:

    标签: php mysql linux centos plesk


    【解决方案1】:

    只是为了实验,我已经尝试将 PHP 和 MySQL 升级到这个版本。

    我只遇到了 ODBC 连接器的问题:

    ODBC error #01000: [unixODBC][Driver Manager]Can't open lib '/usr/lib64/libmyodbc5.so' : file not found
    
    
    ODBC error #08S01: [unixODBC][MySQL][ODBC 5.3(w) Driver]Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
    

    在 /etc/odbcinst.ini 中按照 DSN 安装 Plesk 寄存器时

    [MySQL]
    Description             = MySQL driver for Plesk
    Driver          = /usr/lib64/libmyodbc5.so
    Setup           =
    FileUsage               = 1
    Driver64                = /usr/lib64/libmyodbc5.so
    Setup64         =
    UsageCount              = 1
    

    安装 MySQL 5.6 后没有更多的文件 /usr/lib64/libmyodbc5.so,因为它是由不再安装的 mysql-connector-odbc-5.1.5r1144-7 提供的。

    但是有 /usr/lib64/libmyodbc5a.so 和 /usr/lib64/libmyodbc5w.so(来自新的 5.6 连接器)。

    我已将 /usr/lib64/libmyodbc5.so 中的 /etc/odbcinst.ini 中的 /usr/lib64/libmyodbc5a.so 替换为 /usr/lib64/libmyodbc5a.so。

    因为我不知道如何为此驱动程序配置套接字,所以我添加了符号链接:

    ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
    

    在那之后,我发现即使使用 STRICT_TRANS_TABLES,plesk 也基本运行良好。

    要在服务器重启后保持链接,在 /etc/init.d/mysqld 的开头添加以下字符串:

    if [ ! -L /tmp/mysql.sock ]; then  ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock ; fi
    

    【讨论】:

    • 感谢您的帮助。在 Parallels 论坛(另一个昵称,但它只是我)上启动此线程后不久,我来到了相同的解决方案:forum.parallels.com/…。现在似乎工作文件,但我想了解为什么会这样......
    • 很清楚了,mysql-connector-odbc-5.1.5r1144-7提供的/usr/lib64/libmyodbc5.so已经没有安装了。
    • 好的...但是丢失的套接字 /tmp/mysql.sock 呢?我正在运行另一个 Plesk 安装(从 Remi 安装的 mysql 5.5.36,而不是从 MySQL 存储库安装)。无需设置符号链接,但它工作正常。
    • 没有丢失/tmp/mysql.sock。 RedHat/CentOS 上的 mysqld 默认将套接字存储在 /var/lib/mysql/mysql.sock,这是关于编译到 /usr/lib64/libmyodbc5a.so 中的默认套接字位置的问题。 # 字符串 /usr/lib64/libmyodbc5a.so | grep mysql.sock
    • 太好了,现在我明白了。感谢您的帮助!
    猜你喜欢
    • 2015-01-01
    • 2015-05-05
    • 1970-01-01
    • 1970-01-01
    • 2023-01-20
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多