2756 lines
		
	
	
		
			121 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			2756 lines
		
	
	
		
			121 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | 
 | ||
|  | 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.1.74), 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.11, "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.12.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.12, "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.12.2, | ||
|  |    "Securing the Initial MySQL Accounts." | ||
|  | 
 | ||
|  |    Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights | ||
|  |    reserved. Legal Notices | ||
|  | 
 | ||
|  | 2.3. Installing MySQL on Microsoft Windows | ||
|  | 
 | ||
|  |    MySQL for Microsoft Windows is available in a number of different | ||
|  |    forms. A Microsoft Windows operating system such as Windows 2000, | ||
|  |    Windows XP, Windows Vista, Windows 7, Windows Server 2003, or | ||
|  |    Windows Server 2008. Both 32-bit and 64-bit versions are | ||
|  |    supported. For supported platform information, see | ||
|  |    http://www.mysql.com/support/supportedplatforms/database.html. | ||
|  | 
 | ||
|  |    In addition to running MySQL as a standard application, you can | ||
|  |    also run the MySQL server 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.6.7, "Starting MySQL Server as a | ||
|  |    Microsoft 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 within the Windows version of MySQL, see | ||
|  |    Section E.7.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: | ||
|  | 
 | ||
|  |      * If you plan to connect to the MySQL server using ODBC, you | ||
|  |        need a Connector/ODBC driver. For more information, including | ||
|  |        installation and configuration instructions, see Section 21.1, | ||
|  |        "MySQL Connector/ODBC." | ||
|  | 
 | ||
|  |      * If you plan to use MySQL server with .NET applications, you | ||
|  |        need the Connector/Net driver. For more information, including | ||
|  |        installation and configuration instructions, see Section 21.2, | ||
|  |        "MySQL Connector/Net." | ||
|  | 
 | ||
|  |    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 a binary | ||
|  |    distribution that includes an installer. It is simpler to use than | ||
|  |    the others, and you need no additional tools to get MySQL up and | ||
|  |    running. The installer for the Windows version of MySQL, combined | ||
|  |    with a GUI Config Wizard, automatically installs MySQL, creates an | ||
|  |    option file, starts the server, and secures the default user | ||
|  |    accounts. | ||
|  | 
 | ||
|  |      * Binary installer distribution. The installable distribution | ||
|  |        comes packaged as a Microsoft Windows Installer (MSI) package | ||
|  |        that you can install manually or automatically on your | ||
|  |        systems. Two formats are available, an essentials package that | ||
|  |        contains all the files you need to install and configure | ||
|  |        MySQL, but no additional components, and a complete package | ||
|  |        that includes MySQL, configuration tools, benchmarks and other | ||
|  |        components. For more information on the specific differences, | ||
|  |        see Section 2.3.2, "Choosing the Installation Package for | ||
|  |        Microsoft Windows" | ||
|  |        For instructions on installing MySQL using one of the MSI | ||
|  |        installation packages, see Section 2.3.3, "Installing MySQL on | ||
|  |        Microsoft Windows Using an MSI Package." | ||
|  | 
 | ||
|  |      * Standard binary distribution format packaged as a Zip file | ||
|  |        containing 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.6, "Installing MySQL on Microsoft Windows Using a | ||
|  |        noinstall Zip Archive." | ||
|  | 
 | ||
|  |      * The source distribution 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.11.7, "Installing MySQL from Source on Windows." | ||
|  | 
 | ||
|  |    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 | ||
|  |        Using 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 mis-identifying the | ||
|  |        contents of the files as containing spam. This is because of | ||
|  |        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) being | ||
|  |        used to store your MySQL table data. There is usually a system | ||
|  |        built into the virus scanning software to permit certain | ||
|  |        directories to be specifically ignored during virus scanning. | ||
|  |        In addition, by default, MySQL creates temporary files in the | ||
|  |        standard Windows temporary directory. To prevent the temporary | ||
|  |        files also being scanned, you should configure a separate | ||
|  |        temporary directory for MySQL temporary files and add this 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.6.2, | ||
|  |        "Creating an Option File." | ||
|  | 
 | ||
|  | 2.3.1. MySQL Installation Layout on Microsoft Windows | ||
|  | 
 | ||
|  |    For MySQL 5.1 on Windows, the default installation directory is | ||
|  |    C:\Program Files\MySQL\MySQL Server 5.1. 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. | ||
|  | 
 | ||
|  |    For MySQL 5.1.23 and earlier, all of the files are located within | ||
|  |    the parent directory, using the structure shown in the following | ||
|  |    table. | ||
|  | 
 | ||
|  |    Table 2.4. Installation Layout for Windows Using MySQL 5.1.23 and | ||
|  |    Earlier | ||
|  |    Directory Contents of Directory | ||
|  |    bin Client programs and the mysqld server | ||
|  |    data Log files, databases | ||
|  |    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 | ||
|  | 
 | ||
|  |    For MySQL 5.1.24 and later, the default location of data directory | ||
|  |    was changed. The remainder of the directory structure remains the | ||
|  |    same. | ||
|  | 
 | ||
|  |    Table 2.5. Installation Layout for Microsoft Windows using MySQL | ||
|  |    5.1.24 and later | ||
|  |    Directory Contents of Directory Notes | ||
|  |    bin Client programs and the mysqld server | ||
|  |    %ALLUSERSPROFILE%\MySQL\MySQL Server 5.1\ 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.1\ 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 | ||
|  | 
 | ||
