Author: Jeff Hunter, ReWrited, Compiled by Lin Gang{[email protected]}
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、create a new user xuys:Format: grant RIGHTS on DATABASENAME.TABLENAME USER@HOSTNAME identified by "PASSWORD";
grant select,update,insert,delete on *.* to [email protected] identified by "xuys1234";
see result, use:
use mysql;
select host,user,password from user;
we noticed that table "user" already has the user named xuys. host field indicate the hostname, it can be hostname or ip.
modify host field into % means any host which has user xuys can log into mysql Server, % is recommended during the development period.
update user set host = '%' where user = 'xuys';
2、 ./mysqladmin -uroot -ppwd reload
./mysqladmin -uroot -ppwd shutdown
3、./mysqld_safe --user=root &
Remember: any revise to the talble need reload to take effect, i.e. the third step.
if it does not work even after above three steps, please use below, insert a record into db table:
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';
and repeat above two steps.
meanwhile, you can add new users by GRANTstatement:
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;
Now, we can use Aqua DataStudio to connect to MySQL Database:
1. obtain AQUA from http://www.aquafold.com/downloads.html;
2. install.
3. Server|Register Server|General:
RDBMS: MYSQL
NAME: Lonshot MySQL database
TYPE: DEVELOPMENT
LOG IN NAME: sql
PASSWORD: ********
CONNECT AS: NORMAL
HOST: 11.11.11.11
Database: mysql
click OK
4. select Schema, right click mysql, select Query Analyzer.you can put sql statement now
References:
1.http://nnn.isblog.org/more.asp?name=sxysxy&id=72
2.http://www.linuxforum.net/books/mysqlmanual/manual_Privilege_system.html