2.2 Installing MySQL on Unix/Linux Using Generic Binaries

   Oracle provides a set of binary distributions of MySQL. These
   include binary distributions in the form of compressed tar
   files (files with a .tar.gz extension) for a number of
   platforms, as well as binaries in platform-specific package
   formats for selected platforms.

   This section covers the installation of MySQL from a
   compressed tar file binary distribution. For other
   platform-specific package formats, see the other
   platform-specific sections. For example, for Windows
   distributions, see Section 2.3, "Installing MySQL on
   Microsoft Windows."

   To obtain MySQL, see Section 2.1.3, "How to Get MySQL."

   MySQL compressed tar file binary distributions have names of
   the form mysql-VERSION-OS.tar.gz, where VERSION is a number
   (for example, 5.5.42), and OS indicates the type of operating
   system for which the distribution is intended (for example,
   pc-linux-i686 or winx64).

   To install MySQL from a compressed tar file binary
   distribution, your system must have GNU gunzip to uncompress
   the distribution and a reasonable tar to unpack it. If your
   tar program supports the z option, it can both uncompress and
   unpack the file.

   GNU tar is known to work. The standard tar provided with some
   operating systems is not able to unpack the long file names
   in the MySQL distribution. You should download and install
   GNU tar, or if available, use a preinstalled version of GNU
   tar. Usually this is available as gnutar, gtar, or as tar
   within a GNU or Free Software directory, such as /usr/sfw/bin
   or /usr/local/bin. GNU tar is available from
   http://www.gnu.org/software/tar/.
   Warning

   If you have previously installed MySQL using your operating
   system native package management system, such as yum or
   apt-get, you may experience problems installing using a
   native binary. Make sure your previous MySQL previous
   installation has been removed entirely (using your package
   management system), and that any additional files, such as
   old versions of your data files, have also been removed. You
   should also check the existence of configuration files such
   as /etc/my.cnf or the /etc/mysql directory have been deleted.

   If you run into problems and need to file a bug report,
   please use the instructions in Section 1.7, "How to Report
   Bugs or Problems."

   On Unix, to install a compressed tar file binary
   distribution, unpack it at the installation location you
   choose (typically /usr/local/mysql). This creates the
   directories shown in the following table.

   Table 2.3 MySQL Installation Layout for Generic Unix/Linux
   Binary Package
   Directory Contents of Directory
   bin Client programs and the mysqld server
   data Log files, databases
   docs Manual in Info format
   man Unix manual pages
   include Include (header) files
   lib Libraries
   scripts mysql_install_db
   share Miscellaneous support files, including error messages,
   sample configuration files, SQL for database installation
   sql-bench Benchmarks

   Debug versions of the mysqld binary are available as
   mysqld-debug. To compile your own debug version of MySQL from
   a source distribution, use the appropriate configuration
   options to enable debugging support. For more information on
   compiling from source, see Section 2.9, "Installing MySQL
   from Source."

   To install and use a MySQL binary distribution, the basic
   command sequence looks like this:
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

   A more detailed version of the preceding description for
   installing a binary distribution follows.
   Note

   This procedure assumes that you have root (administrator)
   access to your system. Alternatively, you can prefix each
   command using the sudo (Linux) or pfexec (OpenSolaris)
   command.

   The procedure does not set up any passwords for MySQL
   accounts. After following the procedure, proceed to Section
   2.10.2, "Securing the Initial MySQL Accounts."

Create a mysql User and Group

   If your system does not already have a user and group for
   mysqld to run as, you may need to create one. The following
   commands add the mysql group and the mysql user. You might
   want to call the user and group something else instead of
   mysql. If so, substitute the appropriate name in the
   following instructions. The syntax for useradd and groupadd
   may differ slightly on different versions of Unix, or they
   may have different names such as adduser and addgroup.
shell> groupadd mysql
shell> useradd -r -g mysql mysql

   Note

   Because the user is required only for ownership purposes, not
   login purposes, the useradd command uses the -r option to
   create a user that does not have login permissions to your
   server host. Omit this option to permit logins for the user
   (or if your useradd does not support the option).

Obtain and Unpack the Distribution

   Pick the directory under which you want to unpack the
   distribution and change location into it. The example here
   unpacks the distribution under /usr/local. The instructions,
   therefore, assume that you have permission to create files
   and directories in /usr/local. If that directory is
   protected, you must perform the installation as root.
shell> cd /usr/local

   Obtain a distribution file using the instructions in Section
   2.1.3, "How to Get MySQL." For a given release, binary
   distributions for all platforms are built from the same MySQL
   source distribution.

   Unpack the distribution, which creates the installation
   directory. Then create a symbolic link to that directory. tar
   can uncompress and unpack the distribution if it has z option
   support:
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql

   The tar command creates a directory named mysql-VERSION-OS.
   The ln command makes a symbolic link to that directory. This
   enables you to refer more easily to the installation
   directory as /usr/local/mysql.

   If your tar does not have z option support, use gunzip to
   unpack the distribution and tar to unpack it. Replace the
   preceding tar command with the following alternative command
   to uncompress and extract the distribution:
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -

Perform Postinstallation Setup

   The remainder of the installation process involves setting up
   the configuration file, creating the core databases, and
   starting the MySQL server. For next steps, see Section 2.10,
   "Postinstallation Setup and Testing."
   Note

   The accounts that are listed in the MySQL grant tables
   initially have no passwords. After starting the server, you
   should set up passwords for them using the instructions in
   Section 2.10.2, "Securing the Initial MySQL Accounts."
2.3 Installing MySQL on Microsoft Windows

   There are several different methods to install MySQL on
   Microsoft Windows.

Simple Installation Method

   The simplest and recommended method is to download MySQL
   Installer (for Windows) and let it install and configure all
   of the MySQL products on your system. Here is how:

     * Download MySQL Installer from
       http://dev.mysql.com/downloads/installer/ and execute it.
       Note
       Unlike the standard MySQL Installer, the smaller
       "web-community" version does not bundle any MySQL
       applications but it will download the MySQL products you
       choose to install.

     * Choose the appropriate Setup Type for your system.
       Typically you will choose Developer Default to install
       MySQL server and other MySQL tools related to MySQL
       development, helpful tools like MySQL Workbench. Or,
       choose the Custom setup type to manually select your
       desired MySQL products.
       Note
       Multiple versions of MySQL server can exist on a single
       system. You can choose one or multiple versions.

     * Complete the installation process by following the MySQL
       Installation wizard's instructions. This will install
       several MySQL products and start the MySQL server.

     * MySQL is now installed. You probably configured MySQL as
       a service that will automatically start MySQL server
       every time you restart your system.

   Note

   You probably also installed other helpful MySQL products like
   MySQL Workbench and MySQL Notifier on your system. Consider
   loading Chapter 26, "MySQL Workbench" to check your new MySQL
   server connection, and Section 2.3.4, "MySQL Notifier" to
   view the connection's status. By default, these two programs
   automatically start after installing MySQL.

   This process also installs the MySQL Installer application on
   your system, and later you can use MySQL Installer to upgrade
   or reconfigure your MySQL products.

