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=1\-DWITH_INNOBASE_STORAGE_ENGINE=1\-DWITH_MEMORY_STORAGE_ENGINE=1\-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 777 /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=3306\--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/mysqldchmod +x /etc/init.d/mysqldecho "/etc/init.d/mysqld start" >> /etc/rc.local
方法二:
执行:
chkconfig--add mysqld
chkconfig--level 345 mysqld on
3、启动mysql
/etc/init.d/mysqld start