• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 在Solaris上安装MySQL

    注意

    MySQL 8.0支持Solaris 11.4及更高版本

    Solaris上的MySQL有多种不同格式。

    • 有关使用本机Solaris PKG格式进行安装的信息,请参见“使用Solaris PKG在Solaris上安装MySQL”。
    • 要使用标准tar二进制安装,请使用“使用通用二进制在Unix / Linux上安装MySQL”中提供的注释。参见本节末尾的注释和提示,以获取在安装之前或之后可能需要的Solaris特定注释。
    重要

    安装软件包依赖于Oracle Developer Studio 12.6运行时库,在运行MySQL安装软件包之前必须先安装该库。在此处参见Oracle Developer Studio的下载选项。该安装软件包使您只能安装运行时库,而不是完整的Oracle Developer Studio。请参见在Oracle Solaris 11上仅安装运行时库中的说明。

    要以tarball或PKG格式获取Solaris的二进制MySQL发行版,请https://dev.mysql.com/downloads/mysql/8.0.html。

    在Solaris上安装和使用MySQL时要注意的其他注意事项:


    • 如果要对mysql用户和组使用MySQL ,请使用groupadduseradd命令:

      groupadd mysql
      useradd -g mysql -s /bin/false mysql
      
    • 如果您在Solaris上使用二进制tarball发行版安装MySQL,则由于Solaris tar无法处理长文件名,请使用GNU targtar)解压缩发行版。如果您的系统上没有GNU tar,请使用以下命令进行安装:

      pkg install archiver/gnu-tar
      
    • 您应该InnoDB使用该forcedirectio选项挂载要在其上存储文件的任何文件系统。(默认情况下,不使用此选项进行安装。)如果不这样做,将导致InnoDB在此平台上使用存储引擎时性能大幅下降。
    • 如果您希望MySQL自动启动,则可以复制support-files/mysql.server到 MySQL /etc/init.d并创建一个名为的符号链接/etc/rc3.d/S99mysql.server
    • 如果太多进程试图非常快速地连接到mysqld,则您应该在MySQL日志中看到此错误:

      Error in accept: Protocol error
      

      您可以尝试使用--back_log=50选项启动服务器,以解决此问题。

    • 要在Solaris上配置核心文件的生成,应使用coreadm命令。由于在setuid()应用程序上生成内核的安全隐患,默认情况下,Solaris不支持setuid()程序上的内核文件。但是,您可以使用coreadm修改此行为。如果setuid()为当前用户启用核心文件,则它们将使用模式600生成并由超级用户拥有。


    使用Solaris PKG在Solaris上安装MySQL

    您可以使用本机Solaris PKG格式的二进制软件包而不是二进制tarball发行版在MySQL上安装MySQL。

    重要

    安装软件包依赖于Oracle Developer Studio 12.6运行时库,在运行MySQL安装软件包之前必须先安装该库。在此处参见Oracle Developer Studio的下载选项。该安装软件包使您只能安装运行时库,而不是完整的Oracle Developer Studio。请参见在Oracle Solaris 11上仅安装运行时库中的说明。

    要使用此软件包,请下载相应的mysql-VERSION-solaris11-PLATFORM.pkg.gz文件,然后将其解压缩。例如:

    shell>gunzip mysql-8.0.21-solaris11-x86_64.pkg.gz
    

    要安装新软件包,请使用pkgadd并按照屏幕上的提示进行操作。您必须具有root特权才能执行此操作:

    shell>pkgadd -d mysql-8.0.21-solaris11-x86_64.pkg
    
    The following packages are available:
    1 mysql MySQL Community Server (GPL)
    (i86pc) 8.0.21
    
    Select package(s) you wish to process (or 'all' to process
    all packages). (default: all) [?,??,q]:
    

    PKG安装程序将安装所需的所有文件和工具,然后初始化数据库(如果不存在)。要完成安装,您应该按照安装结束时的说明中的说明设置MySQL的根密码。另外,您可以运行安装随附的mysql_secure_installation脚本。

    默认情况下,PKG软件包将MySQL安装在root路径下/opt/mysql。使用pkgadd时,只能更改安装根路径,该路径可用于在其他Solaris区域中安装MySQL。如果需要安装在特定目录中,请使用二进制tar文件分发。

    pkg安装程序将适当的启动脚本为MySQL成/etc/init.d/mysql。为了使MySQL自动启动和关闭,您应该在该文件和init脚本目录之间创建一个链接。例如,为确保MySQL的安全启动和关闭,可以使用以下命令添加正确的链接:

    shell>ln /etc/init.d/mysql /etc/rc3.d/S91mysql
    shell>ln /etc/init.d/mysql /etc/rc0.d/K02mysql
    

    要删除MySQL,安装的软件包名称为mysql。可以将其与pkgrm命令结合使用以删除安装。

    要在使用Solaris软件包文件格式时进行升级,必须在安装更新的软件包之前删除现有安装。删除软件包不会删除现有的数据库信息,只会删除服务器,二进制文件和支持文件。因此,典型的升级顺序为:

    shell>mysqladmin shutdown
    shell>pkgrm mysql
    shell>pkgadd -d mysql-8.0.21-solaris11-x86_64.pkg
    shell>mysqld_safe &
    shell>mysql_upgrade   # prior to MySQL 8.0.16 only
    

    在执行任何升级之前,您应该参见“升级MySQL”中的注释。

    在FreeBSD上安装MySQL

    本节提供有关在FreeBSD Unix变体上安装MySQL的信息。

    您可以使用Oracle提供的二进制发行版在FreeBSD上安装MySQL。有关更多信息,请参见“使用通用二进制文件在Unix / Linux上安装MySQL”。

    安装MySQL最简单(也是首选)的方法是使用mysql-servermysql-client可从http://www.freebsd.org/获得的端口。使用这些端口可为您带来以下好处:

    • 运行中的MySQL已启用所有已知的优化功能,可在您的FreeBSD版本上使用。
    • 自动配置和构建。
    • 安装在中的启动脚本/usr/local/etc/rc.d
    • 要使用该功能pkg_info -L来参见所安装的文件。
    • pkg_delete如果您不再希望在计算机上使用它,可以使用它来删除MySQL。

    MySQL的构建过程需要GNU make(gmake)才能起作用。如果GNU make不可用,则必须先安装它,然后再编译MySQL。

    注意

    按照ldd mysqld的前提条件库:libthr,libcrypt,libm,librt,libexecinfo,libunwind和libssl。

    要使用端口系统进行安装:

    # cd /usr/ports/databases/mysql80-server
    # make
    ...
    # cd /usr/ports/databases/mysql80-client
    # make
    ...
    

    标准端口安装将服务器放入其中/usr/local/libexec/mysqld,并放置了MySQL服务器的启动脚本/usr/local/etc/rc.d/mysql-server

    有关BSD实现的一些其他说明:

    • 在使用端口系统安装后删除MySQL:

      # cd /usr/ports/databases/mysql80-server
      # make deinstall
      ...
      # cd /usr/ports/databases/mysql80-client
      # make deinstall
      ...
      
    • 如果您在MySQL中使用当前日期遇到问题,则设置TZ变量应该会有所帮助。请参见“命令行工具环境变量”。