• 源码编译安装mysql5.5.33


    源码编译安装mysql5.5.33


    一.安装cmake编译工具

    跨平台编译器
    # yum install -y gcc*
    # yum install -y cmake
    解决依赖关系
    # yum install -y readline-devel zlib-devel openssl-devel


    二、编译安装mysql-5.5.33


    # tar xf mysql-5.5.33.tar.gz
    # cd mysql-5.5.33
    # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci


    # make && make install


    创建mysql数据存储的目录
    # mkdir -pv /data/mydata


    划分一个大小为10G的逻辑卷存储mysql数据,将该卷挂载在/data/mydata目录下
    # lvcreate -n mylv -L 10G /dev/myvg
    # mke2fs -t ext4 /dev/myvg/mylv


    三、创建Mysql用户

    //制定组id和用户id为306
    # groupadd -r -g 306 mysql
    # useradd -g mysql -r -g 306 -s /sbin/nologin mysql
    验证
    # id mysql


    改变数据存储目录和安装目录的权限
    # cd /usr/local/mysql
    # chown -R :mysql ./*
    # chown -R mysql.mysql /data/mydata


    四、启动脚本初始化数据库

    # scripts/mysql_install_db --user=mysql --datadir=/data/mydata
    # cp support-files/mysql.server /etc/rc.d/init.d/mysqld
    # cp support-files/my-large.cnf /etc/my.cnf


    编辑/etc/my.cnf加入datadir=/data/mydata


    加入到服务器启动项
    # chkconfig --add mysqld
    # chkconfig --list mysqld


    将mysql命令加入环境变量中
    vim /etc/profile.d/mysql.sh
    加入
    export PATH=/usr/local/mysql/bin:$PATH


    # service mysqld start
    # ss -tnl




    cmake指定编译选项的方式不同于make,其实现方式对比如下:
    ./configure           cmake .
    ./configure --help    cmake . -LH or ccmake .


    指定安装文件的安装路径时常用的选项:
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_DATADIR=/data/mysql
    -DSYSCONFDIR=/etc




    默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITH_ARCHIVE_STORAGE_ENGINE=1
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1
    -DWITH_FEDERATED_STORAGE_ENGINE=1


    若要明确指定不编译某存储引擎,可以使用类似如下的选项:
    -DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
    比如:
    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
    -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
    -DWITHOUT_PARTITION_STORAGE_ENGINE=1


    如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
    -DWITH_READLINE=1
    -DWITH_SSL=system
    -DWITH_ZLIB=system
    -DWITH_LIBWRAP=0


    其它常用的选项:
    -DMYSQL_TCP_PORT=3306
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
    -DENABLED_LOCAL_INFILE=1
    -DEXTRA_CHARSETS=all
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci
    -DWITH_DEBUG=0
    -DENABLE_PROFILING=1




    如果想清理此前的编译所生成的文件,则需要使用如下命令:
    make clean
    rm CMakeCache.txt
  • 相关阅读:
    【题解】【BT】【Leetcode】Populating Next Right Pointers in Each Node
    【题解】【BT】【Leetcode】Binary Tree Level Order Traversal
    【题解】【BST】【Leetcode】Unique Binary Search Trees
    【题解】【矩阵】【回溯】【Leetcode】Rotate Image
    【题解】【排列组合】【素数】【Leetcode】Unique Paths
    【题解】【矩阵】【回溯】【Leetcode】Unique Paths II
    【题解】【BST】【Leetcode】Validate Binary Search Tree
    【题解】【BST】【Leetcode】Convert Sorted Array to Binary Search Tree
    第 10 章 判断用户是否登录
    第 8 章 动态管理资源结合自定义登录页面
  • 原文地址:https://www.cnblogs.com/reblue520/p/6239877.html
Copyright © 2020-2023  润新知