|  | 2.3.2. Choosing the Installation Package for Microsoft Windows | ||
|  | 
 | ||
|  |    For MySQL 5.1, there are three installation package formats to | ||
|  |    choose from when installing MySQL on Windows: | ||
|  |    Note | ||
|  | 
 | ||
|  |    Using MySQL Installer is the recommended installation method for | ||
|  |    Microsoft Windows users. The MySQL Server 5.1 release does not | ||
|  |    include its own MySQL Installer release, but a MySQL Installer | ||
|  |    version 5.5 and above can optionally install MySQL Server 5.1. | ||
|  |    Follow the standard Installing MySQL on Microsoft Windows Using | ||
|  |    MySQL Installer | ||
|  |    (http://dev.mysql.com/doc/refman/5.5/en/mysql-installer.html) | ||
|  |    documentation but choose Custom Install after executing it. A | ||
|  |    MySQL Server 5.1 option will be available, and choosing it will | ||
|  |    cause MySQL Installer to download it for you. | ||
|  | 
 | ||
|  |    Table 2.6. Microsoft Windows MySQL Installation package comparison | ||
|  |      Packaging | ||
|  |    Feature Essentials Complete Zip (No-install) | ||
|  |    Installer Yes Yes No | ||
|  |    Directory-only | ||
|  |    MySQL Server Instance Config Wizard Yes Yes No | ||
|  |    Test Suite No Yes Yes | ||
|  |    MySQL Server Yes Yes Yes | ||
|  |    MySQL Client Programs Yes Yes Yes | ||
|  |    C Headers/Libraries Yes Yes Yes | ||
|  |    Embedded Server No Optional Yes | ||
|  |    Scripts and Examples No Optional Yes | ||
|  | 
 | ||
|  |    In the above table: | ||
|  | 
 | ||
|  |      * Yes indicates that the component is installed by default. | ||
|  | 
 | ||
|  |      * No indicates that the component is not installed or included. | ||
|  | 
 | ||
|  |      * Optional indicates that the component is included with the | ||
|  |        package, but not installed unless explicitly requested using | ||
|  |        the Custom installation mode. | ||
|  | 
 | ||
|  |    The workflow for installing using the MSI installer is shown | ||
|  |    below: | ||
|  | 
 | ||
|  |    Figure 2.7. Installation Workflow for Windows Using MSI | ||
|  |    Installation Workflow for Windows using MSI | ||
|  | 
 | ||
|  |    The workflow for installing using the MSI installer is shown | ||
|  |    below: | ||
|  | 
 | ||
|  |    Figure 2.8. Installation Workflow for Windows Using Zip | ||
|  |    Installation Workflow for Windows using Zip | ||
|  |    Note | ||
|  | 
 | ||
|  |    For the Essentials and Complete packages in the MSI installer, you | ||
|  |    can select individual components to be installed by using the | ||
|  |    Custom mode, including disable the components confiurated for | ||
|  |    installation by default. | ||
|  | 
 | ||
|  |    Full details on the components are suggested uses are provided | ||
|  |    below for reference: | ||
|  | 
 | ||
|  |      * Windows Essentials: This package has a file name similar to | ||
|  |        mysql-essential-5.1.74-win32.msi and is supplied as a | ||
|  |        Microsoft Installer (MSI) package. The package includes the | ||
|  |        minimum set of files needed to install MySQL on Windows, | ||
|  |        including the MySQL Server Instance Config Wizard. This | ||
|  |        package does not include optional components such as the | ||
|  |        embedded server, developer headers and libraries or benchmark | ||
|  |        suite. | ||
|  |        To install using this package, see Section 2.3.3, "Installing | ||
|  |        MySQL on Microsoft Windows Using an MSI Package." | ||
|  | 
 | ||
|  |      * Windows MSI Installer (Complete): This package has a file name | ||
|  |        similar to mysql-5.1.74-win32.msi and contains all files | ||
|  |        needed for a complete Windows installation, including the | ||
|  |        MySQL Server Instance Config Wizard. This package includes | ||
|  |        optional components such as the embedded server and benchmark | ||
|  |        suite. | ||
|  |        To install using this package, see Section 2.3.3, "Installing | ||
|  |        MySQL on Microsoft Windows Using an MSI Package." | ||
|  | 
 | ||
|  |      * Without installer: This package has a file name similar to | ||
|  |        mysql-noinstall-5.1.74-win32.zip and contains all the files | ||
|  |        found in the Complete install package, with the exception of | ||
|  |        the MySQL Server Instance Config Wizard. This package does not | ||
|  |        include an automated installer, and must be manually installed | ||
|  |        and configured. | ||
|  | 
 | ||
|  |    The Essentials package is recommended for most users. Both the | ||
|  |    Essentials and Complete distributions are available as an .msi | ||
|  |    file for use with the Windows Installer. The Noinstall | ||
|  |    distribution is packaged as a Zip archive. To use a Zip archive, | ||
|  |    you must have a tool that can unpack .zip files. | ||
|  | 
 | ||
|  |    When using the MSI installers you can automate the installation | ||
|  |    process. For more information, see Section 2.3.3.2, "Automating | ||
|  |    MySQL Installation on Microsoft Windows Using the MSI Package." To | ||
|  |    automate the creation of a MySQL instance, see Section 2.3.5.13, | ||
|  |    "MySQL Server Instance Config Wizard: Creating an Instance from | ||
|  |    the Command Line." | ||
|  | 
 | ||
|  |    Your choice of install package affects the installation process | ||
|  |    you must follow. If you choose to install either an Essentials or | ||
|  |    Complete install package, see Section 2.3.3, "Installing MySQL on | ||
|  |    Microsoft Windows Using an MSI Package." If you choose to install | ||
|  |    a Noinstall archive, see Section 2.3.6, "Installing MySQL on | ||
|  |    Microsoft Windows Using a noinstall Zip Archive." | ||
|  | 
 | ||
|  | 2.3.3. 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 Essentials and Complete install packages. They | ||
|  |    are 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.3.1, "Using the MySQL Installation | ||
|  |        Wizard for Microsoft Windows." | ||
|  | 
 | ||
|  |      * For information on installing using the command line using the | ||
|  |        MSI package, see Section 2.3.3.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.3.3, "Removing MySQL | ||
|  |        When Installed from the MSI Package." | ||
|  | 
 | ||
|  |    The workflow sequence for using the installer is shown in the | ||
|  |    figure below: | ||
|  | 
 | ||
|  |    Figure 2.9. 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.3.1. Using the MySQL Installation Wizard for Microsoft Windows | ||
|  | 
 | ||
|  |    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 | ||
|  |    Config Wizard, enables a user to install and configure a MySQL | ||
|  |    server that is ready for use immediately after installation. | ||
|  | 
 | ||
|  |    The MySQL Installation Wizard uses the standard Microsoft | ||
|  |    Installer Engine (MSI) system is the standard installer for all | ||
|  |    MySQL server distributions. See Section 2.3.3.1.6, "MySQL | ||
|  |    Installation Wizard: Upgrading MySQL," for more information on | ||
|  |    upgrading from a previous version. | ||
|  | 
 | ||
|  |    If you are upgrading an installation from MySQL 5.1.31 or earlier | ||
|  |    to MySQL 5.1.32 or later, read the notes provided in Section | ||
|  |    2.3.3.1.6, "MySQL Installation Wizard: Upgrading MySQL." | ||
|  | 
 | ||
|  |    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;292539) | ||
|  |    for information on upgrading to the latest version of the Windows | ||
|  |    Installer Engine. | ||
|  | 
 | ||
