cmake安装mysql 5.6.12
从mysql 5.5 开始就要用cmake编译安装
下载mysql
下载地址:http://pan.baidu.com/s/1o68xxqE
一、安装mysql5.6.12
1、创建用户、组和目录
groupadd mysql useradd -g mysql mysql
创建数据仓库目录(不创建的话默认就是这个目录即$PREFIX_DIR/data)
mkdir /server/mysql/data -p
2、安装
cmake . \
-DCMAKE_INSTALL_PREFIX=/server/mysql \
-DMYSQL_DATADIR=/server/mysql/data \
-DMYSQL_UNIX_ADDR=/server/mysql/run/mysql.sock \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDEFAULT_CHARSET=utf8 \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_MEMORY_STORAGE_ENGINE= \
-DMYSQL_USER=mysql make && make install
部分参数说明详见http://blog.samxy.com/archives/287.html
下面摘一点:
-DCMAKE_INSTALL_PREFIX= 数据库程序安装路径;
-DMYSQL_DATADIR= 数据库文件存放路径
-DMYSQL_UNIX_ADDR= 默认位置是/tmp/mysql.sock
-DDEFAULT_CHARSET= 默认数据库编码
-DDEFAULT_COLLATION= 默认数据库整理编码
-DWITH_EXTRA_CHARSETS= 扩展支持编码(all | utf8,gbk,gb2312 | none)
-DWITH_MYISAM_STORAGE_ENGINE= MYISAM引擎支持(1|0)
-DWITH_INNOBASE_STORAGE_ENGINE= innoDB引擎支持(1|0)
-DWITH_MEMORY_STORAGE_ENGINE= MEMORY引擎支持(1|0)
二、配置mysql
1、修改配置文件my.cnf
chmod /tmp -R
mkdir -p /server/mysql/etc/
mysql 5.6
cp support-files/my-default.cnf /server/mysql/etc/my.cnf
mysql 5.5
cp support-files/my-large.cnf /server/mysql/etc/my.cnf
修改my.cnf参数,没有则加入如下:
vi /server/mysql/etc/my.cnf
basedir = /server/mysql(不配置的话默认为$PREFIX_DIR)
datadir = /server/mysql/data(不配置的话默认为$PREFIX_DIR/data)
explicit_defaults_for_timestamp=true (不配置就报错5.6.12)
log-error = /server/mysql/mysql_error.log(不配置的话默认为$PREFIX_DIR/data/$hostname.err)
pid-file = /server/mysql/run/mysql.pid(不配置的话默认为$PREFIX_DIR/data/$hostname.pid)
socket = /server/mysql/run/mysql.sock
user = mysql
tmpdir = /tmp(不配置的话默认为/tmp)
2、初始化安装:
cd /server/mysql/ chmod +x scripts/mysql_install_db
这里还是在安装源目录下
scripts/mysql_install_db --defaults-file=/server/mysql/etc/my.cnf \
--basedir=/server/mysql \
--datadir=/server/mysql/data \
--user=mysql \
--pid-file=/server/mysql/run/mysql.pid \
--port= \
--socket=/server/mysql/run/mysql.sock \
--skip-external-locking \
--explicit_defaults_for_timestamp=true \
--force
成功后会输出一大堆信息(大概十几行)
(--user一定要加,其他可不加,默认会是$PREFIX_DIR和$PREFIX_DIR/data,因为--help看到说不加--user会以当前系统登录用户启动mysql)
可能需要先创建pid文件的目录
/server/mysql/bin/mysqladmin --version //测试下
先启动mysql:
chown -R mysql:mysql /server/mysql/
启动mysql
/server/mysql/bin/mysqld_safe --defaults-file=/server/mysql/etc/my.cnf --user=mysql &
再修改root密码:
/server/mysql/bin/mysqladmin -u root password 'yes'
测试是否能进入:
/server/mysql/bin/mysql -u root -p
可以进入,好的,杀掉进程,接着做下面的。
将mysql加入开机启动:
两个方法只需要执行一个
方法法一:
执行:
如果已有/etc/init.d/mysqld也要复制下,因为自带的mysqld里面控制服务的方式与源代码中带的mysqld不同,而且还要重新定义下面提到要修改的字段
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
echo "/etc/init.d/mysqld start" >> /etc/rc.local
方法二:
执行:
chkconfig--add mysqld
chkconfig--level mysqld on
3、启动mysql
/etc/init.d/mysqld start