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/mysqld chmod +x /etc/init.d/mysqld echo "/etc/init.d/mysqld start" >> /etc/rc.local
方法二:
执行:
chkconfig--add mysqld chkconfig--level 345 mysqld on
3、启动mysql
/etc/init.d/mysqld start