Linux MySQL 5.6源码编译安装

说明:

  • 安装mysql版本为5.6.41
  • mysql解压后工作空间目录:/data/workspace/mysql
  • mysql安装目录:/data/soft/mysql
  • mysql数据存放目录:/data/soft/mysql/data

下载mysql源码

下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads

注意选择版本:
mysql_download.jpg

下载完毕后,进行解压:

tar zxf mysql-5.6.41.tar.gz -C /data/workspace
cd /data/workspace
mv mysql-5.6.41 mysql
cd /data/workspace/mysql

编译安装MySQL

  1. 安装所需依赖和工具

    apt-get install make gcc g++ libncurses5-dev cmake bison
  2. 配置cmake编译参数

    cmake . -DCMAKE_INSTALL_PREFIX=/data/soft/mysql \   #安装路径
    -DMYSQL_DATADIR=/data/soft/mysql/data \             #数据文件存放位置
    -DSYSCONFDIR=/data/soft/mysql \                     #配置文件(my.cnf)目录
    -DMYSQL_TCP_PORT=3306 \                             #端口
    -DMYSQL_UNIX_ADDR=/data/soft/mysql/mysql.sock \     #连接数据库socket路径
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \                  #支持InnoDB引擎
    -DWITH_MYISAM_STORAGE_ENGINE=1 \                    #支持MYISAM引擎
    -DWITH_MEMORY_STORAGE_ENGINE=1 \                    #支持MEMORY引擎
    -DENABLED_LOCAL_INFILE=1 \                          #允许从本地导入数据
    -DWITH_PARTITION_STORAGE_ENGINE=1 \                 #安装支持数据库分区
    -DWITH_EXTRA_CHARSETS=all \                         #安装所有的字符集
    -DDEFAULT_CHARSET=utf8 \                            #默认字符
    -DDEFAULT_COLLATION=utf8_general_ci \               #默认字符集

    注意:如果需要重新配置cmake编译参数,需要先删除CMakeCache.txt

    rm CMakeCache.txt`
  3. 编译安装

    make
    make install
  4. 添加用户、组

    groupadd mysql
    useradd -r -g mysql -s /bin/false mysql
  5. 进入MySQl安装目录和数据目录,设置目录权限

    cd /data/soft/mysql
    chown -Rf mysql:mysql ./
  6. 执行MySQL初始化安装数据库

    cd /data/soft/mysql
    ./scripts/mysql_install_db --user=mysql --datadir=/data/soft/mysql/data
  7. 设置root密码
    先启动MySQL,再设置密码。

    ./support-files/mysql.server start
    ./bin/mysqladmin -u root password 'new-password'
  8. 启动脚本
    MySQL需要随系统启动而启动

    cp support-files/mysql.server /etc/init.d/mysql
    chmod +x /etc/init.d/mysql
  9. MySQL添加环境变量

    vim /etc/profile
    export PATH=$PATH:/data/soft/mysql/bin
    source /etc/profile
  10. 其他操作

    # 登录mysql
    /data/soft/mysql/bin/mysql -u root -p
    # 登录成功后,创建新的数据库管理用户
    # 可以访问所有数据的所有权限用户,并且允许所有主机登录
    GRANT ALL on *.* to '{user}'@'%' identified by "{password}";
    # 创建只能通过localhost访问指定数据(同一主机上强烈推荐该方式,安全!!!)
    GRANT ALL on {database}.* to {user}@localhost identified by "{password}";
    # 使添加用户即权限生效
    FLUSH PRIVILEGES;

参考文章:

标签: lnmp, mysql

添加新评论