Chocolatey Fest - Chocolatey's inaugural conference on Windows Automation (WinOps) is coming - Learn more!

MySQL (Community Server)

5.7.18

Package test results are passing.

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

This package was approved as a trusted package on 6/20/2018.

MySQL Community Edition is the freely downloadable version of the world's most popular open source database. It is available under the GPL license and is supported by a huge and active community of open source developers.

To install MySQL (Community Server), run the following command from the command line or from PowerShell:

C:\> choco install mysql

To upgrade MySQL (Community Server), run the following command from the command line or from PowerShell:

C:\> choco upgrade mysql

Files

Hide
  • tools\chocolateyInstall.ps1 Show
    # MySql Package
    $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
    $packageName = 'mysql'
    $packageType = 'msi'
    $silentArgs = '/passive'
    $url = 'https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-win32.zip'
    $url64 = 'https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-winx64.zip'
    
    $binRoot = Get-BinRoot
    $installDir = Join-Path $binRoot "$packageName"
    $installDirBin = "$($installDir)\current\bin"
    Write-Host "Adding `'$installDirBin`' to the path and the current shell path"
    Install-ChocolateyPath "$installDirBin"
    $env:Path = "$($env:Path);$($installDirBin)"
    
    
    if (![System.IO.Directory]::Exists($installDir)) {[System.IO.Directory]::CreateDirectory($installDir) | Out-Null}
    
    $tempDir = "$env:TEMP\chocolatey\$($packageName)"
    if (![System.IO.Directory]::Exists($tempDir)) {[System.IO.Directory]::CreateDirectory($tempDir) | Out-Null}
    
    $file = Join-Path $tempDir "$($packageName).zip"
    Get-ChocolateyWebFile "$packageName" "$file" "$url" "$url64"
    
    Get-ChocolateyUnzip "$file" "$installDir"
    
    # find the unpack directory
    $installedContentsDir = get-childitem $installDir -include 'mysql*' | Sort-Object -Property LastWriteTime -Desc | select -First 1
    # shut down service if running
    try {
      write-host "Shutting down MySQL if it is running"
      Start-ChocolateyProcessAsAdmin "cmd /c NET STOP MySQL"
      Start-ChocolateyProcessAsAdmin "cmd /c sc delete MySQL"
    } catch {
      # no service installed
    }
    
    # delete current bin directory contents
    if ([System.IO.Directory]::Exists("$installDirBin")) {
      write-host "Clearing out the contents of `'$installDirBin`'."
      start-sleep 3
      [System.IO.Directory]::Delete($installDirBin,$true)
    }
    
    # copy the installed directory into the current dir
    Write-host "Copying contents of `'$installedContentsDir`' to `'$($installDir)\current`'."
    [System.IO.Directory]::CreateDirectory("$installDirBin") | Out-Null
    Copy-Item "$($installedContentsDir)\*" "$($installDir)\current" -Force -Recurse
    
    $iniFileDest = "$($installDir)\current\my.ini"
    if (!(Test-Path($iniFileDest))) {
      Write-Host "No existing my.ini. Creating default '$iniFileDest' with default locations for datadir."
      
    @"
    [mysqld]
    basedir=$($installDir.Replace("\","\\"))\\current
    datadir=C:\\ProgramData\\MySQL\\data
    "@ | Out-File $iniFileDest -Force -Encoding ASCII
    }
    
    # initialize everything
    # https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html
    Write-Host "Initializing mysql if it hasn't already been initialized."
    try {
    
      $defaultDataDir='C:\ProgramData\MySQL\data'
      if (![System.IO.Directory]::Exists($defaultDataDir)) {[System.IO.Directory]::CreateDirectory($defaultDataDir) | Out-Null}
      Start-ChocolateyProcessAsAdmin "cmd /c '$($installDirBin)\mysqld' --defaults-file=$iniFileDest --initialize-insecure"
    } catch {
      write-host "MySQL has already been initialized"
    }
    
    # install the service itself
    write-host "Installing the mysql service"
    Start-ChocolateyProcessAsAdmin "cmd /c '$($installDirBin)\mysqld' --install"
    # turn on the service
    Start-ChocolateyProcessAsAdmin "cmd /c NET START MySQL"
    
    

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Dependencies

Package Maintainer(s)

Software Author(s)

  • Oracle

Tags

Version History

Version Downloads Last updated Status
MySQL (Community Server) 5.7.17 10635 Monday, December 12, 2016 approved
MySQL (Community Server) 5.7.16 2936 Wednesday, October 12, 2016 approved
MySQL (Community Server) 5.7.15 1428 Tuesday, September 6, 2016 approved
MySQL (Community Server) 5.7.14 8047 Friday, July 29, 2016 approved
MySQL (Community Server) 5.7.13 790 Thursday, June 2, 2016 approved
MySQL (Community Server) 5.7.12 679 Monday, April 11, 2016 approved
MySQL (Community Server) 5.7.11.20160317 774 Thursday, March 17, 2016 approved
MySQL (Community Server) 5.7.11 920 Friday, February 5, 2016 approved
MySQL (Community Server) 5.7.10.20151209 782 Wednesday, December 9, 2015 approved
Show More

Discussion for the MySQL (Community Server) Package

Ground rules:

  • This discussion is only about MySQL (Community Server) and the MySQL (Community Server) package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or MySQL (Community Server), or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus
Chocolatey.org uses cookies to enhance the user experience of the site.
Ok