本来是做软件开发,结果却接了DBA的活,真是伤不起啊。
【参考文档】
http://wenku.baidu.com/view/cd789d6125c52cc58bd6be08.html
【环境】
redhat + mysql5.5.18 + cmake
【步骤】
1. 下载mysql和cmake的tar包,由于我需要安装特定版本的,所以找起来还不太容易。下面提供mysql5.5.18的链接,cmake只要在官网www.cmake.org上下载就好了。
http://downloads.mysql.com/archives.php?p=mysql-5.5&o=other
2.添加用户和组,命名为mysql。
groupadd mysql
useradd -g mysql mysql
3.解压cmake到本地目录tar -xvzf xxxx,在make前要确保有g++和gcc。进入解压后的目录,运行./configure,然后make && make install。
4. 安装好cmake之后,解压mysql的源码包。
tar -xvzf xxxx
5. 进入解压目录,用cmake编译源码,在cmake时可以根据自己的需要定制,下例是我安装时选用的配置。
cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql5.5 -DMYSQL_DATADIR=/opt/mysql5.5/data -DINSTALL_INCLUDEDIR=include/mysql -DINSTALL_LIBDIR=lib64/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录
-DINSTALL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
6. make && make install
7. 将安装目录下的data目录修改用户和组
chown -R mysql:mysql data
8. 初始化数据库,需要用到安装目录下的scripts/mysql_install_db
./mysql_install_db --user=mysql --basedir=/opt/mysql5.5 --datadir=/opt/mysql5.5/data
--user: 数据库的user
--basedir: 安装目录
--datadir: 数据库存放的位置,也就是data目录
9. 从安装目录拷贝一个cnf文件到/etc/下。
cp ./support-files/my-medium.cnf /etc/my.cnf
10. 运行安装目录下bin/mysqld_safe启动mysql。
./mysqld_safe --user=mysql &
如果本机上有多台数据库,就需要在my.cnf里指定basedir和datadir,在mysqld_safe启动时指定cnf文件
/mysqld_safe --user=mysql --defaults-file=/etc/my.cnf
以上就是安装的步骤。另外也可以通过脚本启动,也就是用service mysqld start。这时需要拷贝安装目录下support-files/mysql.server到/etc/init.d/并且命名为mysqld。给所有用户可执行的权限chmod 777 /etc/init.d/mysqld,之后就可以通过service mysqld start 和 service mysqld stop来启动和停止数据库。
如果服务器上有多台数据库,那么有可能需要修改环境变量PATH的位置。