操作系统:CentOS 5.6(64位阿里云)
MySQL 安装版本 5.5.13
MySQL 从 5.5 版本开始,通过 ./configure 进行编译配置方式已经被取消,取而代之的是 cmake 工具。
因此,我们首先要在系统中源码编译安装cmake工具。
1. 安装cmake
# wget
http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz
# tar
zxvf cmake-2.8.12.tar.gz
# cd
cmake-2.8.12
#
./configure --prefix=/usr/local/cmake
# make
&&
make
install
2. 确保以下所需系统软件包已经被安装
通过 rpm -qa | grep name 的方式验证以下软件包是否已全部安装。
gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libmcrypt* libtool*
如果缺少相关的软件包,可通过yum -y install 的方式在线安装,或直接从系统安装光盘中找到并通过rpm -ivh 的方式安装。
3. 安装前的系统设置
// 建立 mysql 安装目录及数据存
放目录
# mkdir
/usr/local/mysql
// 安装文件目录
# mkdir
/data/mysql/log
// 二进制日志目录,主从同步用
# mkdir
/data/mysql/data
// 数据库数据目录
// 创建用户和用户组
# groupadd
mysql
# useradd
-M -s /sbin/nologin -g mysql mysql
// 赋予数据存放目录权限
# chown
mysql:mysql -R /data/mysql/log
# chown
mysql:mysql -R /data/mysql/data
4. 从configure更换为cmake
相信大多数人都已经习惯了之前的configure方式,并且所使用的参数也是比较个性化的,换成cmake之后,这一方面会带来不少的麻烦。
还好,MySQL的官方网站提供了二者的参数对照表,我们可以尽可能的保留之前的参数,来编译配置新的MySQL版本。
configure 与 cmake 参数对照指南:http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide
5. 编译安装 MySQL 5.5.13
通过 http://www.mysql.com/downloads/mysql 官方网址或国内的sohu镜像下载软件包。
# wget
http://mirror
s.sohu.com/mysql/MySQL-5.5/mysql-5.5.38.tar.gz
# tar
zxvf mysql-5.5.38.tar.gz
# cd
mysql-5.5.38
# cmake
\
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
// 指定MySQL程序的安装目录
-DMYSQL_DATADIR=/data/mysql/data \
// 数据文件目录
-DDEFAULT_CHARSET=utf8 \
// 指定服务器默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \
// 指定服务器默认的校对规则
-DENABLED_LOCAL_INFILE=ON \
// 指定是否允许本地执行 LOAD DATA INFILE
-DWITH_INNOBASE_STORAGE_ENGINE=1
// 指定静态编译到 MySQL 的存储引擎:INNODB
-DMYSQL_USER=mysql
// MySQL 用户名
# make
# make
install
在 make 与 make install 的时候可以看到进度百分比,感觉这一点要比 configure 方式要好。
6. 配置并初始化数据库
创建 my.cnf 配置文件
# mkdir
/var/log/mysql
# cp
support-files/my-medium.cnf /etc/my.cnf
// MySQL 默认配置文件路径
如果是MySQL 5.6,由于没有 my-medium.cnf,配置内容请参考:/uploads/attachs/201512/17/12222898745.txt
设置 my.cnf 配置文件
注释 log-bin = mysql-bin 或修改为 log-bin = /data/mysql/log/mysql-bin
// 如果没有使用主从同步建议注释掉
执行前需赋给scripts/mysql_install_db文件执行权限
# chmod
755 scripts/mysql_install_db
#
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
复制生成 Mysql 服务器的自动与停止脚本
# cp
support-files/mysql.server /etc/init.d/mysql
将 Mysql 服务添加到服务器管理中,并设置自启动状态:
#chkconfig
--list | grep mysql
// 查询当前是否有mysql服务
#chkconfig
--add mysql
// 添加mysql服务到服务器管理中
#chkconfig
--list | grep mysql
// 查询此时mysql服务器的启动状态
#chkconfig
--level 35 mysql on
// 设置在3、5运行级别也自启动
启动MySQL
#service
mysql start 或 #/etc/init.d/mysql start
如果启动失败修改 mysql 权限:#chmod 755 /etc/init.d/mysql
测试 Mysql 服务器
#
/usr/local/mysql/bin/mysqladmin version
// 测试服务器是否已启动
#
/usr/local/mysql/bin/mysqladmin pin
// 出现:mysql is alive
通过命令行登录管理MySQL服务器(提示输入密码时直接回车):
#
/usr/local/mysql/bin/mysql -u root -p
为root帐户设置初始密码
#
/usr/local/mysql/bin/mysqladmin -u root password
$NEW-PASSWORD
删除本机匿名连接的空密码帐号
/usr/local/mysql/bin/mysql -uroot -p
$NEW-PASSWORD
mysql>USE mysql;
// 选择系统数据库mysql
mysql>SELECT Host,User,Password FROM user;
// 查看所有用户
mysql>DELETE FROM user WHERE password="";
mysql>flush privileges;
mysql>SELECT Host,User,Password FROM user;
// 确认密码为空的用户是否已全部删除
mysql>exit;
上文中提到的一些配置请参考原文
原文地址:http://www.lengdo.com/blog/view/id/32.html
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。