• Mysql的安装

1、  Mysql提供的版本:社区版,企业版,集群版,Mysql workbench(gui tool)mysql图形化管理器,包含管理、查询等功能。Percona开源的mysql优化工具、

2、  安装包格式:

1Rpm:分为不同的版本(红帽,SUSE等不同版本)。

   Mysql-client  客户端

   Mysql-server 服务器端

   Mysql-shared  共享库

Mysql-shared-compat 兼容库,为了兼容老版本。 一般安装以上四个包就可以了。

   Mysql-devel  开发组件,库文件。

   Mysql-test    测试组件。

2)通用二进制:GCC 编译的X86,X64

3)源码包:5.5以上需要用cmake编译。5.5以下用常用的make编译,红帽5需要另外安装cmake,红帽6自行带有cmake。没有cmake需要安装,但cmake需要c++编译器,g++GCC-c++编译器。

安装包分为:客户端(mysql.x86_64)、服务器端(mysql-server.x86_64)、性能分析组件(mysql-bench.x86_64)。

4、  Mysql安装后的目录结构介绍:

1)默认目录:/var/lib/mysql

Bin      二进制程序,包含客户端,服务器端的都在。

Data     数库

Lib      库文件

Include   头文件

Man      手册

Mysql-test

Scripts     初始化脚本

 Share    不同语言的信息     

Sql-bench   基准性能测试

Support-files主配置文件存于此文件下。

5mysql安装后的程程序名和其他信息:

客户端二进制叫        mysql

  服务器端mysqlserver  mysqld

  监听端口              tcp:3306

 Mysql创建一个叫mysql的数据库存储mysql的元数据,即自身的系统数据库,所以编译安装完后需要初始化。如果rpm包安装,不需要,会自动初始化。

 

6、  mysql配置文件,初始化时加载配置文件的地方,按以下次序寻找配置文件。

1linux下的配置文件查找顺序:

/etc/my.cnf

/etc/mysql/my.cnf

$MYSQL_HOME/my.cnf  //mysql实例配置文件,即一台服务器可以运行多个mysql实例,只要监听到不同的端口号即可区分。每个实例都会运行他的实例配置文件,在他的家目录下面。

~/.my.cnf  //家目录下的一个隐蒧文件。

 

7、  源码安装5.5以上版本


1)安装gcc-c++cmake

yum –y install gcc-c++ cmake make    //yum安装,如没有就需要手工编译安装。

或手工编译安装。

 

Cmake .         //类似于make工具的./configure文件(cmake后的点可不用)

Ccmake . cmake  –LH //类似于make工具的./configure–help

 

2)准备帐号和数组以及目录

Groupadd –rmysql       //-r是系统用户组。

useradd -g –r mysql -s /sbin/nologin mysql//新建mysql 系统用户,把用户加到组mysql中,且不允许用户登录。

 

mkdir -p/data/mysql             //创建MySQL数据库存放目录
chown -R mysql:mysql /data/mysql  //设置MySQL数据库目录权限

3)安装mysql

Cmake

-DCMAKE_INSTALL_PREFIX=/USR/local/mysql  //安装路径

-DMYSQL_DATADIR=/data/mysql            //数据存储路径

-DSYSCONFDIR=/etc                      //配置文件路径

一般只配上面三项,以下选项用cmake –LN后,看是否可以配置。

常用功能:

-DWITH_READLINE=1 \                  //批量导入

-DWITH_SSL:STRING=bundled \           //启用ssl会话

-DMYSQL_TCP_PORT=3306 \            //默认端口                        

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock\  //默认套接字文件路径

 -DDEFAULT_CHARSET=utf8 \             //指定默认字符集

   默认编译的存储引擎:

-DWITH_INNOBASE_STORAGE_ENGINE=1\   //

-DWITH-ARCHIVE_STORAGE_ENGINE=1\

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

不编译的存储引擎:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1\

 

 

Make

Make install

 

(4)初始化数据库

 

Chown –R mysql:mysql /usr/local/mysq

 

/usr/local/mysql/scripts/mysql_install_db--user=mysql --datadir=/data/mysql

--basedir=/usr/local/mysql

 

(5)复制配置文件到/etc

Cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

并更改:basedirdatadirsock到指定的目录。Sock会在temp下面的。

 

(6)配置环境

增加到PATH环境变量:到/etc/profie中。

Vim/etc/profile在最后增加两行:

Export MYSQL_HOME=/usr/local/mysql

Export PATH=$PATH:MYSQL_HOME

 

把头文件软链接到系统头文件中:

ln -s /usr/local/mysql/include/mysql /usr/include/mysql

 

把库文件加到系统库文件中:(lib文件夹)

Cd / etc/ld.so.conf.d/

Vim mysql.conf

/usr/local/mysql/lib/mysql   //手工添加库文件(是否要后面的Mysql还不确定)

Ldconfig –v 重新搜索库文件,立即生效。

 

7)配置自启动

 

cp /usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld

chmod a+xmysqld  //给所有用户增加执行权限。

 

以下这几步不是必须的,但可以加上,有些是不支持直接chconfig –add命令,需要加上脚本头才行的。

#!/bin/sh下加入以下两行。

#chkconfig 345 10 90

#description:Active mysqld

 

设置这两项的值为自定义的两个目录:

basedir = /usr/local/mysql   //MySQL程序安装路径
datadir = /data/mysql       //MySQl数据库存放目录
保存退出

----------------------------------------------------------------------------------

chkconfig --add mysqld