系统环境:
[root@zhaochj ~]# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m
[root@zhaochj ~]# uname -r
2.6.32-358.el6.x86_64
[root@zhaochj ~]# ifconfig | grep Bcast:
inet addr:192.168.0.200 Bcast:192.168.0.255 Mask:255.255.255.0
[root@zhaochj mysql5.5]# pwd
/root/software/mysql5.5
[root@zhaochj mysql5.5]# ls
mysql-5.5.33-linux2.6-x86_64.tar.gz
安装依赖包libbaio-devel:
[root@zhaochj mysql5.5]# yum -y install libaio-devel #不安装此包在初始化数据库是会报错
准备mysql用户:
[root@zhaochj mysql5.5]# useradd -r mysql #建立为系统用户,只用来启动mysql服务。
[root@zhaochj mysql5.5]# id mysql
uid=498(mysql) gid=498(mysql) groups=498(mysql)
准备数据目录:
[root@zhaochj mysql5.5]# mkdir /MysqlData
[root@zhaochj mysql5.5]# chown -R mysql:mysql /MysqlData
[root@zhaochj mysql5.5]# ls -ld /MysqlData/
drwxr-xr-x. 2 mysql mysql 4096 Jan 18 17:09 /MysqlData/
注:建议把mysql数据目录放在LVM上。
解压缩文件,准备目录、设置目录权限:
[root@zhaochj mysql5.5]# tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local/
[root@zhaochj mysql5.5]# ln -sv /usr/local/mysql-5.5.33-linux2.6-x86_64 /usr/local/mysql # /usr/local/mysql这个目录名不要改变,否则要去修改mysql服务的启动脚本
[root@zhaochj mysql5.5]# chown -R root:mysql /usr/local/mysql/*
准备配置文件及服务脚本文件:
[root@zhaochj mysql]# pwd
/usr/local/mysql
[root@zhaochj mysql]# cp /etc/my.cnf /etc/my.cnf.back #备份系统原有的my.cnf文件
[root@zhaochj mysql]# cp support-files/my-huge.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
[root@zhaochj mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@zhaochj mysql]# chkconfig --add mysqld
[root@zhaochj mysql]# chkconfig --list mysqld
mysqld 0:off1:off2:on3:on4:on5:on6:off
修改配置文件:
[root@zhaochj mysql]# vim /etc/my.cnf
thread_concurrency = 8 #建议修改这个值为cpu核心的两倍
datadir = /MysqlData #增加数据目录
innodb_file_per_table = 1 #让每个表有一个文件
初始化数据库:
[root@zhaochj mysql]# scripts/mysql_install_db --user=mysql --datadir=/MysqlData
[root@zhaochj mysql]# ls /MysqlData/
mysql mysql-bin.000001 mysql-bin.000002 mysql-bin.index performance_schema test
启动mysql:
[root@zhaochj mysql]# service mysqld start
Starting MySQL.... SUCCESS!
导出二进制文件(不是必须操作):
[root@zhaochj mysql]# vim /etc/profile.d/mysql5.5.sh
export PATH=/usr/local/mysql/bin:$PATH
[root@zhaochj mysql]# source /etc/profile.d/mysql5.5.sh
导出库文件(不是必须操作):
[root@zhaochj mysql]# echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql5.5.conf
[root@zhaochj mysql]# ldconfig -v | grep mysql
/usr/local/mysql/lib:
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
/usr/lib64/mysql:
libmysqlclient.so.16 -> libmysqlclient.so.16.0.0
libmysqlclient_r.so.16 -> libmysqlclient_r.so.16.0.0
导出头文件(不是必须操作):
[root@zhaochj mysql]# ln -sv /usr/local/mysql/include /usr/include/mysql5.5
导出man文件(不是必须操作):
[root@zhaochj mysql]# vim /etc/man.config
MANPATH /usr/man
MANPATH /usr/share/man
MANPATH /usr/local/man
MANPATH /usr/local/share/man
MANPATH /usr/X11R6/man
MANPATH /usr/local/mysql/man #新增加此行
mysql连接测试:
[root@zhaochj mysql]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.33-log MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
完!