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

    1、mysql安装步骤

    第一步、安装依赖包

    yum -y install ncurses-devel gcc-* bzip2-*

    安装完依赖

    第二步、升级cmake工具

    wget https://github.com/Kitware/CMake/releases/download/v3.16.0-rc3/cmake-3.16.0-rc3.tar.gz

    解压缩:tar xf cmake-3.13.0-rc2.tar.gz

    解压缩后进入目录文件

    看到有configure文件,配置文件 ./configure

    配置完成后开始编译 make -j4

    编译完成后安装 make install

    第三步、升级boost库文件

    wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.bz2

    这里要注意,boost需要升级1_68_0版本,因为它是对应mysql5的,如果是最新版本只能使用mysql8

    boost是绿色文件,直接解压后拷贝就可以用

    tar xf boost_1_68_0.tar.bz2

    将文件拷贝到/usr/local/boost下

    mv boost_1_68_0 /usr/local/boost

    第四步、安装mysql

    去官网下载mysql

    解压缩后进入文件目录,因为mysql目录中没有configure文件,所以我们需要cmake来配置mysql

    配置命令如下

    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql   指定安装路径
    > -DMYSQL_DATADIR=/usr/local/mysql/data/    指定数据目录
    > -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock   指定sock文件路径
    > -DWITH_INNOBASE_STORAGE_ENGINE=1     安装Innodb引擎
    > -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf-8 -DDEFAULT_COLLATION=utf8_general_ci   安装所有字符集、默认字符集和检验字符
    > -DWITH_DEBUG=0   关闭debug
    > -DWITH_EMBEDDED_SERVER=1  生成一个libmysqld.a(.so)的库,这个库同时集成了mysql服务与客户端API
    > -DDOWNLOAD_BOOST=1 -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost  允许boost下载
    
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data/ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 -DWITH_EMBEDDED_SERVER=1  -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
    

    如果配置中出现错误,想要从新配置的话,必须先把mysql目录下的CMakeCache.txt文件删除掉后再重新配置

    完成配置

    编译 make -j4

    编译过程会比较长,大概十分钟左右,根据你机器配置来看

    安装 make install

    第五部、安装后的操作

    拷贝启动文件

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

    给予文件权限

    chmod 755 /etc/init.d/mysql

    创建一个mysql用户

    useradd -s /sbin/nologin -r mysql

    创建了一个shell为nologin的系统用户

    将/usr/local/mysql目录设置所有者给mysql用户

    chown mysql.mysql /usr/local/mysql/ -R

    mysql下的用户就全部更改了

    创建软连接

    ln -sf /usr/local/mysql/bin/* /usr/bin/
    ln -sf /usr/local/mysql/lib/* /usr/lib/
    ln -sf /usr/local/mysql/libexec/* /usr/local/libexec
    ln -sf /usr/local/mysql/share/man/man1/* /usr/share/man/man1      
    ln -sf /usr/local/mysql/share/man/man8/* /usr/share/man/man8
    

    第六部、修改配置文件

    配置文件在 /etc/my.conf

    vim /etc/my.conf

    [mysqld]
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    socket=/usr/local/mysql/mysql.sock
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    # Settings user and group are ignored when systemd is used.
    # If you need to run mysqld under a different user or group,
    # customize your systemd unit file for mariadb according to the
    # instructions in http://fedoraproject.org/wiki/Systemd
    
    [mysqld_safe]
    log-error=/var/log/mysql.log
    pid-file=/var/run/mysql.pid
    
    #
    # include all files from the config directory
    #
    !includedir /etc/my.cnf.d
    

    第七部、初始化mysql

    初始化命令:

    /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

    初始化以后有一个临时密码需要记录

    第八部、启动mysql并修改密码

    /etc/init.d/mysql start

    启动成功,在3306端口看到了我们的mysql进程

    修改密码:

    mysql_secure_installation

    输入刚刚初始化得到的临时密码,接着再输入新密码,输入完成后根据提示再选择配置参数即可

    mysql -u root -p

    回车后输入密码即可

  • 相关阅读:
    nginx-1.8.1的安装
    ElasticSearch 在3节点集群的启动
    The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files
    sqoop导入导出对mysql再带数据库test能跑通用户自己建立的数据库则不行
    LeetCode 501. Find Mode in Binary Search Tree (找到二叉搜索树的众数)
    LeetCode 437. Path Sum III (路径之和之三)
    LeetCode 404. Sum of Left Leaves (左子叶之和)
    LeetCode 257. Binary Tree Paths (二叉树路径)
    LeetCode Questions List (LeetCode 问题列表)- Java Solutions
    LeetCode 561. Array Partition I (数组分隔之一)
  • 原文地址:https://www.cnblogs.com/aaaajayheng1990/p/11896018.html
Copyright © 2011-2022 走看看