方法有:


 1.专用软件包管理器包,如rpm


 2.通用二进制格式的包,通常是用gcc,编译


 3.源码包,需要编译安装5.5之前需要make安装5.5以后使用cmake安装。


 cmake,需要额外安装功能就需要用源码包


如需要定制


mysql5.5版本下载地址 http://dev.mysql.com/downloads/mysql/5.5.html#downloads


不同的mysql rpm包介绍:


MySQL-devel:mysql开发包。针对mysql进行二次开发使用


MySQL-embedded:嵌入式环境使用的mysql


MySQL-client:mysql客户端


MySQL-server:mysql服务器端


MySQL-shared :被许多软件使用的mysql共享库


MySQL-shared-compat:提供的mysql共享库的兼容。是MySQL-shared的补充


MySQL-test:mysql 的测试组件


 对于我们来说最重要的是mysql 服务器软件,和客户端软件

mysql安装完成后的目录结构


bin:mysql的各种二进制程序存放目录


data:默认情况的数据存放目录


include:头文件目录


lib:库文件目录


man:帮助文件目录


mysql-test:测试组件


scripts:  mysql初始化脚本


share:


sql-bench:mysql基准性能测试


support-files:mysql的主配置文件目录主配置文件叫做my.cnf

mysql在Linux下读取配置文件的路径:


/etc/my.cnf   先找这个


/etc/mysql/my.cnf  再找这个

$MYSQL_HOME/my.cnf  最后找这个

也可以启动mysqld时候使用 --defults-extra-file=/path/to/file/my.cnf

mysql安装完成后应该进行的操作:

mysql安装完成后一般会生成5个用户,三个root 和两个匿名用户.


3个root:1 root@127.0.0.1  2.root@localhost 3. root@你的主机名


三个root的密码都为空,应该设置密码


设置密码方法:mysqladmin -u root password 'your passwd' 


或者 :SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');


两个匿名用户: '  ' @localhost 和 '  '@你的主机名

匿名用户应该删除掉。

安装前,确保安装好cmake 

cmake 指定编译选项与make不同

指定安装文件的安装路径时常用选项:

-DMAKE_INSTALL_PREFIX=/usr/local/mysql


-DMYSQL_DATADIR=/data/mysql (数据保存路径)


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

mysql默认编译的存储引擎包括,csv,myisam,myisammrg和heap,若要安装其他引擎可以使用类似如下选项:


-DWITH_INNOBASE_STORAGE_ENGINE=1


-DWITH_ARCHIVE_STORAGE_ENGINE=1


-DWITH_BLACKHOLE_STORAGE_ENGINE=1


-DWITH_FEDERATED_STORAGE_ENGINE=1


若要指定不编译某引擎可以使用如下选项:


-DWITOUT_FEDERATED_STORAGE_ENGINE=1


若要编译其他功能可使用类似如下语句:


-DWITH_READLINE=1  (用于批量导入mysql数据)


-DWITH_SSL=system


其他常用选项:


DMYSQL_TCP_PORT=3306


-DMYSQL_UNIX_ADDR=/tmp/mysql.sock


-DDEFAULT_CHARSETS=utf-8


-DENABLE_PROFILING=1  (mysql性能分析)


安装:

安装依赖软件  yum install gcc  


                       yum install gcc-c++


下载依赖软件cmake       http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz


解压


tar -zxvf   tar zxvf cmake-2.8.4.tar.gz


编译


./configure --prefix=/usr/local/cmake

安装:make && make install


可以使用 cmake . -LH  获取cmake帮助信息


安装完cmake 之后开始准备安装mysql


首先先新建一个mysql用户和mysql组 

groupadd -r mysql


useradd -r  -g mysql -s /sbin/nologin mysql


新建一个用于存储数据的mysql目录,建议最好使用一个lvm,我们就先使用目录,在root下建立一个mysqldata目录


做好这些准备后,开始编译mysql

编译,进入到mysql解压目录执行


cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \


-DMYSQL_DATADIR=/mydata/data \

-DSYSCONFDIR=/etc   \


-DWITH_INNOBASE_STORAGE_ENGINE=1  \


-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \


-DDEFAULT_CHARSET=utf8  \


-DDEFAULT_COLLATION=utf8_general_ci \

如果执行上面的cmake 命令出错,提示command not found 说明环境变量没有弄好。


配置cmake 环境变量


echo 'export PATH=/usr/local/cmake/bin:$PATH' >>/etc/profile


刷新配置文件


soucre /etc/profile


如果之前的cmake可以正常执行就可以安装


然后执行 make


最后执行make install

完成后切换到/usr/local/mysql 下面将该目录属主改为mysql


chown -R :mysql .


然后初始化mysql数据库


scripts/mysql_install_db --user=mysql --datadir=/root/mysqldata


复制配置文件到/etc 命名为my.cnf


cp support-files/my-large.cnf /etc/my.cnf


复制mysql.server 到/etc/init.d 目录下命令为mysqld


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


设置开机启动

chkconfig --add mysqld 

启动mysql


service mysqld start


报错:Starting MySQL......... ERROR! The server quit without updating PID file


原因:原因应该出现在我们数据存放目录在/root/mysqldata  但是/root目录是超级用户的目录。因此mysql没有权限进入此目录


编辑客户端环境变量:

编辑/etc/profile.d/mysql.sh


编辑内容如下:


export PATH=$PATH/usr/local/mysql/bin


最后编辑/etc/my.cnf


在[mysqld]   下面添加一个mysql数据保存路径


datadir=/your/data/file/path


使用mysql命令 即可进入mysql。第一次登陆无需密码。登陆上去首先删除掉两个匿名用户


drop user ' ' @localhost;


drop  user ' '@127.0.0.1;


如果你的主机名是localhost 则第二条命令会报错。因为主机名是localhost的话,第二个匿名用户名字就是localhost.localdomain


因此执行


drop  user ' ' @localhost.localdomain


这些用户信息我们可以查看 有个mysql名字的数据库里面的表user。


use mysql


select User,Host,Password from user;


接下来给root设置密码:

update user set Password=PASSWORD('your passwd') where user='root';


如果mysql 安装服务器端和客户端都在同一机器上面,那么客户端将会基于mysql.sock 进行通讯

如果客户端服务器端,不在同一主机,则基于tcp/ip协议


mysql的客户端工具:


mysql


mysqldump


mysqladmin


mysqlimport


mysqlcheck