D.1. 如何安装和配置远程 MySQL 数据库 (InnoDB)

以下过程说明了如何在 Oracle Solaris x86 主机上安装 MySQL 5.1 和 InnoDB 存储引擎。

  1. 创建文件 /etc/my.cnf,并添加以下内容。

    [mysqld]
    user=mysql
    datadir=/usr/local/mysql/data
    basedir=/usr/local/mysql
    port=3306
    socket=/tmp/mysql.sock
    max_allowed_packet=20M
    #transaction_isolation=READ-COMMITTED
    lower_case_table_names=1
    max_connections=1000
    skip-locking
    key_buffer=16K
    table_cache=4
    sort_buffer_size=64K
    net_buffer_length=2K
    thread_stack=64K
    wait_timeout=31536000
    
    innodb_data_home_dir=/usr/local/mysql/data
    innodb_data_file_path=ibdata1:10M:autoextend
    innodb_log_group_home_dir=/usr/local/mysql/data
    innodb_buffer_pool_size=50M
    innodb_additional_mem_pool_size=10M
    innodb_log_file_size=5M
    innodb_log_buffer_size=10M
    innodb_flush_log_at_trx_commit = 1
    innodb_lock_wait_timeout = 50
  2. 通过运行以下命令创建用户 "mysql" 和组 "mysql"。

    # groupadd mysql
    # useradd -g mysql mysql
  3. 获取 MySQL 压缩文件,对其进行解压缩,并保存在 / 目录中。

  4. 通过运行以下命令创建目录 /usr/local

    # mkdir /usr/local
  5. 通过运行以下命令,转到新目录并创建名为 "mysql" 的符号链接,该链接指向 目录中的 MySQL 文件。

    # cd /usr/local
    # ln -s /mysql-5.1.30-solaris10-i386 mysql
    # ls -lrt
    
    
    total 2
    lrwxrwxrwx 1 root root 35 Nov 12 17:33 mysql -> /export/mysql-5.1.30-solaris10-i386
    bash-3.00#
  6. 通过运行以下命令确保 目录包含正确的所有者和组权限。

    # chgrp -R mysql /mysql-5.1.30-solaris10-i386
    # chown -R mysql /mysql-5.1.30-solaris10-i386
  7. 另外,检查 目录的权限。

    # cd /usr/local/mysql
    # ls -lrt
    
    -rw-r--r-- 1 mysql mysql 19071 Nov 15 13:07 COPYING
    -rw-r--r-- 1 mysql mysql 5139 Nov 15 13:07 EXCEPTIONS-CLIENT
    -rw-r--r-- 1 mysql mysql 8767 Nov 15 13:07 INSTALL-BINARY
    -rw-r--r-- 1 mysql mysql 1410 Nov 15 13:07 README
    drwxr-xr-x 2 mysql mysql 1536 Nov 15 13:07 bin
    drwxr-xr-x 4 mysql mysql 512 Nov 15 13:07 data
    drwxr-xr-x 2 mysql mysql 512 Nov 15 13:05 docs
    drwxr-xr-x 2 mysql mysql 1024 Nov 15 13:05 include
    drwxr-xr-x 3 mysql mysql 1024 Nov 15 13:06 lib
    drwxr-xr-x 4 mysql mysql 512 Nov 15 13:06 man
    drwxr-xr-x 10 mysql mysql 512 Nov 15 13:07 mysql-test
    drwxr-xr-x 2 mysql mysql 512 Nov 15 13:07 scripts
    drwxr-xr-x 27 mysql mysql 1024 Nov 15 13:07 share
    drwxr-xr-x 5 mysql mysql 1024 Nov 15 13:07 sql-bench
    drwxr-xr-x 2 mysql mysql 512 Nov 15 13:07 support-files
  8. /usr/local/mysql 目录中,运行以下命令,检查是否提供了相应的输出。

    # ./scripts/mysql_install_db --user=mysql
    To start mysqld at boot time you have to copy support-files/mysql.server to the right place for 
    your system
    
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    To do so, start the server, then issue the following commands:
    
    /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
    /usr/local/mysql/bin/mysqladmin -u root -h wipro-33 password 'new-password'
    
    Alternatively you can run:
    /usr/local/mysql/bin/mysql_secure_installation
    
    which will also give you the option of removing the test databases and anonymous user created by 
    default. This is strongly recommended for production servers.
    
    See the manual for more instructions.
    
    You can start the MySQL daemon with:
    cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe ANDAMP
    
    You can test the MySQL daemon with mysql-test-run.pl cd /usr/local/mysql/mysql-test ; perl 
    mysql-test-run.pl
    
    Please report any problems with the /usr/local/mysql/scripts/mysqlbug script!
    
    The latest information about MySQL is available at http://www.mysql.com/ Support MySQL by buying
    support/licenses from http://shop.mysql.com/
  9. /usr/local/mysql 目录中,运行以下命令,检查是否获得了相应的输出。

    # ./bin/mysqld_safe --defaults-file=/etc/my.cnf --ledir=/usr/local/mysql/bin --user=mysql ANDAMP
    [1] 15885
    # 090323 22:36:26 mysqld_safe Logging to '/usr/local/mysql/data/wipro-33.err'.
    090323 22:36:26 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
  10. 现在,让终端保持原样。要确保您刚启用的进程始终都在运行,请转到控制台并启动该进程。

    # cd /usr/local/mysql/bin
    # ./mysql --user=root
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 1
    Server version: 5.1.30 MySQL Community Server (GPL)
    
    Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
    
    mysql>
  11. 如果要停止 MySQL 守护进程,请通过在某个终端中运行以下命令停止该守护进程。

    # ./mysqladmin shutdown

    命令运行时,保持原样的那个终端应显示以下输出。

    # /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --ledir=/usr/local/mysql/bin 
    --user=mysql ANDAMP
    [1] 16017
    # 090323 22:47:38 mysqld_safe Logging to '/usr/local/mysql/data/wipro-33.err'.
    090323 22:47:38 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
    090323 22:49:31 mysqld_safe mysqld from pid file /usr/local/mysql/data/wipro-33.pid ended