Chinaunix首页 | 论坛 | 博客
  • 博客访问: 892941
  • 博文数量: 179
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1546
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-27 11:05
个人简介

MySQL工程师 QQ:1815357042

文章分类

全部博文(179)

文章存档

2015年(179)

分类: Mysql/postgreSQL

2015-02-04 14:47:09

转载自:http://blog.sina.com.cn/s/blog_3eb222740100jiqh.html

这里主要讲一下Linux下的安装(Windows下相对简单,在此不作讨论)
Linux安装包分RPM包、二进制包和源码包。
个人比较喜欢源码包,一方面可以获得更多的个性化设置,另一方面性能也更好。
这三种安装方式下的文件布局:
RPM包:
/usr/bin(客户端程序和脚本)
/usr/sbin(mysqld服务器)
/var/lib/mysql(日志文件和数据库)
/usr/lib/mysql(库文件)
/usr/share/doc/packages(文档)
/usr/share/mysql(错误消息和字符集文字)
/usr/share/sql-bench(基准程序)
/usr/include/mysql(包含头文件)
二进制包:
bin(客户端程序和mysqld服务器)
data(日志文件和数据库)
docs(文档和ChangeLog)
include(包含头文件)
lib(库文件)
scripts(mysql_install_db脚本,用来安装系统数据库)
share/mysql(错误消息文件)
sql-bench(基准程序)
源码包:
bin(客户端程序和脚本)
include/mysql(包含头文件)
info(Info格式的文档)
lib/mysql(库文件)
libexec(mysqld服务器)
share/mysql(消息错误文件)
sql-bench(基准程序和crashme测试)
var(数据库和日志文件)
安装方法:
RPM包:
安装方法(假设是Mysql-server-community-5.0.rpm)
shell>rpm -ivh Mysql-server-community-5.0.rpm
二进制包:
1、创建用户和用户组:
先用root登陆,增加mysql用户和用户组(oracle安装也要这么个特定的用户和用户组)
shell> groupadd mysql
shell> useradd -g mysql mysql
2、解压安装包,将安装包放在/home/mysql下。
shell> cd /home/mysql
shell> tar -xzvf /home/mysql/mysql-5.0.tar.gz
shell> In -s mysql-5.0.tar.gz mysql (这里用的符号链接,也可以用cp来做)
3、在数据目录下创建系统数据库和系统表
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql
4、设置目录权限,data目录为mysql,其他为root
shell> chown -R root:mysql
shell> chown -R mysql:mysql data
5、启动MySQL
shell> bin/mysqld_safe --user=mysql &
源码包:
1、创建用户和用户组(同二进制包)
2、解压安装文件
shell> tar -xzvf mysql.5.0.tar.gz
shell> cd mysql.5.0
3、用configure编译源码
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
4、在安装文件中将样例配置文件拷贝到/etc下
shell> cp support-files/my-medium.cnf /etc/my.cnf
5、创建系统数据库和系统表
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql
6、设置权限,将var置为mysql,其他为root
shell> chown -R root .
shell> chown -R mysql var
shell> chown -R mysql .
7、启动MySQL
shell> bin/mysqld_safe --user=mysql &
下面解释一下为何要将my-medium.cnf拷贝到/etc/my.cnf:
如同Oracle中的参数文件一样,MySQL启动时在my.cnf上也有一套自己的规则
在Windows下:
1、c:\windows\my.ini  2、c:\my.ini  3、installdir\my.ini  4、defaults-extra-file(mysqld后面的参数)
在Linux平台下:
1、/etc/my.cnf  2、$MySQl_HOME/my.cnf  3、defaults-extra-file  4、~/.my.cnf
参数文件的修改方式有三种:
1、session级: mysql> set para_name=value;//只对当前链接有效
2、全局级: mysql> set global para_name=value;//对本链接无效,但对其他链接有效,数据库重启后失效
3、永久修改:将参数加入到my.cnf中。数据库重启后生效。


源码包可以定制安装,因此具有更多的灵活性,比如我可以只安装客户端
shell> ./configure --without-server
我可以更改数据文件和日志文件的位置
shell> ./configure --prefix=/usr/local localstatedir=/usr/local/mysql/data
当然可以在编译完成后修改选项文件
还可以修改socket的默认位置
shell> ./configure --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
选择需要的字符集
shell> ./configure --with-charset=CHARSET
静态编译安装的性能更好:
shell> ./configure --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
在用源码包安装的时候,特别是安装5.1后面的版本,可能需要在configrue的时候,加上–with-plugins=innobase这个参数,不加的话,在后面启动mysqld_safe时,会报错说:“usr/local/mysql/libexec/mysqld: unknown variable‘innodb_data_home_dir=/usr/local/mysql/var/’错误”,我还没弄明白为什么不默认安装,可以通过命令show plugin查看innodb plugin是否安装。
阅读(753) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~