您的位置:首页 > 数据库 > MySQL

solaris 10安装mysql5

2010-12-30 23:40 281 查看
Solaris10下mysql的pkg安装方法

以root登录系统
1从dev.mysql.com网站下载安装文件mysql-5.1.11-beta-solaris10-sparc-64bit.pkg.gz保存到/tmp
2解压缩gz格式安装文件gunzip mysql-5.1.11-beta-solaris10-sparc-64bit.pkg.gz
3建立mysql用户组和用户,并为用户指定home目录
groupadd mysql
useradd -g mysql mysql
mkdir /export/home/mysql
chgrp mysql /export/home/mysql
chown mysql /export/home/mysql
usermod -d /export/home/mysql mysql
可以用su - mysql验证mysql能否登录
4安装pkg
pkgadd -d mysql-5.1.11-beta-solaris10-sparc-64bit.pkg
MySQL被安装到/opt/mysql/mysql/
5安装后的任务
建立目录连接
cd /usr/local
ln -s /opt/mysql/mysql/ mysql
建立配置文件
vi /etc/my.cnf

[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data

6初始化MySQL
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
7启动MySQL服务器
切换到mysql用户
/usr/local/mysql/bin/mysqld-max &
或者
/usr/local/mysql/bin/mysqld-max --user=mysql&

如果无法启动,如出现无法创建sun.err文件,可以手工创建一个,然后
chmod 755 sun.err
root用户不能直接启动MySQL服务器
8关闭服务器
mysqladmin -u root shutdown

9卸载MySQL
root用户执行
pkgrm mysql
从二进制分发包安装mysql比从源代码安装还是简单
但是MySQL的安装手册里没有给出各种错误的解决办法
比如:我曾经遇到的
/opt/mysql/mysql/bin/mysqld-max: Table 'mysql.general_log' doesn't exist
060716 10:50:16 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
就是因为没有建立配置文件 /etc/my.cnf
而且pkg包自动为MySQL相关目录建立权限,不需要像安装手册说的手工做。

顺带记录一下在MySQL配置过程中可能会用到的重要东西:

通过直接修改授权表设置用户权限:
shell> mysql --user=root mysql
mysql> INSERT INTO user (Host,User,Password) VALUES('localhost','custom',PASSWORD('stupid'));
mysql> INSERT INTO user (Host,User,Password) VALUES('server.domain','custom',PASSWORD('stupid'));
mysql> INSERT INTO user (Host,User,Password) VALUES('whitehouse.gov','custom',PASSWORD('stupid'));
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)
VALUES ('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');

mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)
VALUES ('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv)
VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y');
mysql> FLUSH PRIVILEGES;

默认情况下mysql是不能远程连接的,需要修改权限设置:
两种方法:

在命令行下,可以有两种大同小异的方法来作此设置:

(1)mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

第一句增加了一个root用户授权通过本地机(localhost)访问,密码“something”。

第二句则是使用通配符,授与root用户从任何其它主机发起的访问。

(2)亦可直接使用update语句修改user表:使用root用户或其他用户登录mysql,转到mysql数据库

update user set host='localhost' where user='root';

如果无法启动可以如下设置
#chown -R mysql:mysql /var/lib/mysql

[root@localhost beinan]# /etc/init.d/mysqld start
启动 MySQL: [ 确定 ]
[root@localhost lib]# mysqladmin -uroot password '123456'
[root@localhost lib]# mysql -uroot -p
Enter password:

以上是综合网上的
转自:http://useroot.javaeye.com/blog/88058
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: