mysql5.6编译安装方法

Mysql5.6安装
环境:
    • 操作系统:centos6.9
    • 安装目录:/application
    • Mysql版本:5.6.36
1.安装依赖包和编译工具

    yum install -y ncurses-devel libaio-devel
    yum install cmake

2.设置用户

    useradd -M -s /sbin/nologin mysql
    Id mysql

3.解压安装(安装到指定目录/application下)

   tar xf mysql-5.6.36.tar.gz
    cd mysql-5.6.36
    cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.36 
    -DMYSQL_DATADIR=/application/mysql-5.6.36/data 
    -DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DWITH_EXTRA_CHARSETS=all 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_FEDERATED_STORAGE_ENGINE=1 
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
    -DWITH_ZLIB=bundled 
    -DWITH_SSL=bundled 
    -DENABLED_LOCAL_INFILE=1 
    -DWITH_EMBEDDED_SERVER=1 
    -DENABLE_DOWNLOADS=1 
    -DWITH_DEBUG=0

4.编译并安装,做好软连接,方便版本控制

    make && make install
    ln -s /application/mysql-5.6.36/ /application/mysql

5.重置配置文件

    cp support-files/my*.cnf /etc/my.cnf

    #编译的MySQL可以暂时不需要设置配置文件。
    #如果以前操作系统中安装过rpm格式的mysql,系统中可能会遗留/etc/my.cnf文件,我们需要将它删除掉
6.初始化数据库

    /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

7.权限控制

    chown -R mysql.mysql /application/mysql/

8.复制启动脚本并修改权限

    cp support-files/mysql.server /etc/init.d/mysqld
    chmod 700 /etc/init.d/mysqld

9.设置开机自启动

    chkconfig mysqld on
    chkconfig --list mysqld

10.启动数据库

    /etc/init.d/mysqld start
    netstat -lntup|grep 3306

    注意,因为-DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock这条参数会导致找不到pid文件,创建参数指定的路径即可
11.设置环境变量(便于修改)

    echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
    tail -1 /etc/profile
    source /etc/profile
    echo $PATH
    mysql

12.设置密码(如果之前有密码则需要-p【之前的密码】)

    mysqladmin -u root password '123'

13.清理用户和无用的数据库(按个人环境清理)

    select user,host from mysql.user;
    drop user ''@'db01';
    drop user ''@'localhost';
    drop user 'root'@'db01';
    drop user 'root'@'::1';
    select user,host from mysql.user;
    drop database test;
    show databases

    最后检查结果如下:

原文地址:https://www.cnblogs.com/ExzaiTin/p/8033946.html