zoukankan      html  css  js  c++  java
  • rpm源码安装mysql

    rpm格式包源码安装mysql数据库

    下载mysql包

    [root@x112 ~]# wget -c https://cdn.mysql.com/archives/mysql-5.7/mysql-community-minimal-5.7.19-1.el7.src.rpm

     

    官方推荐方式:

    shell> rpmbuild --rebuild --clean MySQL-VERSION.src.rpm

    [root@x112 ~]# yum -y install rpm-build

    [root@x112 ~]# rpmbuild --rebuild --clean  mysql-community-minimal-5.7.19-1.el7.src.rpm

    Installing mysql-community-minimal-5.7.19-1.el7.src.rpm

    warning: mysql-community-minimal-5.7.19-1.el7.src.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

    error: Failed build dependencies:

    perl(Env) is needed by mysql-community-minimal-5.7.19-1.el7.centos.x86_64

    time is needed by mysql-community-minimal-5.7.19-1.el7.centos.x86_64

    cyrus-sasl-devel is needed by mysql-community-minimal-5.7.19-1.el7.centos.x86_64

    libaio-devel is needed by mysql-community-minimal-5.7.19-1.el7.centos.x86_64

    numactl-devel is needed by mysql-community-minimal-5.7.19-1.el7.centos.x86_64

    openssl-devel is needed by mysql-community-minimal-5.7.19-1.el7.centos.x86_64

    [root@x112 ~]# yum -y install openssl-devel  numactl-devel libaio-devel cyrus-sasl-devel time perl-devel

    [root@x112 ~]# rpmbuild --rebuild --clean  mysql-community-minimal-5.7.19-1.el7.src.rpm

    Installing mysql-community-minimal-5.7.19-1.el7.src.rpm

    warning: mysql-community-minimal-5.7.19-1.el7.src.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

    error: Failed build dependencies:

    perl(Env) is needed by mysql-community-minimal-5.7.19-1.el7.centos.x86_64

    处理方法:

    [root@x112 ~]# rpmbuild --rebuild --clean  mysql-community-minimal-5.7.19-1.el7.src.rpm --nodeps --force

    Installing mysql-community-minimal-5.7.19-1.el7.src.rpm

    warning: mysql-community-minimal-5.7.19-1.el7.src.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

    Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.OfQM2S

    + umask 022

    + cd /root/rpmbuild/BUILD

    + cd /root/rpmbuild/BUILD

    + rm -rf mysql-5.7.19

    + /usr/bin/mkdir -p mysql-5.7.19

    + cd mysql-5.7.19

    + /usr/bin/tar -xf /root/rpmbuild/SOURCES/mysql-5.7.19.tar.gz

    + /usr/bin/tar -xf /root/rpmbuild/SOURCES/boost_1_59_0.tar.bz2

    [root@x112 boost]#

    2、对boots包和mysql包进行解压到对应的目录下

    [root@x112 mysql-5.7.19]##tar zxf  boost_1_59_0.tar.bz2  -C /usr/local/

    [root@x112 mysql-5.7.19]# #tar zxf mysql-5.7.19.tar.gz -C /opt/

    3、添加用户和组

    [root@x112 mysql-5.7.19]# groupadd mysql

    [root@x112 mysql-5.7.19]# useradd -M -s /sbin/nologin -r -g mysql mysql

    创建安装目录和数据存放目录(生产环境一般独立磁盘)

    添加一块新的硬盘创建分区sdb1并分配所有的空间

    注:mysql-5.7.19.tar.gz安装时占用空间比较大,建议添加一块硬盘进行安装

     

    4、编译安装

    [root@x112 mysql-5.7.19]#cmake -DCMAKE_INSTALL_PREFIX=/home/mysql

    -DMYSQL_DATADIR=/home/mysql/data

    -DWITH_MYISAM_STORAGE_ENGINE=1

    -DWITH_INNOBASE_STORAGE_ENGINE=1

    -DWITH_MEMORY_STORAGE_ENGINE=1

    -DMYSQL_TCP_PORT=3306

    -DDEFAULT_CHARSET=utf8

    -DDEFAULT_COLLATION=utf8_general_ci

    -DDOWNLOAD_BOOST=1

    -DWITH_BOOST=/usr/local/boost

    预编译报错:

    CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

    CMake Error: Internal CMake error, TryCompile configure of cmake failed

    解决方法:

    [root@x112 mysql-5.7.19]#rm -rf CMakeCache.txt

    [root@x112 mysql-5.7.19]#yum install -y gcc-c++

     

    官网推荐方法:

    To prevent old object files or configuration information from being used, run these commands in the build direcotry on Unix before re-running CMake:(要防止使用旧的对象文件或配置信息,请在Unix上的build目录中运行以下命令,然后重新运行CMake)

    shell> make clean

    shell> rm CMakeCache.txt

    5、安装依赖包

    [root@x112 mysql-5.7.19]#yum install cmake,make,gcc,gcc-c++,bison, ncurses,ncurses-devel  -y

    6、继续编译安装

    [root@x112 mysql-5.7.19]#cmake -DCMAKE_INSTALL_PREFIX=/home/mysql

    -DMYSQL_DATADIR=/home/mysql/data

    -DWITH_MYISAM_STORAGE_ENGINE=1

    -DWITH_INNOBASE_STORAGE_ENGINE=1

    -DWITH_MEMORY_STORAGE_ENGINE=1

    -DMYSQL_TCP_PORT=3306

    -DDEFAULT_CHARSET=utf8

    -DDEFAULT_COLLATION=utf8_general_ci

    -DDOWNLOAD_BOOST=1

    -DWITH_BOOST=/usr/local/boost

    [root@x112 mysql-5.7.19]#make -j 4 && make install -j 4

     

    7、创建数据目录 存放数据文件

    [root@x112 mysql-5.7.19]##mkdir -p /home/mysql/data/

     

    8、修改目录权限

    [root@x112 mysql-5.7.19]## chown -R mysql:mysql /home/mysql

     

    9、创建my.cnf配置文件

    [root@x112 mysql-5.7.19]#cp /home/mysql//support-files/my-default.cnf /etc/my.cnf

    [mysqld]

    basedir=/home/mysql

    datadir=/home/mysql/data

    port=3306

    socket=/home/mysql/mysql.sock

    symbolic-links=0

    character-set-server=utf8

    log-error=/var/log/mysqld.log

    [mysql]

    socket=/home/mysql/mysql.sock    #此项很重要,否则启动客户端连接会提示ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

    10、配置环境变量

    [root@x112 mysql-5.7.19]#echo ‘export PATH=$PATH:/home/mysql/bin/’  >> /etc/profile

    11、初始化mysql数据库

    [root@x112 mysql-5.7.19]#mysqld --initialize  --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data

     

    12、修改mysql密码

    mysql > alter user ‘root’@’localhost’ identified by ‘123456’;

    mysql > flush privileges;

    mysql > q

    13、添加启动脚本

     

    [root@x112 mysql-5.7.19]#cp   support-files/mysql.server   /etc/init.d/mysqld

    [root@x112 mysql-5.7.19]#chkconfig --add  mysqld

    [root@x112 mysql-5.7.19]#chkconfig mysqld on

    [root@x112 mysql-5.7.19]#service mysqld start

  • 相关阅读:
    nginx配置文件中的location中文详解
    binlog、redo log、undo log区别
    OLTP和OLAP的区别
    MPP、SMP、NUMA概念介绍
    NUMA体系结构介绍
    在Linux下判断系统当前是否开启了超线程
    NUMA的取舍与优化设置
    LRU缓存算法
    optimize table
    使用innodb_force_recovery解决MySQL崩溃无法重启问题
  • 原文地址:https://www.cnblogs.com/xiaofeng666/p/13546536.html
Copyright © 2011-2022 走看看