• cmake编译安装mysql 5.6.12


    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
  • 相关阅读:
    软考笔记(二)
    软件工程笔记
    安卓反编译
    [转] 扫描二维码自动区分下载Android或者iOS
    git使用技巧总结
    利用iTunes给MP3添加专辑插图
    Flex弹性盒子中`flex-grow`,`flex-shrink`,`flex-basis`的区别
    Android 中Activity和Fragment的启动顺序
    Java 类加载的过程
    Android Studio 查看源码出现throw new RuntimeException("Stub!"); 解决办法
  • 原文地址:https://www.cnblogs.com/yjken/p/3921834.html
Copyright © 2020-2023  润新知