欢迎来到福编程网,本站提供各种互联网专业知识!
您的位置:网站首页 > 操作系统 > Solaris

Solaris10下mysql的pkg安装方法

发布时间:1970-01-01 作者:佚名 来源:互联网
以root登录系统1从dev.mysql.com网站下载安装文件mysql-5.1.11-beta-solaris10-sparc-64bit.pkg.gz保存到/tmp2解压缩gz格式安装文件gunzipmysql-5.1.11-beta-solaris10-sparc-64bit.pkg.gz3建立mysql用户组和用户,并为用户指定home目录groupaddmysqlu

以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&

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';

flush privileges;//只允许root在本机登录

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

flush privileges;//允许root远程访问

在4.1以上版本的MySQL中的密码的哈希算法有了变化,可能会导致一些使用老协议的客户端连接失败,提示错误信息:1251 Client does not support authentication protocol requested by server; consider upgrading MySQL client。 这是相应的处理方法:

mysql> UPDATE mysql.user SET password = OLD_PASSWORD('yourpwd') WHERE host = 'yourhost' AND user='username';

mysql> FLUSH PRIVILEGES;

以上文章转载于: http://blog.csdn.net/

相关推荐