• 编译安装和二进制安装mysql


    二进制安装mysql-5.6.46

    mysql二进制安装,已经编译成二进制了,只需要做一些配置即可
    
    [root@localhost ~]$ yum install autoconf libaio -y
    [root@localhost ~]$ useradd -r -s /sbin/nologin -u 987 mysql             #创建mysql用户
    [root@localhost ~]$ mkdir /data/mysql
    [root@localhost ~]$ chown mysql:mysql /data/mysql
    [root@localhost ~]$ tar xvf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz -C /usr/local          #指定解压路径
    [root@localhost ~]$ cd /usr/local/
    [root@localhost local]$ ln -s mysql-5.6.46-linux-glibc2.12-x86_64 mysql      #二进制安装是编译过的,所以解压的路径必须是编译的路径;默认编译路径是/usr/local/mysql,所以对mysql解压包创建个软链接叫mysql
    [root@localhost local]$ chown -R root:root mysql/      #递归修改解压包的所有者和所属组
    [root@localhost local]$ mkdir /etc/mysql
    [root@localhost local]$ cp support-files/my-default.cnf /etc/mysql/my.cnf        #复制mysql配置文件到指定目录;mysql配置文件可以放在多个目录;如:/etc/my.cnf、/etc/mysql/my.cnf等
    [root@localhost local]$ vim /etc/mysql/my.cnf
    [client]
     port = 3306
     socket = /tmp/mysql.sock
    
    [mysqld]
     datadir = /data/mysql        #指定数据库数据存放路径
     port = 3306
     socket = /tmp/mysql.sock
     innodb_file_per_table = on   #设置存储引擎
     skip_name_resolve = on       #关闭DNS反向解析
     skip-external-locking
    [root@localhost local]$ cd /usr/local/mysql
    [root@localhost mysql]$ scripts/mysql_install_db --datadir=/data/mysql --user=mysql        #执行生成初始数据库的脚本,指定数据库文件所有者为mysql
    [root@localhost mysql]$ cp support-files/mysql.server /etc/init.d/mysqld      #复制启动脚本到指定目录;服务的启动脚本里面一般有chkconfig和description两行标识
    [root@localhost mysql]$ chkconfig --add mysqld        #把mysqld脚本加到开机启动列表里
    [root@localhost mysql]$ echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh       #设置PATH路径
    [root@localhost mysql]$ . /etc/profile.d/mysql.sh       #立即生效
    [root@localhost mysql]$ mkdir /var/log/mariadb
    [root@localhost mysql]$ touch /var/log/mariadb/mariadb.log
    [root@localhost mysql]$ service mysqld start
    [root@localhost mysql]$ mysql_secure_installation       #执行安全加固脚本 
    

    编译安装mysql-5.7.28

    [root@localhost ~]$ yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel -y
    [root@localhost ~]$ useradd -s /sbin/nologin -r -u 987 mysql
    [root@localhost ~]$ mkdir /data/mysql      #创建数据库数据存放目录
    [root@localhost ~]$ chown mysql:mysql /data/mysql
    [root@localhost ~]$ tar xf mysql-5.7.28.tar.gz -C /usr/local/src/
    [root@localhost ~]$ tar xf boost_1_59_0.tar.gz -C /usr/local/src      #编译安装mysql-5.7.28需要依赖boost_1_59_0这个包,需要提前下好
    [root@localhost ~]$ cd /usr/local/src/mysql-5.7.28
    [root@centos7 mysql-5.7.28]# cmake .          #编译mysql没有configure脚本,需要使用cmake,指定参数,生成Makefile文件
    -DCMAKE_INSTALL_PREFIX=/app/mysql 
    -DMYSQL_DATADIR=/data/mysql/ 
    -DSYSCONFDIR=/etc/ 
    -DMYSQL_USER=mysql 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITH_PARTITION_STORAGE_ENGINE=1 
    -DWITHOUT_MROONGA_STORAGE_ENGINE=1 
    -DWITH_DEBUG=0 
    -DWITH_READLINE=1 
    -DWITH_SSL=system 
    -DWITH_ZLIB=system 
    -DWITH_LIBWRAP=0 
    -DENABLED_LOCAL_INFILE=1 
    -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DDOWNLOAD_BOOST=1 
    -DWITH_BOOST=/usr/local/src/boost_1_59_0       #指定boost所在目录
    [root@localhost mysql-5.7.28]$ make && make install
    [root@localhost mysql-5.7.28]$ cd /app/mysql/
    [root@localhost mysql]$ bin/mysqld --initialize --datadir=/data/mysql --user=mysql       #生成初始数据库,在最下面会给一个初始的root口令,需要记下来
    [root@localhost mysql]$ echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh             #添加PATH路径
    [root@localhost mysql]$ . /etc/profile.d/mysql.sh
    [root@localhost mysql]$ cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld              #复制服务启动脚本
    [root@localhost mysql]$ chkconfig --add mysqld              #加入到开机启动列表里
    [root@localhost mysql]$ vim /etc/my.cnf       #编辑配置文件
    [client]
    port=3306
    socket=/data/mysql/mysql.sock
    [mysqld]
    port=3306
    skip-external-locking
    datadir=/data/mysql
    socket=/data/mysql/mysql.sock
    [root@localhost mysql]$ service mysqld start
    [root@localhost mysql]$ mysql_secure_installation -p*nr!%iFl%7>i       #执行安全加固脚本,密码为上面生成初始化数据库系统随机分配的密码
    
    如果在make编译时报错,排查完错误之后,需要先执行rm -f CMakeCache.txt操作,执行完之后再重新进行make编译
  • 相关阅读:
    今日成长笔记2016-11-18
    牛人博客
    c 、c++、java区别
    Java开发中的23种设计模式详解
    JAVA编程规范
    设计及编码质量改进之降低耦合度
    加密
    敏捷开发之Scrum扫盲篇
    RPC
    李洪强iOS开发Swift篇—04_运算符
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/11930693.html
Copyright © 2020-2023  润新知