====================== 从源代码安装(版本5.6.21) 可以安装到自定义的目录
前提:
a、系统中先要安装cmake。
b、绝大多数情况下,MySQL缺省的/etc/my.cnf不靠谱,直接改名为my.cnf.bak。
c、在安装MySQL之前应先检查当前主机是否存在用安装的旧版mysql rpm,有的话要删除:
rpm -qa | grep -i mysql
或yum list mysql*
然后卸载对应的mysql包
1. 创建账户
groupadd mysql
useradd -r -g mysql mysql
其中-r指定为系统账户
2. 创建所需要的目录,更改权限
(1) mkdir -p /mapbar2/mysql-5.6.21/
(2) 创建tmp目录:mkdir /mapbar2/mysql-5.6.21/tmp
(3) 创建log目录:mkdir /mapbar2/mysql-5.6.21/log
centos 要安装:yum install ncurses-devel
检查是否有gcc g++,如果没有,先安装,yum list *gcc*
3. 编译
cmake . -DCMAKE_INSTALL_PREFIX=/mapbar2/mysql-5.6.21 -DMYSQL_TCP_PORT=3307 -DTMPDIR=/mapbar2/mysql-5.6.21/tmp -DMYSQL_UNIX_ADDR=/mapbar2/mysql-5.6.21/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make
sudo make install
4. (这一步要放到初始化数据库./scripts/mysql_install_db前面,因为初始化数据库时要用到这里面的一些选项特别是innodb方面的)
找一个my.cnf的模板,认真编辑里面的选项,放到/mapbar2/mysql-5.6.21下,里面几个关键项:
[client]
port = 8807
defaults-file = /mapbar2/mysql-5.6.21/my.cnf
basedir = /mapbar2/mysql-5.6.21
datadir = /mapbar2/mysql-5.6.21/data
log-error = /mapbar2/mysql-5.6.21/log/log_error.log
pid-file = /mapbar2/mysql-5.6.21/mysql.pid
socket = /mapbar2/mysql-5.6.21/mysql.sock
tmpdir = /mapbar2/mysql-5.6.21/tmp
user = mysql
[mysqld-safe]
defaults-file = /mapbar2/mysql-5.6.21/my.cnf
user = mysql
# The MySQL server
[mysqld]
port = 8807
basedir = /mapbar2/mysql-5.6.21
datadir = /mapbar2/mysql-5.6.21/data
log-error = /mapbar2/mysql-5.6.21/log/log_error.log
pid-file = /mapbar2/mysql-5.6.21/mysql.pid
socket = /mapbar2/mysql-5.6.21/mysql.sock
tmpdir = /mapbar2/mysql-5.6.21/tmp
user = mysql
注意:
上面三个段里面的路径要要设置,因为不同的程序需要不同的段。
5. chown -R mysql.mysql /mapbar2/mysql-5.6.21
5.1 切换为root
su -
6. 初始化数据库