打印本文 打印本文 关闭窗口 关闭窗口
Installing MySQL on Solaris
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1698  更新时间:2009/4/22 20:48:41  文章录入:mintao  责任编辑:mintao
                                                       Installing MySQL on  Solaris

Author: Jeff Hunter, ReWrited, Compiled by Lin Gang{lirincy@163.com}

Overview

    The following article provides the steps necessary to successfully install the binary version of MySQL, release 3.23, on Solaris 2.8 and higher. These procedures should work as well on versions of Solaris as early as version 2.6.

    I typically install MySQL in /usr/local/mysql as the UNIX root account. I then create a UNIX mysql account that will have access to manage databases.

    Once you''''ve installed MySQL, you will need to initialize the grant tables, start the server, and make sure that the server works okay. You may also elect to arrange for the server to be started and stopped automatically when your system starts up and shuts down.

    Installing the grant tables is accomplished by running the mysql_install_db script. This creates the mysql database which will hold all database privileges, the test database which you can use to test MySQL, and also privilege entries for the user that run mysql_install_db and a root user (without any passwords).

Operating System Account

    Create MySQL User Account:

  % groupadd -g 116 mysql
  % useradd -u 174 -c "MySQL Software Owner" \
      -d /u01/app/mysql -g "mysql" -m -s /bin/bash mysql
  % passwd mysql

    Create MySQL UserID:

  % mkdir /u01
  % mkdir /u01/app
  % mkdir /u01/app/mysql
  % chown -R mysql:mysql /u01/app/mysql
   

Uncompress / Installing Binary Version of MySQL

    NOTE: Because of a bug in Solaris tar, Solaris users should use gnu tar to unpack archives.

  % su -
  % cp mysql-3.23.54-sun-solaris2.8-sparc.tar /usr/local
  % cd /usr/local
  % gunzip mysql-3.23.54-sun-solaris2.8-sparc.tar.gz
  % gtar xvf mysql-3.23.54-sun-solaris2.8-sparc.tar
  % ln -s mysql-3.23.54-sun-solaris2.8-sparc mysql
  % cd mysql
  % scripts/mysql_install_db
  % chown -R root .
  % chown -R mysql data
  % chgrp -R mysql .

Starting and Stopping the MySQL Database Software

    Starting the MySQL Database

  % bin/safe_mysqld --user=mysql &

    Stopping the MySQL Database

  % bin/mysqladmin -u root shutdown

Testing the Installation

    Ensure that the MySQL Software, the mysqld server, is running and you have set up the initial MySQL grant tables containing the privileges that determine how users are allowed to connect to the server. This is normally done with the mysql_install_db script.

  * Using mysqladmin

  % mysqladmin ping
  mysqld is alive

  % mysqladmin version
  mysqladmin  Ver 8.23 Distrib 3.23.54, for pc-linux on i686
  Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
  This software comes with ABSOLUTELY NO WARRANTY. This is free software,
  and you are welcome to modify and redistribute it under the GPL license

  Server version          3.23.54
  Protocol version        10
  Connection              Localhost via UNIX socket
  UNIX socket             /tmp/mysql.sock
  Uptime:                 59 min 45 sec

  Threads: 1  Questions: 2  Slow queries: 0
  Opens: 6  Flush tables: 1  Open tables: 0
  Queries per second avg: 0.001

  * Ensure you can shutdown and startup the server

          Starting the MySQL Database

  % bin/safe_mysqld --user=mysql &

          Stopping the MySQL Database

  % bin/mysqladmin -u root shutdown

  or you can do like this:
 
  To start or stop the server manually using the mysql.server script, invoke it with start or stop arguments:
 
  shell> mysql.server start
  shell> mysql.server stop


  * Try several simple tests

  % mysqlshow
  +-----------+
  | Databases |
  +-----------+
  | mysql     |
  | test      |
  +-----------+

  % mysqlshow -u root mysql
  Database: mysql
  +--------------+
  |    Tables    |
  +--------------+
  | columns_priv |
  | db           |
  | func         |
  | host         |
  | tables_priv  |
  | user         |
  +--------------+

  % mysql -u root -e "select host, db, user from db" mysql
  +------+---------+------+
  | host | db      | user |
  +------+---------+------+
  | %    | test    |      |
  | %    | test\_% |      |
  +------+---------+------+

 % mysql -u root mysql
  Reading table information for completion of table and column names
  You can turn off this feature to get a quicker startup with -A

  Welcome to the MySQL monitor.  Commands end with ; or \g.
  Your MySQL connection id is 15 to server version: 3.23.54

  Type ''''help;'''' or ''''\h'''' for help. Type ''''\c'''' to clear the buffer.

  mysql> select host, db, user from db;
  +------+---------+------+
  | host | db      | user |
  +------+---------+------+
  | %    | test    |      |
  | %    | test\_% |      |
  +------+---------+------+
  2 rows in set (0.00 sec)

Configuration Files / Scripts

    Example:
        .bash_profile

        $HOME/.bash_profile for the "mysql" user account.

Let MySQL runing automatically when system boot.

    % cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
    % ln -s /etc/init.d/mysql.server /etc/rc3.d/S98mysql
    
    this will ensure that mysqld runing at boot time, make sure S##mysql the number should larger than the number of network services.
   

Use remote connection to use MySQL:

  1、进入mysql,创建一个新用户xuys:
  格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
  grant select,update,insert,delete on *.* to xuys@192.168.88.234 identified by "xuys1234";
     查看结果,执行:
     use mysql;
     select host,user,password from user;
     可以看到在user表中已有刚才创建的xuys用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
     将host字段的值改为%就表示在任何客户端机器上能以xuys用户登录到mysql服务器,建议在开发时设为%。  
     update user set host = ''''%'''' where user = ''''xuys'''';
 
  2、 ./mysqladmin -uroot -ppwd reload
  ./mysqladmin -uroot -ppwd shutdown
 
  3、./mysqld_safe --user=root &
  记住:对授权表的任何修改都需要重新reload,即执行第3步。
 
  如果经过以上3个步骤还是无法从客户端连接,请执行以下操作,在mysql数据库的db表中插入一条记录:
  use mysql;
  insert into db values(''''192.168.88.234'''',''''%'''',''''xuys'''',''''Y'''',''''Y'''',''''Y'''',''''Y'''',''''Y'''',''''Y'''',''''Y'''',''''Y'''',''''Y'''',''''Y'''',''''Y'''',''''Y'''');
  update db set host = ''''%'''' where user = ''''xuys'''';
  重复执行上面的第2、3步。
 
  同时, 你可以通过发出GRANT语句增加新用户:

  shell> mysql --user=root mysql
  mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
             IDENTIFIED BY ''''something'''' WITH GRANT OPTION;
  mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"
             IDENTIFIED BY ''''something'''' WITH GRANT OPTION;
  mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
  mysql> GRANT USAGE ON *.* TO dummy@localhost;
 
  接下来我们用Aqua DataStudio 来连接 MySQL数据库:
 
  1. obtain AQUA from http://www.aquafold.com/downloads.html;
  2. install.
  3. Server|Register Server|Ge

[1] [2]  下一页

打印本文 打印本文 关闭窗口 关闭窗口