How to initialize the database: 0) Create a special user account 'mysql' in the group 'mysql', which runs the mysql processes. You can do that using e.g.: /usr/sbin/groupadd -g 27 mysql /usr/sbin/useradd -d @CLIENT_BASEDIR@/mysql \ -c "MySQL Server" -u 27 -g mysql \ -s /bin/true \ mysql 1) Create a directory, where the server stores its database files. The directory should be owned by the mysql user. Per default mysql server uses /var/mysql for all files and directories it needs to create/maintain. 2) check /etc/my.cnf for appropriate settings. If you do not have a /etc/my.cnf you may copy the /etc/my.cnf.default to /etc/my.cnf and adjust it to reflect your needs. All referred files and directories need to be writable by the user mysql. Because of security issues the /tmp, /var/tmp or any other directory, which is world writable, is not recommended to be used by the mysql server!!! In case MySQL server should use another default configuration file, you need to set the appropriate service properties. E.g. do as root: svccfg -s mysqld:default setprop \ mysqld/defaults_file=/data/mysql/my.cnf svcadm refresh mysqld 3) start @CLIENT_BASEDIR@/mysql/bin/mysql_install_db --defaults-file=/etc/my.cnf as user mysql to initialize the database. (if there are no errors, ignore the output from that command). 4) Start the mysql DB using svcadm enable mysqld as root or a user, which has solaris.smf.manage.mysqld rights. Verify, that the DB is running (e.g. svcs -xv). If it is not running, check the appriopriate logfile (default: /var/svc/log/application-mysqld:default.log) and make sure, that the mysql user has the right permissions to create all required files and directories (e.g. /var/mysql/mysql.sock). Last but not least check the error logfile (default: /var/mysql/`hostname`.err). 5) connect to the database and check [the permission of] the default tables: mysql --user=root --host=127.0.0.1 -p press when prompted for password and than set the mysql passwd for the db admin user 'root': use mysql; update user set password=password('eidondnoh') where user='root'; and check the default tables: select * from host; select * from user; select * from db; select * from tables_priv; select * from columns_priv; NOTE: Right after installation of the mysql client package (LNFmysql-client) your shell might be not aware of/find the new binaries. On some shells like tcsh and csh issuing a "rehash" would update the shell's cache. If you installed LNFmysql-client not in the default directory, you should add the path to your PATH variable or call mysql with the absolute path, e.g. /local/apps/mysql/bin/mysql ... 6) Per default, mysql_install_db installs a db "test". In case you want to secure your installation, you should connect to the mysql db and execute the following commands as user root: delete from user where user=''; drop database test; delete from db where db Like 'test%'; FLUSH PRIVILEGES; quit Now only the database user 'root' with the correct password is able to connect to the only available database mysql from the localhost. To setup a database for your webservice you should connect to the database (e.g.: mysql --user=root --host=`hostname` -p mysql), create a database (e.g.: create database webservice;) and add a mysql account, which is allowed to access the database. E.g. to define an user 'www', which may connect from the 'localhost' to the server only and is allowed to modify all tables of the 'webservice' database , one may use: GRANT ALTER,CREATE,CREATE TEMPORARY TABLES,DELETE,DROP,INDEX, INSERT,LOCK TABLES,SELECT,UPDATE ON webservice.* TO www@localhost IDENTIFIED BY 'secret_password'; For more information: see http://www.mysql.com/doc/en/Privileges_provided.html NOTE: A "pkgrm LNFmysql-server" DOES NOT REMOVE any database related data, config or log files, e.g. created with mysql_install_db or something else! It just removes the files, which were installed by the package itself (e.g. /etc/my.cnf.default). For further package content information use "pkgchk -v LNFmysql-server". MySQL comes with several perl scripts, which may help you to do your daily work or some administration tasks. However, they are not required (everything can be done via the mysql client), and thus we decided not to add an explicit package dependency on Perl. Even if you have Perl, some scripts may still not work because of missing DBI and DBD-mysql Perl modules ... Last but not least: In case you want to use old mysql 3.x tables, you should convert them (old ISAM) to the new 4.x format (myISAM) (e.g. with mysql_convert_table_format database) and fix the privileges (e.g. with mysql_fix_privilege-tables). For more information, please read mysql info documentation coming with the LNFmysql-client package (info mysql --> Installing --> Upgrade).