• 编译安装


    编译安装

    数据库官网下载地址 https://downloads.mysql.com/archives/community/

    1.源码安装数据库(自定义目录安装)

    1)上传或下载代码包

    [root@db01 ~]# rz mysql-5.6.46.tar.gz
    

    2)安装依赖

    [root@db01 ~]# yum install -y ncurses-devel libaio-devel gcc gcc-c++ glibc cmake autoconf openssl openssl-devel
    

    3)解压

    [root@db01 ~]# tar xf mysql-5.6.46.tar.gz
    

    4)创建目录

    [root@db01 ~]# mkdir /service # 安装在别的目录创建,我是在习惯在/usr/local下,所以这个忽略
    

    5)生成cmake

    [root@db01 ~]# cd mysql-5.6.46/
    [root@db01 ~]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.34 
    -DMYSQL_DATADIR=/usr/local/mysql-5.7.34/data 
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 
    -DDEFAULT_CHARSET=utf8mb4 
    -DDEFAULT_COLLATION=utf8mb4_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=system 
    -DENABLED_LOCAL_INFILE=1 
    -DWITH_EMBEDDED_SERVER=1 
    -DENABLE_DOWNLOADS=1 
    -DWITH_DEBUG=0 
    
    
    #程序存放位置
    cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql-5.6.46 
    #数据存放位置
    -DMYSQL_DATADIR=/service/mysql-5.6.46/data 
    #socket文件存放位置
    -DMYSQL_UNIX_ADDR=/service/mysql-5.6.46/tmp/mysql.sock 
    #使用utf8字符集
    -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 
    #启用zlib库支持(zib、gzib相关)
    -DWITH_ZLIB=bundled 
    #启用SSL库支持(安全套接层)
    -DWITH_SSL=bundled 
    #启用本地数据导入支持
    -DENABLED_LOCAL_INFILE=1 
    #编译嵌入式服务器支持
    -DWITH_EMBEDDED_SERVER=1 
    # mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
    -DENABLE_DOWNLOADS=1 
    #禁用debug(默认为禁用)
    -DWITH_DEBUG=0
    #编译
    
    
    # 报错boost
    # 解决办法是:
    1.在/usr/local下创建一个名为boost的文件夹
    mkdir -p /usr/local/boost
    
    2.进入这个新创建的文件夹然后下载最新的boost
    wget http://www.sourceforge.net/projects/boost/files/boost/1.74.0/boost_1_74_0.tar.gz
    

    5)编译 make

    [root@db01 mysql-5.6.46]# make
    # 这里他妈的别指定-j,谁用谁报错
    

    6)安装 make install

    [root@db01 mysql-5.6.46]# make install
    

    7)做软连接

    [root@db01 ~]# ln -s /service/mysql-5.6.46 /service/mysql
    

    8)创建数据库用户

    [root@db01 ~]# useradd mysql -s /sbin/nologin -M
    

    9)拷贝配置文件和启动文件

    #1.进入配置文件和脚本的目录
    [root@db01 ~]# cd /service/mysql/support-files/
    
    #2.拷贝配置文件
    [root@db01 support-files]# cp my-default.cnf /etc/my.cnf
    

    10)初始化数据库

    #1.进入初始化目录
    [root@db01 support-files]# cd /service/mysql/scripts/
    
    #2.执行初始化命令
    [root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/service/mysql --datadir=/service/mysql/data
    

    11)配置system管理MySQL服务

    #1.配置system管理MySQL
    [root@db01 ~]# vim /usr/lib/systemd/system/mysql.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/service/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000
    
    #2.重新加载启动文件列表
    [root@db01 ~]# systemctl daemon-reload
    

    12)创建socket文件目录(二进制安装没有)

    #先创建tmp目录
    [root@db01 ~]# mkdir /service/mysql/tmp
    

    13)授权数据库目录

    [root@db01 ~]# chown -R mysql.mysql /service/mysql
    [root@db01 ~]# chown -R mysql.mysql /service/mysql-5.6.46
    

    14)system管理启动MySQL

    [root@db01 ~]# systemctl start mysql
    [root@db01 ~]# ps -ef | grep [m]ysql
    mysql     23509      1  3 22:36 ?        00:00:01 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    [root@db01 ~]# netstat -lntp | grep 3306
    tcp6       0      0 :::3306                 :::*                    LISTEN      23509/mysqld
    

    15)配置环境变量直接使用mysql

    [root@db01 ~]# vim /etc/profile.d/mysql.sh 
    export PATH=/service/mysql/bin:$PATH
    [root@db01 ~]# source /etc/profile
    

    16)修改root用户密码

    [root@db01 ~]# mysql -u root -p			#默认root用户密码为空,有多种方式重置root密码
    第一种:
    MySQL > SET PASSWORD=PASSWORD('123456');
    Query OK, 0 rows affected (0.00 sec)
    
    第二种:
    MySQL > grant all privileges on *.* to root@'%' identified by 'oldboy';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    注意:两种重置密码方式有区别。
    
  • 相关阅读:
    步入大公司一年及三十而立的一些思考
    let和const
    简明学习webpack
    npm&&yarn和package.json
    基于jQuery.i18n.properties插件实现前端页面国际化
    Sequence Model
    系统性整理项目:第一篇(续篇)-osm存入PostgreSQL+PostGIS并构建路网表结构
    系统性整理项目:第一篇(环境+数据)
    window下源码编译mmcv-full==1.2.1
    多边形平滑算法-ChaikinSmoothing
  • 原文地址:https://www.cnblogs.com/zhaokunhao/p/14951988.html
Copyright © 2020-2023  润新知