Additional Installation Information

   MySQL is available for Microsoft Windows, for both 32-bit and
   64-bit versions. For supported Windows platform information,
   see
   http://www.mysql.com/support/supportedplatforms/database.html
   .

   It is possible to run MySQL as a standard application or as a
   Windows service. By using a service, you can monitor and
   control the operation of the server through the standard
   Windows service management tools. For more information, see
   Section 2.3.7.7, "Starting MySQL as a Windows Service."

   Generally, you should install MySQL on Windows using an
   account that has administrator rights. Otherwise, you may
   encounter problems with certain operations such as editing
   the PATH environment variable or accessing the Service
   Control Manager. Once installed, MySQL does not need to be
   executed using a user with Administrator privileges.

   For a list of limitations on the use of MySQL on the Windows
   platform, see Section D.10.6, "Windows Platform Limitations."

   In addition to the MySQL Server package, you may need or want
   additional components to use MySQL with your application or
   development environment. These include, but are not limited
   to:

     * To connect to the MySQL server using ODBC, you must have
       a Connector/ODBC driver. For more information, including
       installation and configuration instructions, see MySQL
       Connector/ODBC Developer Guide
       (http://dev.mysql.com/doc/connector-odbc/en/index.html).
       Note
       MySQL Installer will install and configure Connector/ODBC
       for you.

     * To use MySQL server with .NET applications, you must have
       the Connector/Net driver. For more information, including
       installation and configuration instructions, see MySQL
       Connector/Net Developer Guide
       (http://dev.mysql.com/doc/connector-net/en/index.html).
       Note
       MySQL Installer will install and configure Connector/NET
       for you.

   MySQL distributions for Windows can be downloaded from
   http://dev.mysql.com/downloads/. See Section 2.1.3, "How to
   Get MySQL."

   MySQL for Windows is available in several distribution
   formats, detailed below. Generally speaking, you should use
   MySQL Installer. It contains more features and MySQL products
   than the older MSI, is simpler to use than the ZIP file, and
   you need no additional tools to get MySQL up and running.
   MySQL Installer automatically installs MySQL Server and
   additional MySQL products, creates an options file, starts
   the server, and enables you to create default user accounts.
   For more information on choosing a package, see Section
   2.3.2, "Choosing An Installation Package."

     * Binary installer distributions. There are two different
       installable distributions that come packaged as a
       Microsoft Windows Installer (MSI) package that you can
       install manually or automatically on your systems. The
       preferred MySQL Installer package includes MySQL Server
       and additional MySQL products including MySQL Workbench,
       MySQL Notifier, and MySQL for Excel. MySQL Installer can
       also be used to upgrade these product in the future. The
       older MSI package contains all the files you need to
       install and configure MySQL server, but no additional
       components.
       For instructions on installing MySQL using MySQL
       Installer, see Section 2.3.3, "Installing MySQL on
       Microsoft Windows Using MySQL Installer."

     * The standard binary distribution (packaged as a Zip file)
       contains all of the necessary files that you unpack into
       your chosen location. This package contains all of the
       files in the full Windows MSI Installer package, but does
       not include an installation program.
       For instructions on installing MySQL using the Zip file,
       see Section 2.3.7, "Installing MySQL on Microsoft Windows
       Using a noinstall Zip Archive."

     * The source distribution format contains all the code and
       support files for building the executables using the
       Visual Studio compiler system.
       For instructions on building MySQL from source on
       Windows, see Section 2.9, "Installing MySQL from Source."

   MySQL on Windows considerations:

     * Large Table Support
       If you need tables with a size larger than 4GB, install
       MySQL on an NTFS or newer file system. Do not forget to
       use MAX_ROWS and AVG_ROW_LENGTH when you create tables.
       See Section 13.1.17, "CREATE TABLE Syntax."

     * MySQL and Virus Checking Software
       Virus-scanning software such as Norton/Symantec
       Anti-Virus on directories containing MySQL data and
       temporary tables can cause issues, both in terms of the
       performance of MySQL and the virus-scanning software
       misidentifying the contents of the files as containing
       spam. This is due to the fingerprinting mechanism used by
       the virus-scanning software, and the way in which MySQL
       rapidly updates different files, which may be identified
       as a potential security risk.
       After installing MySQL Server, it is recommended that you
       disable virus scanning on the main directory (datadir)
       used to store your MySQL table data. There is usually a
       system built into the virus-scanning software to enable
       specific directories to be ignored.
       In addition, by default, MySQL creates temporary files in
       the standard Windows temporary directory. To prevent the
       temporary files also being scanned, configure a separate
       temporary directory for MySQL temporary files and add
       this directory to the virus scanning exclusion list. To
       do this, add a configuration option for the tmpdir
       parameter to your my.ini configuration file. For more
       information, see Section 2.3.7.2, "Creating an Option
       File."

2.3.1 MySQL Installation Layout on Microsoft Windows

   For MySQL 5.5 on Windows, the default installation directory
   is C:\Program Files\MySQL\MySQL Server 5.5. Some Windows
   users prefer to install in C:\mysql, the directory that
   formerly was used as the default. However, the layout of the
   subdirectories remains the same.

   All of the files are located within this parent directory,
   using the structure shown in the following table.

   Table 2.4 Default MySQL Installation Layout for Microsoft
   Windows
   Directory Contents of Directory Notes
   bin Client programs and the mysqld server
   %ALLUSERSPROFILE%\MySQL\MySQL Server 5.5\ Log files,
   databases (Windows XP, Windows Server 2003) The Windows
   system variable %ALLUSERSPROFILE% defaults to C:\Documents
   and Settings\All Users\Application Data
   %PROGRAMDATA%\MySQL\MySQL Server 5.5\ Log files, databases
   (Vista, Windows 7, Windows Server 2008, and newer) The
   Windows system variable %PROGRAMDATA% defaults to
   C:\ProgramData
   examples Example programs and scripts
   include Include (header) files
   lib Libraries
   scripts Utility scripts
   share Miscellaneous support files, including error messages,
   character set files, sample configuration files, SQL for
   database installation

   If you install MySQL using a Windows MSI package, this
   package creates and sets up the data directory that the
   installed server will use, but as of MySQL 5.5.5, it also
   creates a pristine "template" data directory named data under
   the installation directory. This directory can be useful when
   the machine will be used to run multiple instances of MySQL:
   After an installation has been performed using an MSI
   package, the template data directory can be copied to set up
   additional MySQL instances. See Section 5.3, "Running
   Multiple MySQL Instances on One Machine."

2.3.2 Choosing An Installation Package

   For MySQL 5.5, there are installation package formats to
   choose from when installing MySQL on Windows:
   Note

   MySQL Installer and the "Complete Package" methods for
   installing MySQL are similar, but different. The MySQL
   Installer is the newer and more advanced option, and it
   includes all functionality found within the "Complete
   Package."

     * MySQL Installer: This package has a file name similar to
       mysql-installer-community-5.5.42.0.msi or
       mysql-installer-commercial-5.5.42.0.msi, and utilizes
       MSIs to automatically install MySQL server and other
       products. It will download and apply updates to itself,
       and for each of the installed products. It also
       configures the additional non-server products.
       The installed products are configurable, and this
       includes: documentation with samples and examples,
       connectors (such as C, C++, J, NET, and ODBC), MySQL
       Workbench, MySQL Notifier, MySQL for Excel, and the MySQL
       Server with its components.
       MySQL Installer will run on all Windows platforms that
       are supported by MySQL (see
       http://www.mysql.com/support/supportedplatforms/database.
       html).
       Note
       Because MySQL Installer is not a native component of
       Microsoft Windows and depends on .NET, it will not work
       on minimal installation options like the "Server Core"
       version of Windows Server 2008.
       For instructions on installing MySQL using MySQL
       Installer, see Section 2.3.3, "Installing MySQL on
       Microsoft Windows Using MySQL Installer."

     * The Complete Package: This package has a file name
       similar to mysql-5.5.42-win32.msi or
       mysql-5.5.42-winx64.zip, and contains all files needed
       for a complete Windows installation, including the
       Configuration Wizard. This package includes optional
       components such as the embedded server and benchmark
       suite.

     * The Noinstall Archive: This package has a file name
       similar to mysql-5.5.42-win32.zip or
       mysql-5.5.42-winx64.zip, and contains all the files found
       in the Complete install package, with the exception of
       the GUI. This package does not include an automated
       installer, and must be manually installed and configured.

   MySQL Installer is recommended for most users.

   Your choice of install package affects the installation
   process you must follow. If you choose to use MySQL
   Installer, see Section 2.3.3, "Installing MySQL on Microsoft
   Windows Using MySQL Installer." If you choose to install a
   standard MSI package, see Section 2.3.5, "Installing MySQL on
   Microsoft Windows Using an MSI Package." If you choose to
   install a Noinstall archive, see Section 2.3.7, "Installing
   MySQL on Microsoft Windows Using a noinstall Zip Archive."

2.3.3 Installing MySQL on Microsoft Windows Using MySQL Installer

   MySQL Installer simplifies the installation and updating
   process for your MySQL products on Microsoft Windows. From
   this central application, you can view, remove, update, and
   reconfigure the existing MySQL products on your system. MySQL
   Installer can also install plugins, documentation, tutorials,
   and example databases. The MySQL Installer is only available
   for Microsoft Windows, and includes both GUI and command-line
   interfaces.

   The supported products include:

     * MySQL server (http://dev.mysql.com/doc/) (one or multiple
       versions)

     * MySQL Workbench

     * MySQL Connectors
       (http://dev.mysql.com/doc/index-connectors.html) (.Net /
       Python / ODBC / Java / C / C++)

     * MySQL Notifier

     * MySQL for Excel
       (http://dev.mysql.com/doc/mysql-for-excel/en/index.html)

     * MySQL for Visual Studio
       (http://dev.mysql.com/doc/connector-net/en/connector-net-
       visual-studio.html)

     * MySQL Utilities and MySQL Fabric
       (http://dev.mysql.com/doc/index-utils-fabric.html)

     * MySQL Samples and Examples

     * MySQL Documentation

     * MySQL Installer is also installed and remains on the
       system as its own application

Installer package types


     * Full: Bundles all of the MySQL products (including the
       MySQL server). The file' size is over 200MB, and its name
       has the form mysql-installer-community-VERSION.N.msi
       where VERSION is the MySQL Server version number such as
       5.6 and N is the package number, which begins at 0.

     * Web: Only contains the Installer and configuration files,
       and it only downloads the MySQL products you choose to
       install. The size of this file is about 2MB; the name of
       the file has the form
       mysql-installer-community-web-VERSION.N.msi where VERSION
       is the MySQL Server version number such as 5.6 and N is
       the package number, which begins at 0.

Installer editions


     * Community edition: Downloadable at
       http://dev.mysql.com/downloads/installer/. It installs
       the community edition of all MySQL products.

     * Commercial edition: Downloadable at either My Oracle
       Support (https://support.oracle.com/) (MOS) or
       https://edelivery.oracle.com/. It installs the commercial
       version of all MySQL products, including Workbench SE/EE.
       It also integrates with your MOS account.
       Note
       Entering your MOS credentials is optional when installing
       bundled MySQL products, but your credentials are required
       when choosing non-bundled MySQL products that MySQL
       Installer must download.

   For notes detailing the changes in each release of MySQL
   Installer, see MySQL Installer Release Notes
   (http://dev.mysql.com/doc/relnotes/mysql-installer/en/).

   MySQL Installer is compatible with pre-existing
   installations, and adds them to its list of installed
   components. While the standard MySQL Installer is bundled
   with a specific version of MySQL Server, a single MySQL
   Installer instance can install and manage multiple MySQL
   Server versions. For example, a single MySQL Installer
   instance can install (and update) versions 5.5, 5.6, and 5.7
   on the host.
   Note

   A single host can not have both community and commercial
   editions of MySQL Server installed. For example, if you want
   both MySQL Server 5.5 and 5.6 installed on a single host,
   then both must be the same edition.

   MySQL Installer handles the initial configuration and set up
   of the applications. For example:

    1. It creates initial MySQL Server connections in MySQL
       Workbench.

    2. It creates the configuration file (my.ini) that is used
       to configure the MySQL Server. The values written to this
       file are influenced by choices you make during the
       installation process.

    3. It can optionally import example databases.

    4. It can optionally create MySQL Server user accounts with
       configurable permissions based on general roles, such as
       DB Administrator, DB Designer, and Backup Admin. It
       optionally creates a Windows user named MysqlSys with
       limited privileges, which would then run the MySQL
       Server.
       User accounts may also be added and configured in MySQL
       Workbench.

    5. If the "Advanced Configuration" option is checked, then
       the Logging Options are also configured. This includes
       defining file paths for the error log, general log, slow
       query log (including the configuration of seconds it
       requires to execute a query), and the binary log.

   MySQL Installer can optionally check for updated components
   and download them for you.

2.3.3.1 MySQL Installer GUI

   Installing MySQL Installer adds a link to the Start menu
   under the MySQL group. Click Start, All Programs MySQL, MySQL
   Installer to reload the MySQL Installer GUI.
   Note

   Files that are generated by MySQL Installer grant full
   permissions to the user that executes MySQL Installer,
   including my.ini. This does not apply to files and
   directories for specific products such as the MySQL Server
   data directory in %ProgramData% that is owned by SYSTEM.

   The initial execution of MySQL Installer requires you to
   accept the license agreement before installing MySQL
   products.

   Figure 2.7 MySQL Installer - License Agreement
   MySQL Installer - License Agreement

Installing New Packages

   Choose the appropriate Setup Type for your system. The
   selected type determines which MySQL products are installed
   on your system, or select Custom to manually choose
   individual products.

     * Developer: Install all products needed to develop
       applications with MySQL. This is the default option.

     * Server only: Only install the MySQL server.

     * Client only: Only install the MySQL client products,
       which does not include the MySQL server.

     * Full: Install all MySQL products.

     * Custom: Manually select the MySQL products to install.
       Note
       After the initial installation, you may use MySQL
       Installer to manually select MySQL products to install or
       remove. In other words, MySQL Installer becomes a MySQL
       product management system.

   Figure 2.8 MySQL Installer - Choosing a Setup Type
   MySQL Installer - Choosing a Setup Type

   After you select a setup type, the MySQL Installer will check
   your system for the necessary external requirements for each
   of the selected MySQL products. MySQL Installer will either
   download and install the missing components onto your system,
   or point you to the download location and set Status to
   "Manual".

   The next window lists the MySQL products that are scheduled
   to be installed:

   Figure 2.9 MySQL Installer - Installation Progress
   MySQL Installer - Installation Progress

   As components are installed, their Status changes from a
   progress percentage to "Complete".

   After all components are installed, the next step configures
   some of the recently installed MySQL products. The
   Configuration Overview window displays the progress and then
   loads a configuration window, if required. Our example
   configures MySQL Server 5.6.x.

Configuring MySQL Server

   Configuring the MySQL server begins with defining several
   Type and Networking options.

   Figure 2.10 MySQL Installer - Configuration Overview
   MySQL Installer - Configuration Overview

   Server Configuration Type

   Choose the MySQL server configuration type that describes
   your setup. This setting defines the amount of system
   resources that will be assigned to your MySQL server
   instance.

     * Developer: A machine that will host many other
       applications, and typically this is your personal
       workstation. This option configures MySQL to use the
       least amount of memory.

     * Server: Several other applications will be running on
       this machine, such as a web server. This option
       configures MySQL to use a medium amount of memory.

     * Dedicated: A machine that is dedicated to running the
       MySQL server. Because no other major applications are
       running on the server, such as web servers, this option
       configures MySQL to use all available memory.

   Connectivity

   Connectivity options control how you will connect to MySQL.
   Options include:

     * TCP/IP: You may enable TCP/IP Networking here as
       otherwise only localhost connections are allowed. Also
       define the Port Number and whether to open the firewall
       port for network access.

     * Named Pipe: Enable and define the pipe name, similar to
       using the --enable-named-pipe option.

     * Shared Memory: Enable and then define the memory name,
       similar to using the --shared-memory option.

   Advanced Configuration

   Checking the "Advanced Configuration" option provides
   additional Logging Options to configure. This includes
   defining file paths for the error log, general log, slow
   query log (including the configuration of seconds it requires
   to execute a query), and the binary log.

   Figure 2.11 MySQL Installer - MySQL Server Configuration:
   Type and Networking
   MySQL Installer- MySQL Server Configuration: Type and
   Networking

Accounts and Roles

   Next, define your MySQL account information. Assigning a root
   password is required.

   Optionally, you can add additional MySQL user accounts with
   predefined user roles. Each predefined role, such as "DB
   Admin", are configured with their own set of privileges. For
   example, the "DB Admin" role has more privileges than the "DB
   Designer" role. Click the Role dropdown for a list of role
   descriptions.
   Note

   If the MySQL Server is already installed, then you must also
   enter the Current Root Password.

   Figure 2.12 MySQL Installer - MySQL Server Configuration:
   User Accounts and Roles
   MySQL Installer - MySQL Server Configuration: User Accounts
   and Roles

   Figure 2.13 MySQL Installer - MySQL Server Configuration:
   User Accounts and Roles: Adding a User
   MySQL Installer - MySQL Server Configuration: User Accounts
   and Roles: Adding a User

Windows Service

   Next, configure the Windows Service details. This includes
   the service name, whether the MySQL Server should be loaded
   at startup, and how the Windows Service for MySQL Server is
   executed.

   Figure 2.14 MySQL Installer - MySQL Server Configuration:
   Windows Service
   MySQL Installer - MySQL Server Configuration: Windows Service
   Note

   When configuring Run Windows Services as ... using a Custom
   User, the custom user must have privileges to log on to
   Microsoft Windows as a service. And the Next button will be
   disabled until this user is configured with these user
   rights.

   On Microsoft Windows 7, this is configured by loading the
   Start Menu, Control Panel, Administrative Tools, Local
   Security Policy, Local Policies, User Rights Assignment, then
   Log On As A Service. Choose Add User or Group here to add the
   custom user, and then OK, OK to save.

Advanced Options

   The next configuration step is available if the Advanced
   Configuration option was checked. This section includes
   options that are related to the MySQL log files:

   Figure 2.15 MySQL Installer - MySQL Server Configuration:
   Logging Options
   MySQL Installer - MySQL Server Configuration: Logging Options

   Click Next to continue on to the final page before all of the
   requested changes are applied. This Apply Server
   Configuration page details the configuration steps that will
   be performed.

   Figure 2.16 MySQL Installer - MySQL Server Configuration:
   Apply Server Configuration
   MySQL Installer - MySQL Server Configuration: Apply Server
   Configuration

   Click Execute to execute the configuration steps. The icon
   for each step toggles from white to green on success, or the
   process stops on failure. Click the Log tab to view the log.

   After the MySQL Installer configuration process is finished,
   MySQL Installer reloads the opening page where you can
   execute other installation and configuration related actions.

   MySQL Installer is added to the Microsoft Windows Start menu
   under the MySQL group. Opening MySQL Installer loads its
   dashboard where installed MySQL products are listed, and
   other MySQL Installer actions are available:

   Figure 2.17 MySQL Installer - Main Dashboard
   MySQL Installer - Main Dashboard

Adding MySQL Products

   Click Add to add new products. This loads the Select Products
   and Features page:

   Figure 2.18 MySQL Installer - Select Products and Features
   MySQL Installer - Select Products and Features

   From here, choose the MySQL products you want to install from
   the left Available Products pane, and then click the green
   right arrow to queue products for installation.

   Optionally, click Edit to open the product and features
   search filter:

   Figure 2.19 MySQL Installer - Select Products and Features
   Filter
   MySQL Installer - Select Products and Features Filter

   For example, you might choose to include Pre-Release products
   in your selections, such as a Beta product that has not yet
   reached GA status.
   Note

   The ability to install Pre-Release versions of MySQL products
   was added in MySQL Installer 1.4.0.

   Select all of the MySQL products you want to install, then
   click Next to continue, and then Execute to execute the
   installation process to install all of the selected products.

2.3.3.1.1 MySQL Product Catalog

   MySQL Installer stores a MySQL product catalog. The catalog
   can be updated either manually or automatically, and the
   catalog change history is also available.
   Note

   The MySQL product catalog was added in MySQL Installer 1.4.0.

   Manual updates

   You can update the MySQL product catalog at any time by
   clicking Catalog on the Installer dashboard.

   Figure 2.20 MySQL Installer - Open the MySQL Product Catalog
   MySQL Installer - Open the MySQL Product Catalog

   From there, click Execute to update the product catalog.

   Automatic updates

   You can configure MySQL Installer to automatically update the
   MySQL product catalog once per day. To enable this feature
   and set the update time, click the wrench icon on the
   Installer dashboard.

   The next window configures the Automatic Catalog Update.
   Enable or disable this feature, and also set the hour.

   Figure 2.21 MySQL Installer - Configure the Catalog Scheduler
   MySQL Installer - Configure the Catalog Scheduler

   This option uses the Windows Task Scheduler to schedule a
   task named "ManifestUpdate".

   Change History

   MySQL Installer tracks the change history for all of the
   MySQL products. Click Catalog from the dashboard, optionally
   update the catalog (or, toggle the Do not update at this time
   checkbox), click Next/Execute, and then view the change
   history.

   Figure 2.22 MySQL Installer - Catalog Change History
   MySQL Installer - Catalog Change History

2.3.3.1.2 Remove MySQL Products

   MySQL Installer can also remove MySQL products from your
   system. To remove a MySQL product, click Remove from the
   Installer dashboard. This opens a window with a list of
   installed MySQL products. Select the MySQL products you want
   to remove (uninstall), and then click Execute to begin the
   removal process.
   Note

   To select all MySQL products, click the [ ] checkbox to the
   left of the Product label.

   Figure 2.23 MySQL Installer - Removing Products: Select
   MySQL Installer - Removing Products: Select

   Figure 2.24 MySQL Installer - Removing Products: Executed
   MySQL Installer - Removing Products: Executed

2.3.3.1.3 Alter MySQL Products

   MySQL Installer offers several options to alter your MySQL
   product installations.

Upgrade

   MySQL products with an available upgrade are highlighted on
   the main dashboard. Products with available upgrades will
   have an upgrade icon next to their version number.

   Figure 2.25 MySQL Installer - Upgrade a MySQL Product
   MySQL Installer - Upgrade a MySQL Product
   Note

   Available upgrades are determined by having a current
   catalog. For information about keeping your MySQL product
   catalog current, see Section 2.3.3.1.1, "MySQL Product
   Catalog."

   Click Upgrade to view a list upgradable products. Our example
   indicates that MySQL server 5.6.19 can be upgraded to version
   5.6.20.

   Figure 2.26 MySQL Installer - Select Products To Upgrade
   MySQL Installer - Select Products To Upgrade

   Select (check) the products to upgrade, and optionally click
   the changes link to view the product's release notes in your
   browser. Click Next to begin the upgrade process.

   Figure 2.27 MySQL Installer - Apply Updates
   MySQL Installer - Apply Updates

   A MySQL server upgrade will also check and upgrade the
   server's database. Although optional, this step is
   recommended.

   Figure 2.28 MySQL Installer - Check and Upgrade Database
   MySQL Installer - Check and Upgrade Database

   Upon completion, your upgraded products will be upgraded and
   available to use. A MySQL server upgrade also restarts the
   MySQL server.

Reconfigure

   Some MySQL products, such as the MySQL server, include a
   Reconfigure option. It opens the same configuration options
   that were set when the MySQL product was installed, and is
   pre-populated with the current values.

   To execute, click the Reconfigure link under the Quick Action
   column on the main dashboard for the MySQL product that you
   want to reconfigure.

   Figure 2.29 MySQL Installer - Reconfigure a MySQL Product
   MySQL Installer - Reconfigure a MySQL Product

   In the case of the MySQL server, this opens the familiar
   configuration wizard.

   Figure 2.30 MySQL Installer - Reconfiguration Wizard
   MySQL Installer - Reconfiguration Wizard

Modify

   Many MySQL products contain feature components that can be
   added or removed. For example, Debug binaries and Client
   Programs are subcomponents of the MySQL server.

   The modify the features of a product, click Modify on the
   main dashboard.

   Figure 2.31 MySQL Installer - Modify Product Features
   MySQL Installer - Modify Product Features

   Click Execute to execute the modification request.

2.3.3.2 MySQL Installer Console

   MySQLInstallerConsole provides functionality similar to the
   GUI version of MySQL Installer, but from the command-line. It
   is installed when MySQL Installer is initially executed, and
   then available within the MySQL Installer directory.
   Typically that is in C:\Program Files (x86)\MySQL\MySQL
   Installer\, and the console must be executed with
   administrative privileges.

   To use, invoke the Command Prompt with administrative
   privileges by choosing Start, Accessories, then right-click
   on Command Prompt and choose Run as administrator. And from
   the command-line, optionally change the directory to where
   MySQLInstallerConsole is located:
C:\> cd "C:\Program Files (x86)\MySQL\MySQL Installer"
C:\> MySQLInstallerConsole.exe help

C:\Program Files (x86)\MySQL\MySQL Installer for Windows>MySQLInstalle
rConsole.exe help

The following commands are available:

Configure - Configures one or more of your installed programs.
Help      - Provides list of available commands.
Install   - Install and configure one or more available MySQL programs
.
List      - Provides an interactive way to list all products available
.
Modify    - Modifies the features of installed products.
Remove    - Removes one or more products from your system.
Status    - Shows the status of all installed products.
Update    - Update the current product catalog.
Upgrade   - Upgrades one or more of your installed programs.

   MySQLInstallerConsole supports the following options, which
   are specified on the command line:

     * configure [product1]:[setting]=[value];
       [product2]:[setting]=[value]; [...]
       Configure one or more MySQL products on your system.
       Switches include:

          + -showsettings : Displays the available options for
            the selected product, by passing in the product name
            after -showsettings.

          + -silent : Disable confirmation prompts.
C:\> MySQLInstallerConsole configure -showsettings server
C:\> MySQLInstallerConsole configure server:port=3307


     * help [command]
       Displays a help message with usage examples, and then
       exits. Pass in an additional command to receive help
       specific to that command.
C:\> MySQLInstallerConsole help
C:\> MySQLInstallerConsole help install


     * install [product]:[features]:[config block]:[config
       block]:[config block]; [...]
       Install one or more MySQL products on your system.
       Switches and syntax options include:

          + -type=[SetupType] : Installs a predefined set of
            software. The "SetupType" can be one of the
            following:
            Note
            Non-custom setup types can only be chosen if no
            other MySQL products are installed.
               o Developer: Installs a complete development
                 environment.
               o Server: Installs a single MySQL server
               o Client: Installs client programs and libraries
               o Full: Installs everything
               o Custom: Installs user selected products. This
                 is the default option.

          + -showsettings : Displays the available options for
            the selected product, by passing in the product name
            after -showsettings.

          + -silent : Disable confirmation prompts.

          + [config block]: One or more configuration blocks can
            be specified. Each configuration block is a
            semicolon separated list of key value pairs. A block
            can include either a "config" or "user" type key,
            where "config" is the default type if one is not
            defined.
            Only one "config" type block can be defined per
            product. A "user" block should be defined for each
            user that should be created during the product's
            installation.
            Note
            Adding users is not supported when a product is
            being reconfigured.

          + [feature]: The feature block is a semicolon
            separated list of features, or '*' to select all
            features.
C:\> MySQLInstallerConsole install server;5.6.20:*:port=3307;serverid=
2:type=user;username=foo;password=bar;role=DBManager


     * list
       Lists an interactive console where all of the available
       MySQL products can be searched. Execute
       MySQLInstallerConsole list to launch the console, and
       enter in a substring to search.
C:\> MySQLInstallerConsole list


     * modify [product1:-removelist|+addlist]
       [product2:-removelist|+addlist] [...]
       Modifies or displays features of a previously installed
       MySQL product.

          + -silent : Disable confirmation prompts.
C:\> MySQLInstallerConsole modify server
C:\> MySQLInstallerConsole modify server:+documentation
C:\> MySQLInstallerConsole modify server:-debug


     * remove [product1] [product2] [...]
       Removes one ore more products from your system.

          + * : Pass in * to remove all of the MySQL products.

          + -continue : Continue the operation even if an error
            occurs.

          + -silent : Disable confirmation prompts.
C:\> MySQLInstallerConsole remove *
C:\> MySQLInstallerConsole remove server


     * status
       Provides a quick overview of the MySQL products that are
       installed on the system. Information includes product
       name and version, architecture, date installed, and
       install location.
C:\> MySQLInstallerConsole status


     * upgrade [product1:version] [product2:version], [...]
       Upgrades one or more products on your system. Syntax
       options include:

          + * : Pass in * to upgrade all products to the latest
            version, or pass in specific products.

          + ! : Pass in ! as a version number to upgrade the
            MySQL product to its latest version.

          + -silent : Disable confirmation prompts.
C:\> MySQLInstallerConsole upgrade *
C:\> MySQLInstallerConsole upgrade workbench:6.2.2
C:\> MySQLInstallerConsole upgrade workbench:!
C:\> MySQLInstallerConsole upgrade workbench:6.2.2 excel:1.3.2


     * update
       Downloads the latest MySQL product catalog to your
       system. On success, the download catalog will be applied
       the next time either MySQLInstaller or
       MySQLInstallerConsole is executed.
C:\> MySQLInstallerConsole update

       Note
       The Automatic Catalog Update GUI option executes this
       command from the Windows Task Scheduler.

2.3.4 MySQL Notifier

   The MySQL Notifier is a tool that enables you to monitor and
   adjust the status of your local and remote MySQL Server
   instances through an indicator that resides in the system
   tray. The MySQL Notifier also gives quick access to several
   MySQL GUI tools (such as MySQL Workbench) through its context
   menu.

   The MySQL Notifier is installed by MySQL Installer, and (by
   default) will start-up when Microsoft Windows is started.
   Note

   To install, download and execute the MySQL Installer
   (http://dev.mysql.com/downloads/installer/), be sure the
   MySQL Notifier product is selected, then proceed with the
   installation. See the MySQL Installer manual for additional
   details.

   For notes detailing the changes in each release of MySQL
   Notifier, see the MySQL Notifier Release Notes
   (http://dev.mysql.com/doc/relnotes/mysql-notifier/en/).

   Visit the MySQL Notifier forum
   (http://forums.mysql.com/list.php?173) for additional MySQL
   Notifier help and support.

   Features include:

     * Start, Stop, and Restart instances of the MySQL Server.

     * Automatically detects (and adds) new MySQL Server
       services. These are listed under Manage Monitored Items,
       and may also be configured.

     * The Tray icon changes, depending on the status. It's
       green if all monitored MySQL Server instances are
       running, or red if at least one service is stopped. The
       Update MySQL Notifier tray icon based on service status
       option, which dictates this behavior, is enabled by
       default for each service.

     * Links to other applications like MySQL Workbench, MySQL
       Installer, and the MySQL Utilities. For example, choosing
       Configure Instance will load the MySQL Workbench Server
       Administration window for that particular instance.

     * If MySQL Workbench is also installed, then the Configure
       Instance and SQL Editor options are available for local
       (but not remote) MySQL instances.

     * Monitoring of both local and remote MySQL instances.

   Note

   Remote monitoring is available since MySQL Notifier 1.1.0.

   The MySQL Notifier resides in the system tray and provides
   visual status information for your MySQL Server instances. A
   green icon is displayed at the top left corner of the tray
   icon if the current MySQL Server is running, or a red icon if
   the service is stopped.

   The MySQL Notifier automatically adds discovered MySQL
   Services on the local machine, and each service is saved and
   configurable. By default, the Automatically add new services
   whose name contains option is enabled and set to mysql.
   Related Notifications Options include being notified when new
   services are either discovered or experience status changes,
   and are also enabled by default. And uninstalling a service
   will also remove the service from the MySQL Notifier.
   Note

   The Automatically add new services whose name contains option
   default changed from ".*mysqld.*" to "mysql" in Notifier
   1.1.0.

   Clicking the system tray icon will reveal several options, as
   seen in the screenshots below:

   The Service Instance menu is the main MySQL Notifier window,
   and enables you to Stop, Start, and Restart the MySQL Server.

   Figure 2.32 MySQL Notifier Service Instance menu
   MySQL Notifier Service Instance menu

   The Actions menu includes several links to external
   applications (if they are installed), and a Refresh Status
   option to manually refresh the status of all monitored
   services (in both local and remote computers) and MySQL
   instances.
   Note

   The main menu will not show the Actions menu when there are
   no services being monitored by MySQL Notifier.
   Note

   The Refresh Status feature is available since MySQL Notifier
   1.1.0.

   Figure 2.33 MySQL Notifier Actions menu
   MySQL Notifier Actions menu

   The Actions, Options menu configures MySQL Notifier and
   includes options to:

     * Use colorful status icons: Enables a colorful style of
       icons for the tray of the MySQL Notifier.

     * Run at Windows Startup: Allows the application to be
       loaded when Microsoft Windows starts.

     * Automatically Check For Updates Every # Weeks: Checks for
       a new version of MySQL Notifier, and runs this check
       every # weeks.

     * Automatically add new services whose name contains: The
       text used to filter services and add them automatically
       to the monitored list of the local computer running MySQL
       Notifier, and on remote computers already monitoring
       Windows services. monitored services, and also filters
       the list of the Microsoft Windows services for the Add
       New Service dialog.
       Prior to version 1.1.0, this option was named
       "Automatically add new services that match this pattern."

     * Notify me when a service is automatically added: Will
       display a balloon notification from the taskbar when a
       newly discovered service is added to the monitored
       services list.

     * Notify me when a service changes status: Will display a
       balloon notification from the taskbar when a monitored
       service changes its status.

   Figure 2.34 MySQL Notifier Options menu
   MySQL Notifier Options menu

   The Actions, Manage Monitored Items menu enables you to
   configure the monitored services and MySQL instances. First,
   with the Services tab open:

   Figure 2.35 MySQL Notifier Manage Services menu
   MySQL Notifier Manage Services menu

   The Instances tab is similar:

   Figure 2.36 MySQL Notifier Manage Instances menu
   MySQL Notifier Manage Instances menu

   Adding a service or instance (after clicking Add in the
   Manage Monitored Items window) enables you to select a
   running Microsoft Windows service or instance connection, and
   configure MySQL Notifier to monitor it. Add a new service or
   instance by clicking service name from the list, then OK to
   accept. Multiple services and instances may be selected.

   Figure 2.37 MySQL Notifier Adding new services
   MySQL Notifier Adding new services

   And instances:

   Figure 2.38 MySQL Notifier Adding new instances
   MySQL Notifier Adding new instances
   Note

   The Instances tab available since MySQL Notifier 1.1.0.

2.3.4.1 Remote monitoring set up and installation instructions

   The MySQL Notifier uses Windows Management Instrumentation
   (WMI) to manage and monitor services in remote computers
   running Windows XP or later. This guide explains how it
   works, and how to set up your system to monitor remote MySQL
   instances.
   Note

   Remote monitoring is available since MySQL Notifier 1.1.0.

   In order to configure WMI, it is important to understand that
   the underlying Distributed Component Object Model (DCOM)
   architecture is doing the WMI work. Specifically, MySQL
   Notifier is using asynchronous notification queries on remote
   Microsoft Windows hosts as .NET events. These events send an
   asynchronous callback to the computer running the MySQL
   Notifier so it knows when a service status has changed on the
   remote computer. Asynchronous notifications offer the best
   performance compared to semisynchronous notifications or
   synchronous notifications that use timers.

   Asynchronous notifications requires the remote computer to
   send a callback to the client computer (thus opening a
   reverse connection), so the Windows Firewall and DCOM
   settings must be properly configured for the communication to
   function properly.

   Figure 2.39 MySQL Notifier Distributed Component Object Model
   (DCOM)
   MySQL Notifier Distributed Component Object Model (DCOM)

   Most of the common errors thrown by asynchronous WMI
   notifications are related to Windows Firewall blocking the
   communication, or to DCOM / WMI settings not being set up
   properly. For a list of common errors with solutions, see
   Section 2.3.4.1, "."

   The following steps are required to make WMI function. These
   steps are divided between two machines. A single host
   computer that runs MySQL Notifier (Computer A), and multiple
   remote machines that are being monitored (Computer B).

Computer running MySQL Notifier (Computer A)


    1. Allow for remote administration by either editing the
       Group Policy Editor, or using NETSH:
       Using the Group Policy Editor:
         a. Click Start, click Run, type GPEDIT.MSC, and then
            click OK.
         b. Under the Local Computer Policy heading,
            double-click Computer Configuration.
         c. Double-click Administrative Templates, then Network,
            Network Connections, and then Windows Firewall.
         d. If the computer is in the domain, then double-click
            Domain Profile; otherwise, double-click Standard
            Profile.
         e. Click Windows Firewall: Allow inbound remote
            administration exception.
         f. On the Action menu either select Edit, or
            double-click the selection from the previous step.
         g. Check the Enabled radio button, and then click OK.
       Using the NETSH command:
         a. Open a command prompt window with Administrative
            rights (you can right-click the Command Prompt icon
            and click Run as Administrator).
         b. Execute the following command:
NETSH firewall set service RemoteAdmin enable


    2. Open the DCOM port TCP 135:
         a. Open a command prompt window with Administrative
            rights (you can right-click the Command Prompt icon
            and click Run as Administrator) .
         b. Execute the following command:
NETSH firewall add portopening protocol=tcp port=135 name=DCOM_TCP135


    3. Add the client application which contains the sink for
       the callback (MySqlNotifier.exe) to the Windows Firewall
       Exceptions List (use either the Windows Firewall
       configuration or NETSH):
       Using the Windows Firewall configuration:
         a. In the Control Panel, double-click Windows Firewall.
         b. In the Windows Firewall window's left panel, click
            Allow a program or feature through Windows Firewall.
         c. In the Allowed Programs window, click Change
            Settings.
         d. If MySqlNotifier.exe is in the Allowed programs and
            features list, make sure it is checked for the type
            of networks the computer connects to (Private,
            Public or both).
         e. If MySqlNotifier.exe is not in the list, click Allow
            another program....
         f. In the Add a Program window, select the
            MySqlNotifier.exe if it exists in the Programs list,
            otherwise click Browse... and go to the directory
            where MySqlNotifier.exe was installed to select it,
            then click Add.
         g. Make sure MySqlNotifier.exe is checked for the type
            of networks the computer connects to (Private,
            Public or both).
       Using the NETSH command:
         a. Open a command prompt window with Administrative
            rights (you can right-click the Command Prompt icon
            and click Run as Administrator).
         b. Execute the following command, where you change
            "[YOUR_INSTALL_DIRECTORY]":
NETSH firewall add allowedprogram program=[YOUR_INSTALL_DIRECTORY]\MyS
qlNotifier.exe name=MySqlNotifier


    4. If Computer B is either a member of WORKGROUP or is in a
       different domain that is untrusted by Computer A, then
       the callback connection (Connection 2) is created as an
       Anonymous connection. To grant Anonymous connections DCOM
       Remote Access permissions:
         a. Click Start, click Run, type DCOMCNFG, and then
            click OK.
         b. In the Component Services dialog box, expand
            Component Services, expand Computers, and then
            right-click My Computer and click Properties.
         c. In the My Computer Properties dialog box, click the
            COM Security tab.
         d. Under Access Permissions, click Edit Limits.
         e. In the Access Permission dialog box, select
            ANONYMOUS LOGON name in the Group or user names box.
            In the Allow column under Permissions for User,
            select Remote Access, and then click OK.

Monitored Remote Computer (Computer B)

   If the user account that is logged into the computer running
   the MySQL Notifier (Computer A) is a local administrator on
   the remote computer (Computer B), such that the same account
   is an administrator on Computer B, you can skip to the "Allow
   for remote administration" step.

   Setting DCOM security to allow a non-administrator user to
   access a computer remotely:

    1. Grant "DCOM remote launch" and activation permissions for
       a user or group:
         a. Click Start, click Run, type DCOMCNFG, and then
            click OK.
         b. In the Component Services dialog box, expand
            Component Services, expand Computers, and then
            right-click My Computer and click Properties.
         c. In the My Computer Properties dialog box, click the
            COM Security tab.
         d. Under Access Permissions, click Edit Limits.
         e. In the Launch Permission dialog box, follow these
            steps if your name or your group does not appear in
            the Groups or user names list:
              i. In the Launch Permission dialog box, click Add.
             ii. In the Select Users, Computers, or Groups
                 dialog box, add your name and the group in the
                 "Enter the object names to select" box, and
                 then click OK.
         f. In the Launch Permission dialog box, select your
            user and group in the Group or user names box. In
            the Allow column under Permissions for User, select
            Remote Launch, select Remote Activation, and then
            click OK.
       Grant DCOM remote access permissions:
         a. Click Start, click Run, type DCOMCNFG, and then
            click OK.
         b. In the Component Services dialog box, expand
            Component Services, expand Computers, and then
            right-click My Computer and click Properties.
         c. In the My Computer Properties dialog box, click the
            COM Security tab.
         d. Under Access Permissions, click Edit Limits.
         e. In the Access Permission dialog box, select
            ANONYMOUS LOGON name in the Group or user names box.
            In the Allow column under Permissions for User,
            select Remote Access, and then click OK.

    2. Allowing non-administrator users access to a specific WMI
       namespace:
         a. In the Control Panel, double-click Administrative
            Tools.
         b. In the Administrative Tools window, double-click
            Computer Management.
         c. In the Computer Management window, expand the
            Services and Applications tree and double-click the
            WMI Control.
         d. Right-click the WMI Control icon and select
            Properties.
         e. In the WMI Control Properties window, click the
            Security tab.
         f. In the Security tab, select the namespace and click
            Security.
         g. Locate the appropriate account and check Remote
            Enable in the Permissions list.

    3. Allow for remote administration by either editing the
       Group Policy Editor or using NETSH:
       Using the Group Policy Editor:
         a. Click Start, click Run, type GPEDIT.MSC, and then
            click OK.
         b. Under the Local Computer Policy heading,
            double-click Computer Configuration.
         c. Double-click Administrative Templates, then Network,
            Network Connections, and then Windows Firewall.
         d. If the computer is in the domain, then double-click
            Domain Profile; otherwise, double-click Standard
            Profile.
         e. Click Windows Firewall: Allow inbound remote
            administration exception.
         f. On the Action menu either select Edit, or
            double-click the selection from the previous step.
         g. Check the Enabled radio button, and then click OK.
       Using the NETSH command:
         a. Open a command prompt window with Administrative
            rights (you can right-click the Command Prompt icon
            and click Run as Administrator).
         b. Execute the following command:
NETSH firewall set service RemoteAdmin enable


    4. Now, be sure the user you are logging in with uses the
       Name value and not the Full Name value:
         a. In the Control Panel, double-click Administrative
            Tools.
         b. In the Administrative Tools window, double-click
            Computer Management.
         c. In the Computer Management window, expand the System
            Tools then Local Users and Groups.
         d. Click the Users node, and on the right side panel
            locate your user and make sure it uses the Name
            value to connect, and not the Full Name value.

    5. If the remote computer is running on Windows XP
       Professional, make sure that remote logins are not being
       forcefully changed to the guest account user (also known
       as ForceGuest), which is enabled by default on computers
       that are not attached to a domain.
         a. Click Start, click Run, type SECPOL.MSC, and then
            click OK.
         b. Under the Local Policies node, double-click Security
            Options.
         c. Select Network Access: Sharing and security model
            for local accounts and save.

Common Errors


     * 0x80070005

          + DCOM Security was not configured properly (see
            Computer B, the Setting DCOM security... step).

          + The remote computer (Computer B) is a member of
            WORKGROUP or is in a domain that is untrusted by the
            client computer (Computer A) (see Computer A, the
            Grant Anonymous connections DCOM Remote Access
            permissions step).

     * 0x8007000E

          + The remote computer (Computer B) is a member of
            WORKGROUP or is in a domain that is untrusted by the
            client computer (Computer A) (see Computer A, the
            Grant Anonymous connections DCOM Remote Access
            permissions step).

     * 0x80041003

          + Access to the remote WMI namespace was not
            configured properly (see Computer B, the Allowing
            non-administrator users access to a specific WMI
            namespace step).

     * 0x800706BA

          + The DCOM port is not open on the client computers
            (Computer A) firewall. See the Open the DCOM port
            TCP 135 step for Computer A.

          + The remote computer (Computer B) is inaccessible
            because its network location is set to Public. Make
            sure you can access it through the Windows Explorer.

2.3.5 Installing MySQL on Microsoft Windows Using an MSI Package

   The MSI package is designed to install and configure MySQL in
   such a way that you can immediately get started using MySQL.

   The MySQL Installation Wizard and MySQL Configuration Wizard
   are available in the Complete install package, which is
   recommended for most standard MySQL installations. Exceptions
   include users who need to install multiple instances of MySQL
   on a single server host and advanced users who want complete
   control of server configuration.

     * For information on installing using the GUI MSI installer
       process, see Section 2.3.5.1, "Using the MySQL
       Installation Wizard."

     * For information on installing using the command line
       using the MSI package, see Section 2.3.5.2, "Automating
       MySQL Installation on Microsoft Windows Using the MSI
       Package."

     * If you have previously installed MySQL using the MSI
       package and want to remove MySQL, see Section 2.3.5.3,
       "Removing MySQL When Installed from the MSI Package."

   The workflow sequence for using the installer is shown in the
   figure below:

   Figure 2.40 Installation Workflow for Windows Using MSI
   Installer
   Installation Workflow for Windows using MSI Installer
   Note

   Microsoft Windows XP and later include a firewall which
   specifically blocks ports. If you plan on using MySQL through
   a network port then you should open and create an exception
   for this port before performing the installation. To check
   and if necessary add an exception to the firewall settings:

    1. First ensure that you are logged in as an Administrator
       or a user with Administrator privileges.

    2. Go to the Control Panel, and double click the Windows
       Firewall icon.

    3. Choose the Allow a program through Windows Firewall
       option and click the Add port button.

    4. Enter MySQL into the Name text box and 3306 (or the port
       of your choice) into the Port number text box.

    5. Also ensure that the TCP protocol radio button is
       selected.

    6. If you wish, you can also limit access to the MySQL
       server by choosing the Change scope button.

    7. Confirm your choices by clicking the OK button.

   Additionally, when running the MySQL Installation Wizard on
   Windows Vista or newer, ensure that you are logged in as a
   user with administrative rights.
   Note

   When using Windows Vista or newer, you may want to disable
   User Account Control (UAC) before performing the
   installation. If you do not do so, then MySQL may be
   identified as a security risk, which will mean that you need
   to enable MySQL. You can disable the security checking by
   following these instructions:

    1. Open Control Panel.

    2. Under the User Accounts and Family Safety, select Add or
       remove user accounts.

    3. Click the Got to the main User Accounts page link.

    4. Click on Turn User Account Control on or off. You may be
       prompted to provide permission to change this setting.
       Click Continue.

    5. Deselect or uncheck the check box next to Use User
       Account Control (UAC) to help protect your computer.
       Click OK to save the setting.

   You will need to restart to complete the process. Click
   Restart Now to reboot the machine and apply the changes. You
   can then follow the instructions below for installing
   Windows.

2.3.5.1 Using the MySQL Installation Wizard

   MySQL Installation Wizard is an installer for the MySQL
   server that uses the latest installer technologies for
   Microsoft Windows. The MySQL Installation Wizard, in
   combination with the MySQL Configuration Wizard, enables a
   user to install and configure a MySQL server that is ready
   for use immediately after installation.

   The MySQL Installation Wizard is the standard installer for
   all MySQL server distributions, version 4.1.5 and higher.
   Users of previous versions of MySQL need to shut down and
   remove their existing MySQL installations manually before
   installing MySQL with the MySQL Installation Wizard. See
   Section 2.3.5.1.6, "Upgrading MySQL with the Installation
   Wizard," for more information on upgrading from a previous
   version.

   Microsoft has included an improved version of their Microsoft
   Windows Installer (MSI) in the recent versions of Windows.
   MSI has become the de-facto standard for application
   installations on Windows 2000, Windows XP, and Windows Server
   2003. The MySQL Installation Wizard makes use of this
   technology to provide a smoother and more flexible
   installation process.

   The Microsoft Windows Installer Engine was updated with the
   release of Windows XP; those using a previous version of
   Windows can reference this Microsoft Knowledge Base article
   (http://support.microsoft.com/default.aspx?scid=kb;EN-US;2925
   39) for information on upgrading to the latest version of the
   Windows Installer Engine.

   In addition, Microsoft has introduced the WiX (Windows
   Installer XML) toolkit recently. This is the first highly
   acknowledged Open Source project from Microsoft. We have
   switched to WiX because it is an Open Source project and it
   enables us to handle the complete Windows installation
   process in a flexible manner using scripts.

   Improving the MySQL Installation Wizard depends on the
   support and feedback of users like you. If you find that the
   MySQL Installation Wizard is lacking some feature important
   to you, or if you discover a bug, please report it in our
   bugs database using the instructions given in Section 1.7,
   "How to Report Bugs or Problems."

2.3.5.1.1 Downloading and Starting the MySQL Installation Wizard

   The MySQL installation packages can be downloaded from
   http://dev.mysql.com/downloads/. If the package you download
   is contained within a Zip archive, you need to extract the
   archive first.
   Note

   If you are installing on Windows Vista or newer, it is best
   to open a network port before beginning the installation. To
   do this, first ensure that you are logged in as an
   Administrator, go to the Control Panel, and double-click the
   Windows Firewall icon. Choose the Allow a program through
   Windows Firewall option and click the Add port button. Enter
   MySQL into the Name text box and 3306 (or the port of your
   choice) into the Port number text box. Also ensure that the
   TCP protocol radio button is selected. If you wish, you can
   also limit access to the MySQL server by choosing the Change
   scope button. Confirm your choices by clicking the OK button.
   If you do not open a port prior to installation, you cannot
   configure the MySQL server immediately after installation.
   Additionally, when running the MySQL Installation Wizard on
   Windows Vista or newer, ensure that you are logged in as a
   user with administrative rights.

   The process for starting the wizard depends on the contents
   of the installation package you download. If there is a
   setup.exe file present, double-click it to start the
   installation process. If there is an .msi file present,
   double-click it to start the installation process.

2.3.5.1.2 Choosing an Install Type

   There are three installation types available: Typical,
   Complete, and Custom.

   The Typical installation type installs the MySQL server, the
   mysql command-line client, and the command-line utilities.
   The command-line clients and utilities include mysqldump,
   myisamchk, and several other tools to help you manage the
   MySQL server.

   The Complete installation type installs all components
   included in the installation package. The full installation
   package includes components such as the embedded server
   library, the benchmark suite, support scripts, and
   documentation.

   The Custom installation type gives you complete control over
   which packages you wish to install and the installation path
   that is used. See Section 2.3.5.1.3, "The Custom Install
   Dialog," for more information on performing a custom install.

   If you choose the Typical or Complete installation types and
   click the Next button, you advance to the confirmation screen
   to verify your choices and begin the installation. If you
   choose the Custom installation type and click the Next
   button, you advance to the custom installation dialog,
   described in Section 2.3.5.1.3, "The Custom Install Dialog."

2.3.5.1.3 The Custom Install Dialog

   If you wish to change the installation path or the specific
   components that are installed by the MySQL Installation
   Wizard, choose the Custom installation type.

   A tree view on the left side of the custom install dialog
   lists all available components. Components that are not
   installed have a red X icon; components that are installed
   have a gray icon. To change whether a component is installed,
   click that component's icon and choose a new option from the
   drop-down list that appears.

   You can change the default installation path by clicking the
   Change... button to the right of the displayed installation
   path.

   After choosing your installation components and installation
   path, click the Next button to advance to the confirmation
   dialog.

2.3.5.1.4 The Confirmation Dialog

   Once you choose an installation type and optionally choose
   your installation components, you advance to the confirmation
   dialog. Your installation type and installation path are
   displayed for you to review.

   To install MySQL if you are satisfied with your settings,
   click the Install button. To change your settings, click the
   Back button. To exit the MySQL Installation Wizard without
   installing MySQL, click the Cancel button.

   The final screen of the installer provides a summary of the
   installation and gives you the option to launch the MySQL
   Configuration Wizard, which you can use to create a
   configuration file, install the MySQL service, and configure
   security settings.

2.3.5.1.5 Changes Made by MySQL Installation Wizard

   Once you click the Install button, the MySQL Installation
   Wizard begins the installation process and makes certain
   changes to your system which are described in the sections
   that follow.

   Changes to the Registry

   The MySQL Installation Wizard creates one Windows registry
   key in a typical install situation, located in
   HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB.

   The MySQL Installation Wizard creates a key named after the
   major version of the server that is being installed, such as
   MySQL Server 5.5. It contains two string values, Location and
   Version. The Location string contains the path to the
   installation directory. In a default installation it contains
   C:\Program Files\MySQL\MySQL Server 5.5\. The Version string
   contains the release number. For example, for an installation
   of MySQL Server 5.5.42, the key contains a value of 5.5.42.

   These registry keys are used to help external tools identify
   the installed location of the MySQL server, preventing a
   complete scan of the hard-disk to determine the installation
   path of the MySQL server. The registry keys are not required
   to run the server, and if you install MySQL using the
   noinstall Zip archive, the registry keys are not created.

   Changes to the Start Menu

   The MySQL Installation Wizard creates a new entry in the
   Windows Start menu under a common MySQL menu heading named
   after the major version of MySQL that you have installed. For
   example, if you install MySQL 5.5, the MySQL Installation
   Wizard creates a MySQL Server 5.5 section in the Start menu.

   The following entries are created within the new Start menu
   section:

     * MySQL Command-Line Client: This is a shortcut to the
       mysql command-line client and is configured to connect as
       the root user. The shortcut prompts for a root user
       password when you connect.

     * MySQL Server Instance Config Wizard: This is a shortcut
       to the MySQL Configuration Wizard. Use this shortcut to
       configure a newly installed server, or to reconfigure an
       existing server.

     * MySQL Documentation: This is a link to the MySQL server
       documentation that is stored locally in the MySQL server
       installation directory.

   Changes to the File System

   The MySQL Installation Wizard by default installs the MySQL
   5.5 server to C:\Program Files\MySQL\MySQL Server 5.5, where
   Program Files is the default location for applications in
   your system, and 5.5 is the major version of your MySQL
   server. This is the recommended location for the MySQL
   server, replacing the former default location C:\mysql.

   By default, all MySQL applications are stored in a common
   directory at C:\Program Files\MySQL, where Program Files is
   the default location for applications in your Windows
   installation. A typical MySQL installation on a developer
   machine might look like this:
C:\Program Files\MySQL\MySQL Server 5.5
C:\Program Files\MySQL\MySQL Workbench 5.1 OSS

   This approach makes it easier to manage and maintain all
   MySQL applications installed on a particular system.

   The default location of the data directory is the AppData
   directory configured for the user that installed the MySQL
   application.

2.3.5.1.6 Upgrading MySQL with the Installation Wizard

   The MySQL Installation Wizard can perform server upgrades
   automatically using the upgrade capabilities of MSI. That
   means you do not need to remove a previous installation
   manually before installing a new release. The installer
   automatically shuts down and removes the previous MySQL
   service before installing the new version.

   Automatic upgrades are available only when upgrading between
   installations that have the same major and minor version
   numbers. For example, you can upgrade automatically from
   MySQL 5.5.5 to MySQL 5.5.6, but not from MySQL 5.1 to MySQL
   5.5.

   See Section 2.3.9, "Upgrading MySQL on Windows."

2.3.5.2 Automating MySQL Installation on Microsoft Windows Using
the MSI Package

   The Microsoft Installer (MSI) supports a both a quiet and a
   passive mode that can be used to install MySQL automatically
   without requiring intervention. You can use this either in
   scripts to automatically install MySQL or through a terminal
   connection such as Telnet where you do not have access to the
   standard Windows user interface. The MSI packages can also be
   used in combination with Microsoft's Group Policy system
   (part of Windows Server 2003 and Windows Server 2008) to
   install MySQL across multiple machines.

   To install MySQL from one of the MSI packages automatically
   from the command line (or within a script), you need to use
   the msiexec.exe tool. For example, to perform a quiet
   installation (which shows no dialog boxes or progress):
shell> msiexec /i mysql-5.5.42.msi /quiet

   The /i indicates that you want to perform an installation.
   The /quiet option indicates that you want no interactive
   elements.

   To provide a dialog box showing the progress during
   installation, and the dialog boxes providing information on
   the installation and registration of MySQL, use /passive mode
   instead of /quiet:
shell> msiexec /i mysql-5.5.42.msi /passive

   Regardless of the mode of the installation, installing the
   package in this manner performs a 'Typical' installation, and
   installs the default components into the standard location.

   You can also use this method to uninstall MySQL by using the
   /uninstall or /x options:
shell> msiexec /x mysql-5.5.42.msi /uninstall

   To install MySQL and configure a MySQL instance from the
   command line, see Section 2.3.6.13, "MySQL Server Instance
   Config Wizard: Creating an Instance from the Command Line."

   For information on using MSI packages to install software
   automatically using Group Policy, see How to use Group Policy
   to remotely install software in Windows Server 2003
   (http://support.microsoft.com/kb/816102).

2.3.5.3 Removing MySQL When Installed from the MSI Package

   To uninstall a MySQL where you have used the MSI packages,
   you must use the Add/Remove Programs tool within Control
   Panel. To do this:

    1. Right-click the start menu and choose Control Panel.

    2. If the Control Panel is set to category mode (you will
       see Pick a category at the top of the Control Panel
       window), double-click Add or Remove Programs. If the
       Control is set to classic mode, double-click the Add or
       Remove Programs icon.

    3. Find MySQL in the list of installed software. MySQL
       Server is installed against major version numbers (MySQL
       5.1, MySQL 5.5, etc.). Select the version that you want
       to remove and click Remove.

    4. You will be prompted to confirm the removal. Click Yes to
       remove MySQL.

   When MySQL is removed using this method, only the installed
   components are removed. Any database information (including
   the tables and data), import or export files, log files, and
   binary logs produced during execution are kept in their
   configured location.

   If you try to install MySQL again the information will be
   retained and you will be prompted to enter the password
   configured with the original installation.

   If you want to delete MySQL completely:

     * Delete the associated data directory. On Windows XP and
       Windows Server 2003, the default data directory is the
       configured AppData directory, which is C:\Documents and
       Settings\All Users\Application Data\MySQL by default.

     * On Windows 7 and Windows Server 2008, the default data
       directory location is C:\ProgramData\Mysql.
       Note
       The C:\ProgramData directory is hidden by default. You
       must change your folder options to view the hidden file.
       Choose Organize, Folder and search options, Show hidden
       folders.

2.3.6 MySQL Server Instance Configuration Wizard

   The MySQL Server Instance Configuration Wizard helps automate
   the process of configuring your server. It creates a custom
   MySQL configuration file (my.ini or my.cnf) by asking you a
   series of questions and then applying your responses to a
   template to generate the configuration file that is tuned to
   your installation.

   The MySQL Server Instance Configuration Wizard is included
   with the MySQL 5.5 server. The MySQL Server Instance
   Configuration Wizard is only available for Windows.

2.3.6.1 Starting the MySQL Server Instance Configuration Wizard

   The MySQL Server Instance Configuration Wizard is normally
   started as part of the installation process. You should only
   need to run the MySQL Server Instance Configuration Wizard
   again when you need to change the configuration parameters of
   your server.

   If you chose not to open a port prior to installing MySQL on
   Windows Vista or newer, you can choose to use the MySQL
   Server Configuration Wizard after installation. However, you
   must open a port in the Windows Firewall. To do this see the
   instructions given in Section 2.3.5.1.1, "Downloading and
   Starting the MySQL Installation Wizard." Rather than opening
   a port, you also have the option of adding MySQL as a program
   that bypasses the Windows Firewall. One or the other option
   is sufficient---you need not do both. Additionally, when
   running the MySQL Server Configuration Wizard on Windows
   Vista or newer, ensure that you are logged in as a user with
   administrative rights.
   MySQL Server Instance Configuration Wizard

   You can launch the MySQL Configuration Wizard by clicking the
   MySQL Server Instance Config Wizard entry in the MySQL
   section of the Windows Start menu.

   Alternatively, you can navigate to the bin directory of your
   MySQL installation and launch the MySQLInstanceConfig.exe
   file directly.

   The MySQL Server Instance Configuration Wizard places the
   my.ini file in the installation directory for the MySQL
   server. This helps associate configuration files with
   particular server instances.

   To ensure that the MySQL server knows where to look for the
   my.ini file, an argument similar to this is passed to the
   MySQL server as part of the service installation:
--defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini"

   Here, C:\Program Files\MySQL\MySQL Server 5.5 is replaced
   with the installation path to the MySQL Server. The
   --defaults-file option instructs the MySQL server to read the
   specified file for configuration options when it starts.

   Apart from making changes to the my.ini file by running the
   MySQL Server Instance Configuration Wizard again, you can
   modify it by opening it with a text editor and making any
   necessary changes. You can also modify the server
   configuration with the
   http://www.mysql.com/products/administrator/ utility. For
   more information about server configuration, see Section
   5.1.3, "Server Command Options."

   MySQL clients and utilities such as the mysql and mysqldump
   command-line clients are not able to locate the my.ini file
   located in the server installation directory. To configure
   the client and utility applications, create a new my.ini file
   in the Windows installation directory (for example,
   C:\WINDOWS).

   Under Windows Server 2003, Windows Server 2000, Windows XP,
   and Windows Vista, MySQL Server Instance Configuration Wizard
   will configure MySQL to work as a Windows service. To start
   and stop MySQL you use the Services application that is
   supplied as part of the Windows Administrator Tools.

2.3.6.2 Choosing a Maintenance Option

   If the MySQL Server Instance Configuration Wizard detects an
   existing configuration file, you have the option of either
   reconfiguring your existing server, or removing the server
   instance by deleting the configuration file and stopping and
   removing the MySQL service.

   To reconfigure an existing server, choose the Re-configure
   Instance option and click the Next button. Any existing
   configuration file is not overwritten, but renamed (within
   the same directory) using a timestamp (Windows) or sequential
   number (Linux). To remove the existing server instance,
   choose the Remove Instance option and click the Next button.

   If you choose the Remove Instance option, you advance to a
   confirmation window. Click the Execute button. The MySQL
   Server Configuration Wizard stops and removes the MySQL
   service, and then deletes the configuration file. The server
   installation and its data folder are not removed.

   If you choose the Re-configure Instance option, you advance
   to the Configuration Type dialog where you can choose the
   type of installation that you wish to configure.

2.3.6.3 Choosing a Configuration Type

   When you start the MySQL Server Instance Configuration Wizard
   for a new MySQL installation, or choose the Re-configure
   Instance option for an existing installation, you advance to
   the Configuration Type dialog.
   MySQL Server Instance Configuration Wizard: Configuration
   Type

   There are two configuration types available: Detailed
   Configuration and Standard Configuration. The Standard
   Configuration option is intended for new users who want to
   get started with MySQL quickly without having to make many
   decisions about server configuration. The Detailed
   Configuration option is intended for advanced users who want
   more fine-grained control over server configuration.

   If you are new to MySQL and need a server configured as a
   single-user developer machine, the Standard Configuration
   should suit your needs. Choosing the Standard Configuration
   option causes the MySQL Configuration Wizard to set all
   configuration options automatically with the exception of
   Service Options and Security Options.

   The Standard Configuration sets options that may be
   incompatible with systems where there are existing MySQL
   installations. If you have an existing MySQL installation on
   your system in addition to the installation you wish to
   configure, the Detailed Configuration option is recommended.

   To complete the Standard Configuration, please refer to the
   sections on Service Options and Security Options in Section
   2.3.6.10, "The Service Options Dialog," and Section 2.3.6.11,
   "The Security Options Dialog," respectively.

2.3.6.4 The Server Type Dialog

   There are three different server types available to choose
   from. The server type that you choose affects the decisions
   that the MySQL Server Instance Configuration Wizard makes
   with regard to memory, disk, and processor usage.
   MySQL Server Instance Configuration Wizard: Server Type

     * Developer Machine: Choose this option for a typical
       desktop workstation where MySQL is intended only for
       personal use. It is assumed that many other desktop
       applications are running. The MySQL server is configured
       to use minimal system resources.

     * Server Machine: Choose this option for a server machine
       where the MySQL server is running alongside other server
       applications such as FTP, email, and Web servers. The
       MySQL server is configured to use a moderate portion of
       the system resources.

     * Dedicated MySQL Server Machine: Choose this option for a
       server machine that is intended to run only the MySQL
       server. It is assumed that no other applications are
       running. The MySQL server is configured to use all
       available system resources.

   Note

   By selecting one of the preconfigured configurations, the
   values and settings of various options in your my.cnf or
   my.ini will be altered accordingly. The default values and
   options as described in the reference manual may therefore be
   different to the options and values that were created during
   the execution of the configuration wizard.

2.3.6.5 The Database Usage Dialog

   The Database Usage dialog enables you to indicate the storage
   engines that you expect to use when creating MySQL tables.
   The option you choose determines whether the InnoDB storage
   engine is available and what percentage of the server
   resources are available to InnoDB.
   MySQL Server Instance Configuration Wizard: Usage Dialog

     * Multifunctional Database: This option enables both the
       InnoDB and MyISAM storage engines and divides resources
       evenly between the two. This option is recommended for
       users who use both storage engines on a regular basis.

     * Transactional Database Only: This option enables both the
       InnoDB and MyISAM storage engines, but dedicates most
       server resources to the InnoDB storage engine. This
       option is recommended for users who use InnoDB almost
       exclusively and make only minimal use of MyISAM.

     * Non-Transactional Database Only: This option disables the
       InnoDB storage engine completely and dedicates all server
       resources to the MyISAM storage engine. This option is
       recommended for users who do not use InnoDB.

   The Configuration Wizard uses a template to generate the
   server configuration file. The Database Usage dialog sets one
   of the following option strings:
Multifunctional Database:        MIXED
Transactional Database Only:     INNODB
Non-Transactional Database Only: MYISAM

   When these options are processed through the default template
   (my-template.ini) the result is:
Multifunctional Database:
default-storage-engine=InnoDB
_myisam_pct=50

Transactional Database Only:
default-storage-engine=InnoDB
_myisam_pct=5

Non-Transactional Database Only:
default-storage-engine=MyISAM
_myisam_pct=100
skip-innodb

   The _myisam_pct value is used to calculate the percentage of
   resources dedicated to MyISAM. The remaining resources are
   allocated to InnoDB.

2.3.6.6 The InnoDB Tablespace Dialog

   Some users may want to locate the InnoDB tablespace files in
   a different location than the MySQL server data directory.
   Placing the tablespace files in a separate location can be
   desirable if your system has a higher capacity or higher
   performance storage device available, such as a RAID storage
   system.
   MySQL Server Instance Configuration Wizard: InnoDB Data
   Tablespace

   To change the default location for the InnoDB tablespace
   files, choose a new drive from the drop-down list of drive
   letters and choose a new path from the drop-down list of
   paths. To create a custom path, click the ... button.

   If you are modifying the configuration of an existing server,
   you must click the Modify button before you change the path.
   In this situation you must move the existing tablespace files
   to the new location manually before starting the server.

2.3.6.7 The Concurrent Connections Dialog

   To prevent the server from running out of resources, it is
   important to limit the number of concurrent connections to
   the MySQL server that can be established. The Concurrent
   Connections dialog enables you to choose the expected usage
   of your server, and sets the limit for concurrent connections
   accordingly. It is also possible to set the concurrent
   connection limit manually.
   MySQL Server Instance Configuration Wizard: Connections

     * Decision Support (DSS)/OLAP: Choose this option if your
       server does not require a large number of concurrent
       connections. The maximum number of connections is set at
       100, with an average of 20 concurrent connections
       assumed.

     * Online Transaction Processing (OLTP): Choose this option
       if your server requires a large number of concurrent
       connections. The maximum number of connections is set at
       500.

     * Manual Setting: Choose this option to set the maximum
       number of concurrent connections to the server manually.
       Choose the number of concurrent connections from the
       drop-down box provided, or enter the maximum number of
       connections into the drop-down box if the number you
       desire is not listed.

2.3.6.8 The Networking and Strict Mode Options Dialog

   Use the Networking Options dialog to enable or disable TCP/IP
   networking and to configure the port number that is used to
   connect to the MySQL server.
   MySQL Server Instance Configuration Wizard: Network
   Configuration

   TCP/IP networking is enabled by default. To disable TCP/IP
   networking, uncheck the box next to the Enable TCP/IP
   Networking option.

   Port 3306 is used by default. To change the port used to
   access MySQL, choose a new port number from the drop-down box
   or type a new port number directly into the drop-down box. If
   the port number you choose is in use, you are prompted to
   confirm your choice of port number.

   Set the Server SQL Mode to either enable or disable strict
   mode. Enabling strict mode (default) makes MySQL behave more
   like other database management systems. If you run
   applications that rely on MySQL's old "forgiving" behavior,
   make sure to either adapt those applications or to disable
   strict mode. For more information about strict mode, see
   Section 5.1.7, "Server SQL Modes."

2.3.6.9 The Character Set Dialog

   The MySQL server supports multiple character sets and it is
   possible to set a default server character set that is
   applied to all tables, columns, and databases unless
   overridden. Use the Character Set dialog to change the
   default character set of the MySQL server.
   MySQL Server Instance Configuration Wizard: Character Set

     * Standard Character Set: Choose this option if you want to
       use latin1 as the default server character set. latin1 is
       used for English and many Western European languages.

     * Best Support For Multilingualism: Choose this option if
       you want to use utf8 as the default server character set.
       This is a Unicode character set that can store characters
       from many different languages.

     * Manual Selected Default Character Set / Collation: Choose
       this option if you want to pick the server's default
       character set manually. Choose the desired character set
       from the provided drop-down list.

2.3.6.10 The Service Options Dialog

   On Windows platforms, the MySQL server can be installed as a
   Windows service. When installed this way, the MySQL server
   can be started automatically during system startup, and even
   restarted automatically by Windows in the event of a service
   failure.

   The MySQL Server Instance Configuration Wizard installs the
   MySQL server as a service by default, using the service name
   MySQL. If you do not wish to install the service, uncheck the
   box next to the Install As Windows Service option. You can
   change the service name by picking a new service name from
   the drop-down box provided or by entering a new service name
   into the drop-down box.
   Note

   Service names can include any legal character except forward
   (/) or backward (\) slashes, and must be less than 256
   characters long.
   Warning

   If you are installing multiple versions of MySQL onto the
   same machine, you must choose a different service name for
   each version that you install. If you do not choose a
   different service for each installed version then the service
   manager information will be inconsistent and this will cause
   problems when you try to uninstall a previous version.

   If you have already installed multiple versions using the
   same service name, you must manually edit the contents of the
   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
   parameters within the Windows registry to update the
   association of the service name with the correct server
   version.

   Typically, when installing multiple versions you create a
   service name based on the version information. For example,
   you might install MySQL 5.x as mysql5, or specific versions
   such as MySQL 5.5.0 as mysql50500.

   To install the MySQL server as a service but not have it
   started automatically at startup, uncheck the box next to the
   Launch the MySQL Server Automatically option.

2.3.6.11 The Security Options Dialog

   The content of the security options portion of the MySQL
   Server Instance Configuration Wizard will depend on whether
   this is a new installation, or modifying an existing
   installation.

     * Setting the root password for a new installation
       It is strongly recommended that you set a root password
       for your MySQL server, and the MySQL Server Instance
       Config Wizard requires by default that you do so. If you
       do not wish to set a root password, uncheck the box next
       to the Modify Security Settings option.
       MySQL Server Instance Config Wizard: Security

     * To set the root password, enter the desired password into
       both the New root password and Confirm boxes.
       Setting the root password for an existing installation
       If you are modifying the configuration of an existing
       configuration, or you are installing an upgrade and the
       MySQL Server Instance Configuration Wizard has detected
       an existing MySQL system, then you must enter the
       existing password for root before changing the
       configuration information.
       MySQL Server Instance Config Wizard: Security (Existing
       Installation)
       If you want to change the current root password, enter
       the desired new password into both the New root password
       and Confirm boxes.

   To permit root logins from across the network, check the box
   next to the Enable root access from remote machines option.
   This decreases the security of your root account.

   To create an anonymous user account, check the box next to
   the Create An Anonymous Account option. Creating an anonymous
   account can decrease server security and cause login and
   permission difficulties. For this reason, it is not
   recommended.

2.3.6.12 The Confirmation Dialog

   The final dialog in the MySQL Server Instance Configuration
   Wizard is the Confirmation Dialog. To start the configuration
   process, click the Execute button. To return to a previous
   dialog, click the Back button. To exit the MySQL Server
   Instance Configuration Wizard without configuring the server,
   click the Cancel button.
   MySQL Server Instance Configuration Wizard: Confirmation

   After you click the Execute button, the MySQL Server Instance
   Configuration Wizard performs a series of tasks and displays
   the progress onscreen as the tasks are performed.

   The MySQL Server Instance Configuration Wizard first
   determines configuration file options based on your choices
   using a template prepared by MySQL developers and engineers.
   This template is named my-template.ini and is located in your
   server installation directory.

   The MySQL Configuration Wizard then writes these options to
   the corresponding configuration file.

   If you chose to create a service for the MySQL server, the
   MySQL Server Instance Configuration Wizard creates and starts
   the service. If you are reconfiguring an existing service,
   the MySQL Server Instance Configuration Wizard restarts the
   service to apply your configuration changes.

   If you chose to set a root password, the MySQL Configuration
   Wizard connects to the server, sets your new root password,
   and applies any other security settings you may have
   selected.

   After the MySQL Server Instance Configuration Wizard has
   completed its tasks, it displays a summary. Click the Finish
   button to exit the MySQL Server Configuration Wizard.

2.3.6.13 MySQL Server Instance Config Wizard: Creating an Instance
from the Command Line

   In addition to using the GUI interface to the MySQL Server
   Instance Config Wizard, you can also create instances
   automatically from the command line.

   To use the MySQL Server Instance Config Wizard on the command
   line, you need to use the MySQLInstanceConfig.exe command
   that is installed with MySQL in the bin directory within the
   installation directory. MySQLInstanceConfig.exe takes a
   number of command-line arguments the set the properties that
   would normally be selected through the GUI interface, and
   then creates a new configuration file (my.ini) by combining
   these selections with a template configuration file to
   produce the working configuration file.

   The main command line options are provided in the table
   below. Some of the options are required, while some options
   are optional.

   Table 2.5 MySQL Server Instance Config Wizard Command Line
   Options
   Option Description
   Required Parameters
   -nPRODUCTNAME The name of the instance when installed
   -pPATH Path of the base directory for installation. This is
   equivalent to the directory when using the basedir
   configuration parameter
   -vVERSION The version tag to use for this installation
   Action to Perform
   -i Install an instance
   -r Remove an instance
   -s Stop an existing instance
   -q Perform the operation quietly
   -lFILENAME Sae the installation progress in a logfile
   Config File to Use
   -tFILENAME Path to the template config file that will be used
   to generate the installed configuration file
   -cFILENAME Path to a config file to be generated

   The -t and -c options work together to set the configuration
   parameters for a new instance. The -t option specifies the
   template configuration file to use as the basic
   configuration, which are then merged with the configuration
   parameters generated by the MySQL Server Instance Config
   Wizard into the configuration file specified by the -c
   option.

   A sample template file, my-template.ini is provided in the
   toplevel MySQL installation directory. The file contains
   elements are replaced automatically by the MySQL Server
   Instance Config Wizard during configuration.

   If you specify a configuration file that already exists, the
   existing configuration file will be saved in the file with
   the original, with the date and time added. For example, the
   mysql.ini will be copied to mysql 2009-10-27 1646.ini.bak.

   The parameters that you can specify on the command line are
   listed in the table below.

   Table 2.6 MySQL Server Instance Config Wizard Parameters
   Parameter Description
   ServiceName=$ Specify the name of the service to be created
   AddBinToPath={yes | no} Specifies whether to add the binary
   directory of MySQL to the standard PATH environment variable
   ServerType={DEVELOPMENT | SERVER | DEDICATED} Specify the
   server type. For more information, see Section 2.3.6.4, "The
   Server Type Dialog"
   DatabaseType={MIXED | INNODB | MYISAM} Specify the default
   database type. For more information, see Section 2.3.6.5,
   "The Database Usage Dialog"
   ConnectionUsage={DSS | OLTP} Specify the type of connection
   support, this automates the setting for the number of
   concurrent connections (see the ConnectionCount parameter).
   For more information, see Section 2.3.6.7, "The Concurrent
   Connections Dialog"
   ConnectionCount=# Specify the number of concurrent
   connections to support. For more information, see Section
   2.3.6.4, "The Server Type Dialog"
   SkipNetworking={yes | no} Specify whether network support
   should be supported. Specifying yes disables network access
   altogether
   Port=# Specify the network port number to use for network
   connections. For more information, see Section 2.3.6.8, "The
   Networking and Strict Mode Options Dialog"
   StrictMode={yes | no} Specify whether to use the strict SQL
   mode. For more information, see Section 2.3.6.8, "The
   Networking and Strict Mode Options Dialog"
   Charset=$ Specify the default character set. For more
   information, see Section 2.3.6.9, "The Character Set Dialog"
   RootPassword=$ Specify the root password
   RootCurrentPassword=$ Specify the current root password then
   stopping or reconfiguring an existing service
   Note

   When specifying options on the command line, you can enclose
   the entire command-line option and the value you are
   specifying using double quotation marks. This enables you to
   use spaces in the options. For example, "-cC:\mysql.ini".

   The following command installs a MySQL Server 5.5 instance
   from the directory C:\Program Files\MySQL\MySQL Server 5.5
   using the service name MySQL55 and setting the root password
   to 1234.
shell> MySQLInstanceConfig.exe -i -q "-lC:\mysql_install_log.txt" »
   "-nMySQL Server 5.5" "-pC:\Program Files\MySQL\MySQL Server 5.5" -v
5.5.42 »
   "-tmy-template.ini" "-cC:\mytest.ini" ServerType=DEVELOPMENT Databa
seType=MIXED »
   ConnectionUsage=DSS Port=3311 ServiceName=MySQL55 RootPassword=1234

   In the above example, a log file will be generated in
   mysql_install_log.txt containing the information about the
   instance creation process. The log file generated by the
   above example is shown below:
Welcome to the MySQL Server Instance Configuration Wizard 1.0.16.0
Date: 2009-10-27 17:07:21

Installing service ...

Product Name:         MySQL Server 5.5
Version:              5.5.42
Installation Path:    C:\Program Files\MySQL\MySQL Server 5.5\

Creating configuration file C:\mytest.ini using template my-template.i
ni.
Options:
DEVELOPMENT
MIXED
DSS
STRICTMODE

Variables:
port: 3311
default-character-set: latin1
basedir: "C:/Program Files/MySQL/MySQL Server 5.5/"
datadir: "C:/Program Files/MySQL/MySQL Server 5.5/Data/"


Creating Windows service entry.
Service name: "MySQL55"
Parameters:   "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --d
efaults-file="C:\mytest.ini" MySQL55.
Windows service MySQL55 installed.

   When using the command line, the return values in the
   following table indicate an error performing the specified
   option.

   Table 2.7 Return Value from MySQL Server Instance Config
   Wizard
   Value                   Description
   2     Configuration template file cannot be found
   3     The Windows service entry cannot be created
   4     Could not connect to the Service Control Manager
   5     The MySQL service cannot be started
   6     The MySQL service cannot be stopped
   7     The security settings cannot be applied
   8     The configuration file cannot be written
   9     The Windows service entry cannot be removed

   You can perform an installation of MySQL automatically using
   the MSI package. For more information, see Section 2.3.5.2,
   "Automating MySQL Installation on Microsoft Windows Using the
   MSI Package."

2.3.7 Installing MySQL on Microsoft Windows Using a noinstall Zip
Archive

   Users who are installing from the noinstall package can use
   the instructions in this section to manually install MySQL.
   The process for installing MySQL from a Zip archive is as
   follows:

    1. Extract the archive to the desired install directory

    2. Create an option file

    3. Choose a MySQL server type

    4. Start the MySQL server

    5. Secure the default user accounts

   This process is described in the sections that follow.

2.3.7.1 Extracting the Install Archive

   To install MySQL manually, do the following:

    1. If you are upgrading from a previous version please refer
       to Section 2.3.9, "Upgrading MySQL on Windows," before
       beginning the upgrade process.

    2. Make sure that you are logged in as a user with
       administrator privileges.

    3. Choose an installation location. Traditionally, the MySQL
       server is installed in C:\mysql. The MySQL Installation
       Wizard installs MySQL under C:\Program Files\MySQL. If
       you do not install MySQL at C:\mysql, you must specify
       the path to the install directory during startup or in an
       option file. See Section 2.3.7.2, "Creating an Option
       File."
       Note
       The MySQL Installer installs MySQL under C:\Program
       Files\MySQL.

    4. Extract the install archive to the chosen installation
       location using your preferred Zip archive tool. Some
       tools may extract the archive to a folder within your
       chosen installation location. If this occurs, you can
       move the contents of the subfolder into the chosen
       installation location.

2.3.7.2 Creating an Option File

   If you need to specify startup options when you run the
   server, you can indicate them on the command line or place
   them in an option file. For options that are used every time
   the server starts, you may find it most convenient to use an
   option file to specify your MySQL configuration. This is
   particularly true under the following circumstances:

     * The installation or data directory locations are
       different from the default locations (C:\Program
       Files\MySQL\MySQL Server 5.5 and C:\Program
       Files\MySQL\MySQL Server 5.5\data).

     * You need to tune the server settings, such as memory,
       cache, or InnoDB configuration information.

   When the MySQL server starts on Windows, it looks for option
   files in several locations, such as the Windows directory,
   C:\, and the MySQL installation directory (for the full list
   of locations, see Section 4.2.6, "Using Option Files"). The
   Windows directory typically is named something like
   C:\WINDOWS. You can determine its exact location from the
   value of the WINDIR environment variable using the following
   command:
C:\> echo %WINDIR%

   MySQL looks for options in each location first in the my.ini
   file, and then in the my.cnf file. However, to avoid
   confusion, it is best if you use only one file. If your PC
   uses a boot loader where C: is not the boot drive, your only
   option is to use the my.ini file. Whichever option file you
   use, it must be a plain text file.
   Note

   When using the MySQL Installer to install MySQL Server, it
   will create the my.ini at the default location. And as of
   MySQL Server 5.5.27, the user running MySQL Installer is
   granted full permissions to this new my.ini.

   In other words, be sure that the MySQL Server user has
   permission to read the my.ini file.

   You can also make use of the example option files included
   with your MySQL distribution; see Section 5.1.2, "Server
   Configuration Defaults."

   An option file can be created and modified with any text
   editor, such as Notepad. For example, if MySQL is installed
   in E:\mysql and the data directory is in E:\mydata\data, you
   can create an option file containing a [mysqld] section to
   specify values for the basedir and datadir options:
[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=E:/mydata/data

   Microsoft Windows path names are specified in option files
   using (forward) slashes rather than backslashes. If you do
   use backslashes, double them:
[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mydata\\data

   The rules for use of backslash in option file values are
   given in Section 4.2.6, "Using Option Files."

   The data directory is located within the AppData directory
   for the user running MySQL.

   If you would like to use a data directory in a different
   location, you should copy the entire contents of the data
   directory to the new location. For example, if you want to
   use E:\mydata as the data directory instead, you must do two
   things:

    1. Move the entire data directory and all of its contents
       from the default location (for example C:\Program
       Files\MySQL\MySQL Server 5.5\data) to E:\mydata.

    2. Use a --datadir option to specify the new data directory
       location each time you start the server.

2.3.7.3 Selecting a MySQL Server Type

   The following table shows the available servers for Windows
   in MySQL 5.5.
   Binary Description
   mysqld Optimized binary with named-pipe support
   mysqld-debug Like mysqld, but compiled with full debugging
   and automatic memory allocation checking

   All of the preceding binaries are optimized for modern Intel
   processors, but should work on any Intel i386-class or higher
   processor.

   Each of the servers in a distribution support the same set of
   storage engines. The SHOW ENGINES statement displays which
   engines a given server supports.

   All Windows MySQL 5.5 servers have support for symbolic
   linking of database directories.

   MySQL supports TCP/IP on all Windows platforms. MySQL servers
   on Windows also support named pipes, if you start the server
   with the --enable-named-pipe option. It is necessary to use
   this option explicitly because some users have experienced
   problems with shutting down the MySQL server when named pipes
   were used. The default is to use TCP/IP regardless of
   platform because named pipes are slower than TCP/IP in many
   Windows configurations.

2.3.7.4 Starting the Server for the First Time

   This section gives a general overview of starting the MySQL
   server. The following sections provide more specific
   information for starting the MySQL server from the command
   line or as a Windows service.

   The information here applies primarily if you installed MySQL
   using the Noinstall version, or if you wish to configure and
   test MySQL manually rather than with the GUI tools.
   Note

   The MySQL server will automatically start after using the
   MySQL Installer, and the MySQL Notifier GUI can be used to
   start/stop/restart at any time.

   The examples in these sections assume that MySQL is installed
   under the default location of C:\Program Files\MySQL\MySQL
   Server 5.5. Adjust the path names shown in the examples if
   you have MySQL installed in a different location.

   Clients have two options. They can use TCP/IP, or they can
   use a named pipe if the server supports named-pipe
   connections.

   MySQL for Windows also supports shared-memory connections if
   the server is started with the --shared-memory option.
   Clients can connect through shared memory by using the
   --protocol=MEMORY option.

   For information about which server binary to run, see Section
   2.3.7.3, "Selecting a MySQL Server Type."

   Testing is best done from a command prompt in a console
   window (or "DOS window"). In this way you can have the server
   display status messages in the window where they are easy to
   see. If something is wrong with your configuration, these
   messages make it easier for you to identify and fix any
   problems.

   To start the server, enter this command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --console

   For a server that includes InnoDB support, you should see the
   messages similar to those following as it starts (the path
   names and sizes may differ):
InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist:
InnoDB: a new database to be created!
InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200
InnoDB: Database physically writes the file full: wait...
InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be create
d
InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be create
d
InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be create
d
InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: creating foreign key constraint system tables
InnoDB: foreign key constraint system tables created
011024 10:58:25  InnoDB: Started

   When the server finishes its startup sequence, you should see
   something like this, which indicates that the server is ready
   to service client connections:
mysqld: ready for connections
Version: '5.5.42'  socket: ''  port: 3306

   The server continues to write to the console any further
   diagnostic output it produces. You can open a new console
   window in which to run client programs.

   If you omit the --console option, the server writes
   diagnostic output to the error log in the data directory
   (C:\Program Files\MySQL\MySQL Server 5.5\data by default).
   The error log is the file with the .err extension, and may be
   set using the --log-error option.
   Note

   The accounts that are listed in the MySQL grant tables
   initially have no passwords. After starting the server, you
   should set up passwords for them using the instructions in
   Section 2.10.2, "Securing the Initial MySQL Accounts."

2.3.7.5 Starting MySQL from the Windows Command Line

   The MySQL server can be started manually from the command
   line. This can be done on any version of Windows.
   Note

   The MySQL Notifier GUI can also be used to start/stop/restart
   the MySQL server.

   To start the mysqld server from the command line, you should
   start a console window (or "DOS window") and enter this
   command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld"

   The path to mysqld may vary depending on the install location
   of MySQL on your system.

   You can stop the MySQL server by executing this command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin" -u root
shutdown

   Note

   If the MySQL root user account has a password, you need to
   invoke mysqladmin with the -p option and supply the password
   when prompted.

   This command invokes the MySQL administrative utility
   mysqladmin to connect to the server and tell it to shut down.
   The command connects as the MySQL root user, which is the
   default administrative account in the MySQL grant system.
   Note

   Users in the MySQL grant system are wholly independent from
   any login users under Microsoft Windows.

   If mysqld doesn't start, check the error log to see whether
   the server wrote any messages there to indicate the cause of
   the problem. By default, the error log is located in the
   C:\Program Files\MySQL\MySQL Server 5.5\data directory. It is
   the file with a suffix of .err, or may be specified by
   passing in the --log-error option. Alternatively, you can try
   to start the server as mysqld --console; in this case, you
   may get some useful information on the screen that may help
   solve the problem.

   The last option is to start mysqld with the --standalone and
   --debug options. In this case, mysqld writes a log file
   C:\mysqld.trace that should contain the reason why mysqld
   doesn't start. See Section 24.4.3, "The DBUG Package."

   Use mysqld --verbose --help to display all the options that
   mysqld supports.

2.3.7.6 Customizing the PATH for MySQL Tools

   To make it easier to invoke MySQL programs, you can add the
   path name of the MySQL bin directory to your Windows system
   PATH environment variable:

     * On the Windows desktop, right-click the My Computer icon,
       and select Properties.

     * Next select the Advanced tab from the System Properties
       menu that appears, and click the Environment Variables
       button.

     * Under System Variables, select Path, and then click the
       Edit button. The Edit System Variable dialogue should
       appear.

     * Place your cursor at the end of the text appearing in the
       space marked Variable Value. (Use the End key to ensure
       that your cursor is positioned at the very end of the
       text in this space.) Then enter the complete path name of
       your MySQL bin directory (for example, C:\Program
       Files\MySQL\MySQL Server 5.5\bin)
       Note
       There must be a semicolon separating this path from any
       values present in this field.
       Dismiss this dialogue, and each dialogue in turn, by
       clicking OK until all of the dialogues that were opened
       have been dismissed. You should now be able to invoke any
       MySQL executable program by typing its name at the DOS
       prompt from any directory on the system, without having
       to supply the path. This includes the servers, the mysql
       client, and all MySQL command-line utilities such as
       mysqladmin and mysqldump.
       You should not add the MySQL bin directory to your
       Windows PATH if you are running multiple MySQL servers on
       the same machine.

   Warning

   You must exercise great care when editing your system PATH by
   hand; accidental deletion or modification of any portion of
   the existing PATH value can leave you with a malfunctioning
   or even unusable system.

2.3.7.7 Starting MySQL as a Windows Service

   On Windows, the recommended way to run MySQL is to install it
   as a Windows service, so that MySQL starts and stops
   automatically when Windows starts and stops. A MySQL server
   installed as a service can also be controlled from the
   command line using NET commands, or with the graphical
   Services utility. Generally, to install MySQL as a Windows
   service you should be logged in using an account that has
   administrator rights.
   Note

   The MySQL Notifier GUI can also be used to monitor the status
   of the MySQL service.

   The Services utility (the Windows Service Control Manager)
   can be found in the Windows Control Panel (under
   Administrative Tools on Windows 2000, XP, Vista, and Server
   2003). To avoid conflicts, it is advisable to close the
   Services utility while performing server installation or
   removal operations from the command line.

Installing the service

   Before installing MySQL as a Windows service, you should
   first stop the current server if it is running by using the
   following command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin"
          -u root shutdown

   Note

   If the MySQL root user account has a password, you need to
   invoke mysqladmin with the -p option and supply the password
   when prompted.

   This command invokes the MySQL administrative utility
   mysqladmin to connect to the server and tell it to shut down.
   The command connects as the MySQL root user, which is the
   default administrative account in the MySQL grant system.
   Note

   Users in the MySQL grant system are wholly independent from
   any login users under Windows.

   Install the server as a service using this command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install

   The service-installation command does not start the server.
   Instructions for that are given later in this section.

   To make it easier to invoke MySQL programs, you can add the
   path name of the MySQL bin directory to your Windows system
   PATH environment variable:

     * On the Windows desktop, right-click the My Computer icon,
       and select Properties.

     * Next select the Advanced tab from the System Properties
       menu that appears, and click the Environment Variables
       button.

     * Under System Variables, select Path, and then click the
       Edit button. The Edit System Variable dialogue should
       appear.

     * Place your cursor at the end of the text appearing in the
       space marked Variable Value. (Use the End key to ensure
       that your cursor is positioned at the very end of the
       text in this space.) Then enter the complete path name of
       your MySQL bin directory (for example, C:\Program
       Files\MySQL\MySQL Server 5.5\bin), and there should be a
       semicolon separating this path from any values present in
       this field. Dismiss this dialogue, and each dialogue in
       turn, by clicking OK until all of the dialogues that were
       opened have been dismissed. You should now be able to
       invoke any MySQL executable program by typing its name at
       the DOS prompt from any directory on the system, without
       having to supply the path. This includes the servers, the
       mysql client, and all MySQL command-line utilities such
       as mysqladmin and mysqldump.
       You should not add the MySQL bin directory to your
       Windows PATH if you are running multiple MySQL servers on
       the same machine.

   Warning

   You must exercise great care when editing your system PATH by
   hand; accidental deletion or modification of any portion of
   the existing PATH value can leave you with a malfunctioning
   or even unusable system.

   The following additional arguments can be used when
   installing the service:

     * You can specify a service name immediately following the
       --install option. The default service name is MySQL.

     * If a service name is given, it can be followed by a
       single option. By convention, this should be
       --defaults-file=file_name to specify the name of an
       option file from which the server should read options
       when it starts.
       The use of a single option other than --defaults-file is
       possible but discouraged. --defaults-file is more
       flexible because it enables you to specify multiple
       startup options for the server by placing them in the
       named option file.

     * You can also specify a --local-service option following
       the service name. This causes the server to run using the
       LocalService Windows account that has limited system
       privileges. This account is available only for Windows XP
       or newer. If both --defaults-file and --local-service are
       given following the service name, they can be in any
       order.

   For a MySQL server that is installed as a Windows service,
   the following rules determine the service name and option
   files that the server uses:

     * If the service-installation command specifies no service
       name or the default service name (MySQL) following the
       --install option, the server uses the a service name of
       MySQL and reads options from the [mysqld] group in the
       standard option files.

     * If the service-installation command specifies a service
       name other than MySQL following the --install option, the
       server uses that service name. It reads options from the
       [mysqld] group and the group that has the same name as
       the service in the standard option files. This enables
       you to use the [mysqld] group for options that should be
       used by all MySQL services, and an option group with the
       service name for use by the server installed with that
       service name.

     * If the service-installation command specifies a
       --defaults-file option after the service name, the server
       reads options the same way as described in the previous
       item, except that it reads options only from the named
       file and ignores the standard option files.

   As a more complex example, consider the following command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld"
          --install MySQL --defaults-file=C:\my-opts.cnf

   Here, the default service name (MySQL) is given after the
   --install option. If no --defaults-file option had been
   given, this command would have the effect of causing the
   server to read the [mysqld] group from the standard option
   files. However, because the --defaults-file option is
   present, the server reads options from the [mysqld] option
   group, and only from the named file.
   Note

   On Windows, if the server is started with the --defaults-file
   and --install options, --install must be first. Otherwise,
   mysqld.exe will attempt to start the MySQL server.

   You can also specify options as Start parameters in the
   Windows Services utility before you start the MySQL service.

Starting the service

   Once a MySQL server has been installed as a service, Windows
   starts the service automatically whenever Windows starts. The
   service also can be started immediately from the Services
   utility, or by using a NET START MySQL command. The NET
   command is not case sensitive.

   When run as a service, mysqld has no access to a console
   window, so no messages can be seen there. If mysqld does not
   start, check the error log to see whether the server wrote
   any messages there to indicate the cause of the problem. The
   error log is located in the MySQL data directory (for
   example, C:\Program Files\MySQL\MySQL Server 5.5\data). It is
   the file with a suffix of .err.

   When a MySQL server has been installed as a service, and the
   service is running, Windows stops the service automatically
   when Windows shuts down. The server also can be stopped
   manually by using the Services utility, the NET STOP MySQL
   command, or the mysqladmin shutdown command.

   You also have the choice of installing the server as a manual
   service if you do not wish for the service to be started
   automatically during the boot process. To do this, use the
   --install-manual option rather than the --install option:
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install-ma
nual

Removing the service

   To remove a server that is installed as a service, first stop
   it if it is running by executing NET STOP MySQL. Then use the
   --remove option to remove it:
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --remove

   If mysqld is not running as a service, you can start it from
   the command line. For instructions, see Section 2.3.7.5,
   "Starting MySQL from the Windows Command Line."

   If you encounter difficulties during installation. see
   Section 2.3.8, "Troubleshooting a Microsoft Windows MySQL
   Server Installation."

2.3.7.8 Testing The MySQL Installation

   You can test whether the MySQL server is working by executing
   any of the following commands:
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqlshow"
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqlshow" -u root m
ysql
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin" version
status proc
C:\> "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql" test

   If mysqld is slow to respond to TCP/IP connections from
   client programs, there is probably a problem with your DNS.
   In this case, start mysqld with the --skip-name-resolve
   option and use only localhost and IP addresses in the Host
   column of the MySQL grant tables.

   You can force a MySQL client to use a named-pipe connection
   rather than TCP/IP by specifying the --pipe or
   --protocol=PIPE option, or by specifying . (period) as the
   host name. Use the --socket option to specify the name of the
   pipe if you do not want to use the default pipe name.

   If you have set a password for the root account, deleted the
   anonymous account, or created a new user account, then to
   connect to the MySQL server you must use the appropriate -u
   and -p options with the commands shown previously. See
   Section 4.2.2, "Connecting to the MySQL Server."

   For more information about mysqlshow, see Section 4.5.6,
   "mysqlshow --- Display Database, Table, and Column
   Information."

2.3.8 Troubleshooting a Microsoft Windows MySQL Server Installation

   When installing and running MySQL for the first time, you may
   encounter certain errors that prevent the MySQL server from
   starting. This section helps you diagnose and correct some of
   these errors.

   Your first resource when troubleshooting server issues is the
   error log. The MySQL server uses the error log to record
   information relevant to the error that prevents the server
   from starting. The error log is located in the data directory
   specified in your my.ini file. The default data directory
   location is C:\Program Files\MySQL\MySQL Server 5.5\data, or
   C:\ProgramData\Mysql on Windows 7 and Windows Server 2008.
   The C:\ProgramData directory is hidden by default. You need
   to change your folder options to see the directory and
   contents. For more information on the error log and
   understanding the content, see Section 5.2.2, "The Error
   Log."

   For information regarding possible errors, also consult the
   console messages displayed when the MySQL service is
   starting. Use the NET START MySQL command from the command
   line after installing mysqld as a service to see any error
   messages regarding the starting of the MySQL server as a
   service. See Section 2.3.7.7, "Starting MySQL as a Windows
   Service."

   The following examples show other common error messages you
   might encounter when installing MySQL and starting the server
   for the first time:

     * If the MySQL server cannot find the mysql privileges
       database or other critical files, it displays these
       messages:
System error 1067 has occurred.
Fatal error: Can't open and lock privilege tables:
Table 'mysql.user' doesn't exist

       These messages often occur when the MySQL base or data
       directories are installed in different locations than the
       default locations (C:\Program Files\MySQL\MySQL Server
       5.5 and C:\Program Files\MySQL\MySQL Server 5.5\data,
       respectively).
       This situation can occur when MySQL is upgraded and
       installed to a new location, but the configuration file
       is not updated to reflect the new location. In addition,
       old and new configuration files might conflict. Be sure
       to delete or rename any old configuration files when
       upgrading MySQL.
       If you have installed MySQL to a directory other than
       C:\Program Files\MySQL\MySQL Server 5.5, ensure that the
       MySQL server is aware of this through the use of a
       configuration (my.ini) file. Put the my.ini file in your
       Windows directory, typically C:\WINDOWS. To determine its
       exact location from the value of the WINDIR environment
       variable, issue the following command from the command
       prompt:
C:\> echo %WINDIR%

       You can create or modify an option file with any text
       editor, such as Notepad. For example, if MySQL is
       installed in E:\mysql and the data directory is
       D:\MySQLdata, you can create the option file and set up a
       [mysqld] section to specify values for the basedir and
       datadir options:
[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=D:/MySQLdata

       Microsoft Windows path names are specified in option
       files using (forward) slashes rather than backslashes. If
       you do use backslashes, double them:
[mysqld]
# set basedir to your installation path
basedir=C:\\Program Files\\MySQL\\MySQL Server 5.5
# set datadir to the location of your data directory
datadir=D:\\MySQLdata

       The rules for use of backslash in option file values are
       given in Section 4.2.6, "Using Option Files."
       If you change the datadir value in your MySQL
       configuration file, you must move the contents of the
       existing MySQL data directory before restarting the MySQL
       server.
       See Section 2.3.7.2, "Creating an Option File."

     * If you reinstall or upgrade MySQL without first stopping
       and removing the existing MySQL service and install MySQL
       using the MySQL Installer, you might see this error:
Error: Cannot create Windows service for MySql. Error: 0

       This occurs when the Configuration Wizard tries to
       install the service and finds an existing service with
       the same name.
       One solution to this problem is to choose a service name
       other than mysql when using the configuration wizard.
       This enables the new service to be installed correctly,
       but leaves the outdated service in place. Although this
       is harmless, it is best to remove old services that are
       no longer in use.
       To permanently remove the old mysql service, execute the
       following command as a user with administrative
       privileges, on the command line:
C:\> sc delete mysql
[SC] DeleteService SUCCESS

       If the sc utility is not available for your version of
       Windows, download the delsrv utility from
       http://www.microsoft.com/windows2000/techinfo/reskit/tool
       s/existing/delsrv-o.asp and use the delsrv mysql syntax.

2.3.9 Upgrading MySQL on Windows

   To upgrade MySQL on Windows, follow these steps:

    1. Review Section 2.11.1, "Upgrading MySQL," for additional
       information on upgrading MySQL that is not specific to
       Windows.

    2. Always back up your current MySQL installation before
       performing an upgrade. See Section 7.2, "Database Backup
       Methods."

    3. Download the latest Windows distribution of MySQL from
       http://dev.mysql.com/downloads/.

    4. Before upgrading MySQL, stop the server. If the server is
       installed as a service, stop the service with the
       following command from the command prompt:
C:\> NET STOP MySQL

       If you are not running the MySQL server as a service, use
       mysqladmin to stop it. For example, before upgrading from
       MySQL 5.1 to 5.5, use mysqladmin from MySQL 5.1 as
       follows:
C:\> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin" -u root
shutdown

       Note
       If the MySQL root user account has a password, invoke
       mysqladmin with the -p option and enter the password when
       prompted.

    5. Before upgrading to MySQL 5.5 from a version previous to
       4.1.5, or from a version of MySQL installed from a Zip
       archive to a version of MySQL installed with the MySQL
       Installation Wizard, you must first manually remove the
       previous installation and MySQL service (if the server is
       installed as a service).
       To remove the MySQL service, use the following command:
C:\> C:\mysql\bin\mysqld --remove

       If you do not remove the existing service, the MySQL
       Installation Wizard may fail to properly install the new
       MySQL service.

    6. If you are using the MySQL Installer, start it as
       described in Section 2.3.3, "Installing MySQL on
       Microsoft Windows Using MySQL Installer."
       If you are using the MySQL Installation Wizard, start the
       wizard as described in Section 2.3.5.1, "Using the MySQL
       Installation Wizard."

    7. If you are upgrading MySQL from a Zip archive, extract
       the archive. You may either overwrite your existing MySQL
       installation (usually located at C:\mysql), or install it
       into a different directory, such as C:\mysql5.
       Overwriting the existing installation is recommended.
       However, for upgrades (as opposed to installing for the
       first time), you must remove the data directory from your
       existing MySQL installation to avoid replacing your
       current data files. To do so, follow these steps:
         a. Unzip the Zip archive in some location other than
            your current MySQL installation
         b. Remove the data directory
         c. Rezip the Zip archive
         d. Unzip the modified Zip archive on top of your
            existing installation
       Alternatively:
         a. Unzip the Zip archive in some location other than
            your current MySQL installation
         b. Remove the data directory
         c. Move the data directory from the current MySQL
            installation to the location of the just-removed
            data directory
         d. Remove the current MySQL installation
         e. Move the unzipped installation to the location of
            the just-removed installation

    8. If you were running MySQL as a Windows service and you
       had to remove the service earlier in this procedure,
       reinstall the service. (See Section 2.3.7.7, "Starting
       MySQL as a Windows Service.")

    9. Restart the server. For example, use NET START MySQL if
       you run MySQL as a service, or invoke mysqld directly
       otherwise.
   10. As Administrator, run mysql_upgrade to check your tables,
       attempt to repair them if necessary, and update your
       grant tables if they have changed so that you can take
       advantage of any new capabilities. See Section 4.4.7,
       "mysql_upgrade --- Check and Upgrade MySQL Tables."
   11. If you encounter errors, see Section 2.3.8,
       "Troubleshooting a Microsoft Windows MySQL Server
       Installation."

2.3.10 Windows Postinstallation Procedures

   GUI tools exist that perform most of the tasks described
   below, including:

     * MySQL Installer: Used to install and upgrade MySQL
       products.

     * MySQL Workbench: Manages the MySQL server and edits SQL
       queries.

     * MySQL Notifier: Starts, stops, or restarts the MySQL
       server, and monitors its status.

     * MySQL for Excel
       (http://dev.mysql.com/doc/mysql-for-excel/en/index.html):
       Edits MySQL data with Microsoft Excel.

   On Windows, you need not create the data directory and the
   grant tables. MySQL Windows distributions include the grant
   tables with a set of preinitialized accounts in the mysql
   database under the data directory. Regarding passwords, if
   you installed MySQL using the MySQL Installer, you may have
   already assigned passwords to the accounts. (See Section
   2.3.3, "Installing MySQL on Microsoft Windows Using MySQL
   Installer.") Otherwise, use the password-assignment procedure
   given in Section 2.10.2, "Securing the Initial MySQL
   Accounts."

   Before setting up passwords, you might want to try running
   some client programs to make sure that you can connect to the
   server and that it is operating properly. Make sure that the
   server is running (see Section 2.3.7.4, "Starting the Server
   for the First Time"), and then issue the following commands
   to verify that you can retrieve information from the server.
   You may need to specify directory different from C:\mysql\bin
   on the command line. If you installed MySQL using MySQL
   Installer, the default directory is C:\Program
   Files\MySQL\MySQL Server 5.5, and the mysql and mysqlshow
   client programs are in C:\Program Files\MySQL\MySQL Server
   5.5\bin. See Section 2.3.3, "Installing MySQL on Microsoft
   Windows Using MySQL Installer," for more information.

   Use mysqlshow to see what databases exist:
C:\> C:\mysql\bin\mysqlshow
+--------------------+
|     Databases      |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+

   The list of installed databases may vary, but will always
   include the minimum of mysql and information_schema. In most
   cases, the test database will also be installed
   automatically.

   The preceding command (and commands for other MySQL programs
   such as mysql) may not work if the correct MySQL account does
   not exist. For example, the program may fail with an error,
   or you may not be able to view all databases. If you
   installed MySQL using MySQL Installer, then the root user
   will have been created automatically with the password you
   supplied. In this case, you should use the -u root and -p
   options. (You will also need to use the -u root and -p
   options if you have already secured the initial MySQL
   accounts.) With -p, you will be prompted for the root
   password. For example:
C:\> C:\mysql\bin\mysqlshow -u root -p
Enter password: (enter root password here)
+--------------------+
|     Databases      |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+

   If you specify a database name, mysqlshow displays a list of
   the tables within the database:
C:\> C:\mysql\bin\mysqlshow mysql
Database: mysql
+---------------------------+
|          Tables           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| plugin                    |
| proc                      |
| procs_priv                |
| servers                   |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+

   Use the mysql program to select information from a table in
   the mysql database:
C:\> C:\mysql\bin\mysql -e "SELECT Host,Db,User FROM mysql.db"
+------+--------+------+
| host | db     | user |
+------+--------+------+
| %    | test   |      |
| %    | test_% |      |
+------+--------+------+

   For more information about mysqlshow and mysql, see Section
   4.5.6, "mysqlshow --- Display Database, Table, and Column
   Information," and Section 4.5.1, "mysql --- The MySQL
   Command-Line Tool."

   If you are running a version of Windows that supports
   services, you can set up the MySQL server to run
   automatically when Windows starts. See Section 2.3.7.7,
   "Starting MySQL as a Windows Service."