|  |    In addition, Microsoft has introduced the WiX (Windows Installer | ||
|  |    XML) toolkit. 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.3.1.1. MySQL Installation Wizard: Downloading and Starting | ||
|  | 
 | ||
|  |    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. | ||
|  | 
 | ||
|  |    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.3.1.2. MySQL Installation Wizard: 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.3.1.3, "MySQL Installation Wizard: 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.3.1.3, "MySQL | ||
|  |    Installation Wizard: The Custom Install Dialog." | ||
|  | 
 | ||
|  | 2.3.3.1.3. MySQL Installation Wizard: 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.3.1.4. MySQL Installation Wizard: 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. | ||
|  | 
 | ||
|  |    In MySQL 5.1.47 and earlier, after installation is complete, you | ||
|  |    have the option of registering with the MySQL web site. | ||
|  |    Registration gives you access to post in the MySQL forums at | ||
|  |    forums.mysql.com (http://forums.mysql.com), along with the ability | ||
|  |    to report bugs at bugs.mysql.com (http://bugs.mysql.com) and to | ||
|  |    subscribe to our newsletter. | ||
|  | 
 | ||
|  |    The final screen of the installer provides a summary of the | ||
|  |    installation and gives you the option to launch the MySQL Config | ||
|  |    Wizard, which you can use to create a configuration file, install | ||
|  |    the MySQL service, and configure security settings. | ||
|  | 
 | ||
|  | 2.3.3.1.5. MySQL Installation Wizard: Changes Made | ||
|  | 
 | ||
|  |    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. For 64-bit Windows, the | ||
|  |    registry location is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MYSQL | ||
|  |    AB. A server version specific entry will be created for each major | ||
|  |    version of MySQL that you install. | ||
|  | 
 | ||
|  |    The MySQL Installation Wizard creates a key named after the major | ||
|  |    version of the server that is being installed, such as MySQL | ||
|  |    Server 5.1. 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.1\. The Version string contains the | ||
|  |    release number. For example, for an installation of MySQL Server | ||
|  |    5.1.74, the key contains a value of 5.1.74. | ||
|  | 
 | ||
|  |    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.1, the MySQL Installation Wizard creates a MySQL | ||
|  |    Server 5.1 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 Config 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. This option is not available when the | ||
|  |        MySQL server is installed using the Essentials installation | ||
|  |        package. | ||
|  | 
 | ||
|  |    Changes to the File System | ||
|  | 
 | ||
|  |    The MySQL Installation Wizard by default installs the MySQL 5.1 | ||
|  |    server to C:\Program Files\MySQL\MySQL Server 5.1, where Program | ||
|  |    Files is the default location for applications in your system, and | ||
|  |    5.1 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.1 | ||
|  | 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. | ||
|  | 
 | ||
|  |    In MySQL 5.1.23 and earlier, the default location for the data | ||
|  |    files used by MySQL is located within the corresponding MySQL | ||
|  |    Server installation directory. For MySQL 5.1.24 and later, the | ||
|  |    default location of the data directory is the AppData directory | ||
|  |    configured for the user that installed the MySQL application. | ||
|  | 
 | ||
|  | 2.3.3.1.6. MySQL Installation Wizard: Upgrading MySQL | ||
|  | 
 | ||
|  |    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.1.5 to | ||
|  |    MySQL 5.1.6, but not from MySQL 5.0 to MySQL 5.1. | ||
|  | 
 | ||
|  |    In MySQL 5.1.32 and later, the EXE version of the MSI installer | ||
|  |    packages were removed. When upgrading an existing MySQL | ||
|  |    installation from the old EXE based installer to the MSI based | ||
|  |    installer, please keep the following notes in mind: | ||
|  | 
 | ||
|  |      * The MSI installer will not identify an existing installation | ||
|  |        that was installed using the old EXE installer. This means | ||
|  |        that the installer will not stop the existing server, or | ||
|  |        detect that the existing password is required before | ||
|  |        installing the new version. To work around this: | ||
|  | 
 | ||
|  |          1. Stop the current server manually using net stop or | ||
|  |             mysqladmin shutdown. | ||
|  | 
 | ||
|  |          2. Remove the existing installation manually by using the | ||
|  |             Add/Remove Programs control panel. This will keep the | ||
|  |             existing configuration and data files, as these are not | ||
|  |             removed automatically. | ||
|  | 
 | ||
|  |          3. Install the new version of MySQL using the MSI installer. | ||
|  |             When running the installation, skip updating the security | ||
|  |             by deselecting the check box on the security screen. | ||
|  | 
 | ||
|  |          4. Complete the installation, and then start the server | ||
|  |             again. You should be able to login with your existing | ||
|  |             user and password credentials. | ||
|  | 
 | ||
|  |      * You can only upgrade the version and release using the MSI | ||
|  |        installer. For example, you can upgrade an open source | ||
|  |        installation with an open source installer. You cannot upgrade | ||
|  |        an open source installation using the enterprise installer. | ||
|  | 
 | ||
|  |    See Section 2.3.8, "Upgrading MySQL Server on Microsoft Windows." | ||
|  | 
 | ||
|  | 2.3.3.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.1.74.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.1.74.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.1.74.msi /uninstall | ||
|  | 
 | ||
|  |    To install MySQL and configure a MySQL instance from the command | ||
|  |    line, see Section 2.3.5.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.3.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.0, MySQL 5.1, | ||
|  |        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, before MySQL 5.1.24, the default data | ||
|  |        directory would be located within the MySQL installation | ||
|  |        directory. On MySQL 5.1.24 and later, 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.4. MySQL Notifier for Microsoft Windows | ||
|  | 
 | ||
|  |    The MySQL Notifier for Microsoft Windows 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 for Microsoft Windows also gives | ||
|  |    quick access to several MySQL GUI tools (such as MySQL Workbench) | ||
|  |    through its context menu. | ||
|  | 
 | ||
|  |    The MySQL Notifier for Microsoft Windows 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 for Microsoft Windows product is selected, then proceed | ||
|  |    with the installation. See the MySQL Installer manual | ||
|  |    (http://dev.mysql.com/doc/refman/5.5/en/mysql-installer.html) for | ||
|  |    additional details. | ||
|  | 
 | ||
|  |    For release notes detailing the changes in each release of MySQL | ||
|  |    Notifier for Microsoft Windows, 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 for Microsoft Windows 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 for Microsoft | ||
|  |    Windows 1.1.0. | ||
|  | 
 | ||
|  |    The MySQL Notifier for Microsoft Windows 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 for Microsoft Windows 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 for Microsoft Windows. | ||
|  |    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 for Microsoft | ||
|  |    Windows window, and enables you to Stop, Start, and Restart the | ||
|  |    MySQL Server. | ||
|  | 
 | ||
|  |    Figure 2.10. MySQL Notifier for Microsoft Windows Service Instance | ||
|  |    menu | ||
|  |    MySQL Notifier for Microsoft Windows Service Instance menu | ||
|  | 
 | ||
|  |    The Actions menu includes several links to external applications | ||
|  |    (if they are installed), and a 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 for Microsoft Windows. | ||
|  |    Note | ||
|  | 
 | ||
|  |    The Refresh Status feature is available since MySQL Notifier for | ||
|  |    Microsoft Windows 1.1.0. | ||
|  | 
 | ||
|  |    Figure 2.11. MySQL Notifier for Microsoft Windows Actions menu | ||
|  |    MySQL Notifier for Microsoft Windows Actions menu | ||
|  | 
 | ||
|  |    The Actions, Options menu configures MySQL Notifier for Microsoft | ||
|  |    Windows and includes options to: | ||
|  | 
 | ||
|  |      * Use colorful status icons: Enables a colorful style of icons | ||
|  |        for the tray of the MySQL Notifier for Microsoft Windows. | ||
|  | 
 | ||
|  |      * 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 for Microsoft Windows, 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.12. MySQL Notifier for Microsoft Windows Options menu | ||
|  |    MySQL Notifier for Microsoft Windows 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.13. MySQL Notifier for Microsoft Windows Manage Services | ||
|  |    menu | ||
|  |    MySQL Notifier for Microsoft Windows Manage Services menu | ||
|  | 
 | ||
|  |    The Instances tab is similar: | ||
|  | 
 | ||
|  |    Figure 2.14. MySQL Notifier for Microsoft Windows Manage Instances | ||
|  |    menu | ||
|  |    MySQL Notifier for Microsoft Windows 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 for Microsoft Windows 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.15. MySQL Notifier for Microsoft Windows Adding new | ||
|  |    services | ||
|  |    MySQL Notifier for Microsoft Windows Adding new services | ||
|  | 
 | ||
|  |    And instances: | ||
|  | 
 | ||
|  |    Figure 2.16. MySQL Notifier for Microsoft Windows Adding new | ||
|  |    instances | ||
|  |    MySQL Notifier for Microsoft Windows Adding new instances | ||
|  |    Note | ||
|  | 
 | ||
|  |    The Instances tab available since MySQL Notifier for Microsoft | ||
|  |    Windows 1.1.0. | ||
|  | 
 | ||
|  | 2.3.4.1. Remote monitoring set up and installation instructions | ||
|  | 
 | ||
|  |    The MySQL Notifier for Microsoft Windows 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 for Microsoft | ||
|  |    Windows 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 for Microsoft | ||
|  |    Windows 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 | ||
|  |    for Microsoft Windows so it knows when a service status has | ||
|  |    changed on the remote computer. Asynchronous notifications offer | ||
|  |    the best performance compared to semi-synchronous 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.17. MySQL Notifier for Microsoft Windows Distributed | ||
|  |    Component Object Model (DCOM) | ||
|  |    MySQL Notifier for Microsoft Windows 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 for Microsoft Windows (Computer A), and multiple | ||
|  |    remote machines that are being monitored (Computer B). | ||
|  | 
 | ||
|  | Computer running MySQL Notifier for Microsoft Windows (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]\My | ||
|  | SqlNotifier.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 for Microsoft Windows (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. Using the MySQL Server Instance Config Wizard | ||
|  | 
 | ||
|  |    The MySQL Server Instance Config 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 complete and essential MSI installation packages include the | ||
|  |    MySQL Server Instance Config Wizard in the MySQL 5.1 server. The | ||
|  |    MySQL Server Instance Config Wizard is only available for Windows. | ||
|  | 
 | ||
|  |    The workflow sequence for using the MySQL Server Instance Config | ||
|  |    Wizard is shown in the figure below: | ||
|  | 
 | ||
|  |    Figure 2.18. MySQL Server Instance Config Wizard Workflow | ||
|  |    MySQL Server Instance Config Wizard Workflow | ||
|  | 
 | ||
|  | 2.3.5.1. Starting the MySQL Server Instance Config Wizard | ||
|  | 
 | ||
|  |    The MySQL Server Instance Config Wizard is normally started as | ||
|  |    part of the installation process. You should only need to run the | ||
|  |    MySQL Server Instance Config 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 | ||
|  |    Instance Config Wizard after installation. However, you must open | ||
|  |    a port in the Windows Firewall. To do this see the instructions | ||
|  |    given in Section 2.3.3.1.1, "MySQL Installation Wizard: | ||
|  |    Downloading and Starting." 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 Config | ||
|  |    Wizard on Windows Vista or newer, ensure that you are logged in as | ||
|  |    a user with administrative rights. | ||
|  |    MySQL Server Instance Config Wizard | ||
|  | 
 | ||
|  |    You can launch the MySQL Config 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 Config 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.1\my.ini" | ||
|  | 
 | ||
|  |    Here, C:\Program Files\MySQL\MySQL Server 5.1 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 Config 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 Config 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.5.2. MySQL Server Instance Config Wizard: Choosing a Maintenance | ||
|  | Option | ||
|  | 
 | ||
|  |    If the MySQL Server Instance Config 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 | ||
|  |    Config 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.5.3. MySQL Server Instance Config Wizard: Choosing a | ||
|  | Configuration Type | ||
|  | 
 | ||
|  |    When you start the MySQL Server Instance Config 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 Config 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 Config 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.5.10, "MySQL Server Instance Config Wizard: The Service | ||
|  |    Options Dialog," and Section 2.3.5.11, "MySQL Server Instance | ||
|  |    Config Wizard: The Security Options Dialog," respectively. | ||
|  | 
 | ||
|  | 2.3.5.4. MySQL Server Instance Config Wizard: 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 Config Wizard makes with regard to memory, | ||
|  |    disk, and processor usage. | ||
|  |    MySQL Server Instance Config 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 Config | ||
|  |    Wizard. | ||
|  | 
 | ||
|  | 2.3.5.5. MySQL Server Instance Config Wizard: 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 Config 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 Config 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.5.6. MySQL Server Instance Config Wizard: 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 Config 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.5.7. MySQL Server Instance Config Wizard: 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 Config 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.5.8. MySQL Server Instance Config Wizard: 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 Config 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.5.9. MySQL Server Instance Config Wizard: 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 Config 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.5.10. MySQL Server Instance Config Wizard: 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 Config 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.1.30 as mysql50130. | ||
|  | 
 | ||
|  |    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.5.11. MySQL Server Instance Config Wizard: 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. | ||
|  |        Note | ||
|  |        If you have previously installed MySQL, but not deleted the | ||
|  |        data directory associated with the previous installation, you | ||
|  |        may be prompted to provide the current root password. The | ||
|  |        password will be the one configured with your old data | ||
|  |        directory. If you do not want to use this data, or do not know | ||
|  |        the root password, you should cancel the installation, delete | ||
|  |        the previous installation data, and then restart the | ||
|  |        installation process. For more information on deleting MySQL | ||
|  |        data on Microsoft Windows, see Section 2.3.3.3, "Removing | ||
|  |        MySQL When Installed from the MSI Package." | ||
|  |        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.5.12. MySQL Server Instance Config Wizard: The Confirmation | ||
|  | Dialog | ||
|  | 
 | ||
|  |    The final dialog in the MySQL Server Instance Config 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 Config Wizard without | ||
|  |    configuring the server, click the Cancel button. | ||
|  |    MySQL Server Instance Config Wizard: Confirmation | ||
|  | 
 | ||
|  |    After you click the Execute button, the MySQL Server Instance | ||
|  |    Config Wizard performs a series of tasks and displays the progress | ||
|  |    onscreen as the tasks are performed. | ||
|  | 
 | ||
|  |    The MySQL Server Instance Config 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 Config 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 Config Wizard creates and starts the service. If | ||
|  |    you are reconfiguring an existing service, the MySQL Server | ||
|  |    Instance Config Wizard restarts the service to apply your | ||
|  |    configuration changes. | ||
|  | 
 | ||
|  |    If you chose to set a root password, the MySQL Config 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 Config Wizard has completed its | ||
|  |    tasks, it displays a summary. Click the Finish button to exit the | ||
|  |    MySQL Server Config Wizard. | ||
|  | 
 | ||
|  | 2.3.5.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.7. 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.8. 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.5.4, "MySQL Server | ||
|  |    Instance Config Wizard: The Server Type Dialog" | ||
|  |    DatabaseType={MIXED | INNODB | MYISAM} Specify the default | ||
|  |    database type. For more information, see Section 2.3.5.5, "MySQL | ||
|  |    Server Instance Config Wizard: 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.5.7, "MySQL Server Instance Config | ||
|  |    Wizard: The Concurrent Connections Dialog" | ||
|  |    ConnectionCount=# Specify the number of concurrent connections to | ||
|  |    support. For more information, see Section 2.3.5.4, "MySQL Server | ||
|  |    Instance Config Wizard: 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.5.8, "MySQL | ||
|  |    Server Instance Config Wizard: 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.5.8, "MySQL Server Instance | ||
|  |    Config Wizard: The Networking and Strict Mode Options Dialog" | ||
|  |    Charset=$ Specify the default character set. For more information, | ||
|  |    see Section 2.3.5.9, "MySQL Server Instance Config Wizard: 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.1 instance from | ||
|  |    the directory C:\Program Files\MySQL\MySQL Server 5.1 using the | ||
|  |    service name MySQL51 and setting the root password to 1234. | ||
|  | shell> MySQLInstanceConfig.exe -i -q "-lC:\mysql_install_log.txt" » | ||
|  |    "-nMySQL Server 5.1" "-pC:\Program Files\MySQL\MySQL Server 5.1" - | ||
|  | v5.1.74 » | ||
|  |    "-tmy-template.ini" "-cC:\mytest.ini" ServerType=DEVELOPMENT Datab | ||
|  | aseType=MIXED » | ||
|  |    ConnectionUsage=DSS Port=3311 ServiceName=MySQL51 RootPassword=123 | ||
|  | 4 | ||
|  | 
 | ||
|  |    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.1 | ||
|  | Version:              5.1.74 | ||
|  | Installation Path:    C:\Program Files\MySQL\MySQL Server 5.1\ | ||
|  | 
 | ||
|  | Creating configuration file C:\mytest.ini using template my-template. | ||
|  | ini. | ||
|  | Options: | ||
|  | DEVELOPMENT | ||
|  | MIXED | ||
|  | DSS | ||
|  | STRICTMODE | ||
|  | 
 | ||
|  | Variables: | ||
|  | port: 3311 | ||
|  | default-character-set: latin1 | ||
|  | basedir: "C:/Program Files/MySQL/MySQL Server 5.1/" | ||
|  | datadir: "C:/Program Files/MySQL/MySQL Server 5.1/Data/" | ||
|  | 
 | ||
|  | 
 | ||
|  | Creating Windows service entry. | ||
|  | Service name: "MySQL51" | ||
|  | Parameters:   "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld" -- | ||
|  | defaults-file="C:\mytest.ini" MySQL51. | ||
|  | Windows service MySQL51 installed. | ||
|  | 
 | ||
|  |    When using the command line, the return values in the following | ||
|  |    table indicate an error performing the specified option. | ||
|  | 
 | ||
|  |    Table 2.9. 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.3.2, | ||
|  |    "Automating MySQL Installation on Microsoft Windows Using the MSI | ||
|  |    Package." | ||
|  | 
 | ||
|  | 2.3.6. 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.6.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.8, "Upgrading MySQL Server on Microsoft 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.6.2, "Creating an Option File." | ||
|  | 
 | ||
|  |     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.6.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.1 and C:\Program Files\MySQL\MySQL Server 5.1\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.3.3, "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. | ||
|  | 
 | ||
|  |    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 | ||
|  | 
 | ||
|  |    Note that 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.3.3, "Using Option Files." | ||
|  | 
 | ||
|  |    In MySQL 5.1.23 and earlier, the MySQL installer places the data | ||
|  |    directory directly under the directory where you install MySQL. On | ||
|  |    MySQL 5.1.24 and later, 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.1\data) to E:\mydata. | ||
|  | 
 | ||
|  |     2. Use a --datadir option to specify the new data directory | ||
|  |        location each time you start the server. | ||
|  | 
 | ||
|  | 2.3.6.3. Selecting a MySQL Server Type | ||
|  | 
 | ||
|  |    The following table shows the available servers for Windows in | ||
|  |    MySQL 5.1.20 and earlier. | ||
|  | 
 | ||
|  |    Table 2.10. mysqld binary types for Microsoft Windows up to MySQL | ||
|  |    5.1.20 | ||
|  |    Binary Description | ||
|  |    mysqld-nt Optimized binary with named-pipe support | ||
|  |    mysqld Optimized binary without named-pipe support | ||
|  |    mysqld-debug Like mysqld-nt, but compiled with full debugging and | ||
|  |    automatic memory allocation checking | ||
|  | 
 | ||
|  |    The following table shows the available servers for Windows in | ||
|  |    MySQL 5.1.21 and later. | ||
|  | 
 | ||
|  |    Table 2.11. mysqld binary types for Microsoft Windows MySQL 5.1.21 | ||
|  |    and later | ||
|  |    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.1 servers have support for symbolic linking of | ||
|  |    database directories. | ||
|  | 
 | ||
|  |    MySQL supports TCP/IP on all Windows platforms. MySQL servers on | ||
|  |    Windows support named pipes as indicated in the following list. | ||
|  |    However, the default is to use TCP/IP regardless of platform. | ||
|  |    (Named pipes are slower than TCP/IP in many Windows | ||
|  |    configurations.) | ||
|  | 
 | ||
|  |    Use of named pipes is subject to these conditions: | ||
|  | 
 | ||
|  |      * Named pipes are enabled only 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. | ||
|  | 
 | ||
|  |      * For MySQL 5.1.20 and earlier, named-pipe connections are | ||
|  |        permitted only by the mysqld-nt and mysqld-debug servers. For | ||
|  |        MySQL 5.1.21 and later, the mysqld and mysqld-debug servers | ||
|  |        both contain support for named-pipe connections. | ||
|  | 
 | ||
|  |    Note | ||
|  | 
 | ||
|  |    Most of the examples in this manual use mysqld as the server name. | ||
|  |    If you choose to use a different server, such as mysqld-nt or | ||
|  |    mysqld-debug, make the appropriate substitutions in the commands | ||
|  |    that are shown in the examples. | ||
|  | 
 | ||
|  | 2.3.6.4. Starting MySQL Server on Microsoft Windows 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. | ||
|  | 
 | ||
|  |    The examples in these sections assume that MySQL is installed | ||
|  |    under the default location of C:\Program Files\MySQL\MySQL Server | ||
|  |    5.1. 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.6.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.1\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 creat | ||
|  | ed | ||
|  | InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280 | ||
|  | InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be creat | ||
|  | ed | ||
|  | InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280 | ||
|  | InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be creat | ||
|  | ed | ||
|  | 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.1.74'  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.1\data by default). The error log is | ||
|  |    the file with the .err extension. | ||
|  |    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.12.2, | ||
|  |    "Securing the Initial MySQL Accounts." | ||
|  | 
 | ||
|  | 2.3.6.5. Starting MySQL Server 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. | ||
|  | 
 | ||
|  |    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.1\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.1\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 that users | ||
|  |    in the MySQL grant system are wholly independent from any login | ||
|  |    users under 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. The error log is located in the C:\Program | ||
|  |    Files\MySQL\MySQL Server 5.1\data directory. It is the file with a | ||
|  |    suffix of .err. You can also 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 22.4.3, "The DBUG Package." | ||
|  | 
 | ||
|  |    Use mysqld --verbose --help to display all the options that mysqld | ||
|  |    supports. | ||
|  | 
 | ||
|  | 2.3.6.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.1\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.6.7. Starting MySQL Server as a Microsoft 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, and can be managed using the service | ||
|  |    manager framework. 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. | ||
|  | 
 | ||
|  |    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.1\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 that 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.1\bin\mysqld" --install | ||
|  | 
 | ||
|  |    Note | ||
|  | 
 | ||
|  |    The service-installation command does not start the server. | ||
|  | 
 | ||
|  |    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 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.1\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.1\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.1\bin\mysqld" --install-m | ||
|  | anual | ||
|  | 
 | ||
|  | 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.1\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.6.5, "Starting | ||
|  |    MySQL Server from the Windows Command Line." | ||
|  | 
 | ||
|  |    Please see Section 2.3.7, "Troubleshooting a Microsoft Windows | ||
|  |    MySQL Server Installation," if you encounter difficulties during | ||
|  |    installation. | ||
|  | 
 | ||
|  | 2.3.6.8. Testing The MySQL Server Installation on Microsoft Windows | ||
|  | 
 | ||
|  |    You can test whether the MySQL server is working by executing any | ||
|  |    of the following commands: | ||
|  | C:\> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqlshow" | ||
|  | C:\> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqlshow" -u root | ||
|  | mysql | ||
|  | C:\> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqladmin" version | ||
|  |  status proc | ||
|  | C:\> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" test | ||
|  | 
 | ||
|  |    Note | ||
|  | 
 | ||
|  |    By default, mysqlshow will try to connect using the ODBC user. | ||
|  |    This user is not created by default. You should specify a valid | ||
|  |    user, or root with the right password to check the operation of | ||
|  |    the server. | ||
|  | 
 | ||
|  |    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. | ||
|  | 
 | ||
|  |    Note that if you have set a password for the root account, deleted | ||
|  |    the anonymous account, or created a new user account, then you | ||
|  |    must use the appropriate -u and -p options with the commands shown | ||
|  |    above to connect with the MySQL Server. 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.7. 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. The purpose of this section is to help you diagnose and | ||
|  |    correct some of these errors. | ||
|  | 
 | ||
|  |    Your first resource when troubleshooting server issues is the | ||
|  |    error log | ||
|  |    (http://dev.mysql.com/doc/refman/5.5/en/glossary.html#glos_error_l | ||
|  |    og). 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 | ||
|  |    (http://dev.mysql.com/doc/refman/5.5/en/glossary.html#glos_data_di | ||
|  |    rectory) specified in your my.ini file. The default data directory | ||
|  |    location is C:\Program Files\MySQL\MySQL Server 5.1\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." | ||
|  | 
 | ||
|  |    Another source of information regarding possible errors is 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.6.7, | ||
|  |    "Starting MySQL Server as a Microsoft Windows Service." | ||
|  | 
 | ||
|  |    The following examples show other common error messages you may | ||
|  |    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, you may see these messages: | ||
|  | System error 1067 has occurred. | ||
|  | Fatal error: Can't open privilege tables: Table 'mysql.host' 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.1 and | ||
|  |        C:\Program Files\MySQL\MySQL Server 5.1\data, respectively). | ||
|  |        This situation may 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, there may be old and | ||
|  |        new configuration files that 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.1, you need to ensure | ||
|  |        that the MySQL server is aware of this through the use of a | ||
|  |        configuration (my.ini) file. The my.ini file needs to be | ||
|  |        located in your Windows directory, typically C:\WINDOWS. You | ||
|  |        can determine its exact location from the value of the WINDIR | ||
|  |        environment variable by issuing the following command from the | ||
|  |        command prompt: | ||
|  | C:\> echo %WINDIR% | ||
|  |        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 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 | ||
|  |        Note that 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.1 | ||
|  | # 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.3.3, "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.6.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 Config Wizard, you may see this error: | ||
|  | Error: Cannot create Windows service for MySql. Error: 0 | ||
|  |        This occurs when the Config 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/tools/exi | ||
|  |        sting/delsrv-o.asp and use the delsrv mysql syntax. | ||
|  | 
 | ||
|  | 2.3.8. Upgrading MySQL Server on Microsoft Windows | ||
|  | 
 | ||
|  |    This section lists some of the steps you should take when | ||
|  |    upgrading MySQL on Windows. | ||
|  | 
 | ||
|  |     1. Review Section 2.13.1, "Upgrading MySQL," for additional | ||
|  |        information on upgrading MySQL that is not specific to | ||
|  |        Windows. | ||
|  | 
 | ||
|  |     2. You should 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, you must 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.0 to 5.1, use mysqladmin from MySQL 5.0 as follows: | ||
|  | C:\> "C:\Program Files\MySQL\MySQL Server 5.0\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. | ||
|  | 
 | ||
|  |     5. Before upgrading to MySQL 5.1 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 | ||
|  |        Important | ||
|  |        If you do not remove the existing service, the MySQL | ||
|  |        Installation Wizard may fail to properly install the new MySQL | ||
|  |        service. | ||
|  | 
 | ||
|  |     6. When upgrading from MySQL 5.1.23 to MySQL 5.1.24, the change | ||
|  |        in the default location of the data directory from a directory | ||
|  |        within the MySQL installation to the AppData folder means that | ||
|  |        you must manually copy the data files from your old | ||
|  |        installation to the new location. | ||
|  | 
 | ||
|  |     7. If you are using the MySQL Installation Wizard, start the | ||
|  |        wizard as described in Section 2.3.3.1, "Using the MySQL | ||
|  |        Installation Wizard for Microsoft Windows." | ||
|  | 
 | ||
|  |     8. If you are installing 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. | ||
|  | 
 | ||
|  |     9. 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.6.7, "Starting MySQL Server as a | ||
|  |        Microsoft Windows Service.") | ||
|  |    10. Restart the server. For example, use NET START MySQL if you | ||
|  |        run MySQL as a service, or invoke mysqld directly otherwise. | ||
|  |    11. 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.8, "mysql_upgrade --- | ||
|  |        Check and Upgrade MySQL Tables." | ||
|  |    12. If you encounter errors, see Section 2.3.7, "Troubleshooting a | ||
|  |        Microsoft Windows MySQL Server Installation." | ||
|  | 
 | ||
|  | 2.3.9. MySQL Server on Microsoft Windows Postinstallation Procedures | ||
|  | 
 | ||
|  |    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 Windows Installation Wizard, you may have already assigned | ||
|  |    passwords to the accounts. (See Section 2.3.3.1, "Using the MySQL | ||
|  |    Installation Wizard for Microsoft Windows.") Otherwise, use the | ||
|  |    password-assignment procedure given in Section 2.12.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.6.4, "Starting MySQL Server on Microsoft | ||
|  |    Windows 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 used the Windows | ||
|  |    Installation Wizard, the default directory is C:\Program | ||
|  |    Files\MySQL\MySQL Server 5.1, and the mysql and mysqlshow client | ||
|  |    programs are in C:\Program Files\MySQL\MySQL Server 5.1\bin. See | ||
|  |    Section 2.3.3.1, "Using the MySQL Installation Wizard for | ||
|  |    Microsoft Windows," 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 using the MSI | ||
|  |    packages and used the MySQL Server Instance Config Wizard, 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.6.7, "Starting MySQL Server as a Microsoft | ||
|  |    Windows Service." | ||
|  | 
 | ||
|  |    Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights | ||
|  |    reserved. Legal Notices |