• centos7下源码安装mysql5.7.16


    一、下载源码包
    下载mysql源码包
    http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz
    
    二、安装约定:
    用户名:mysql
    安装目录:/data/mysql
    数据库目录:/data/mysql/data
    
    三、安装准备
    1、添加用户
    > useradd -s /sbin/nologin mysql
    
    2、建立目录
    > mkdir /data/mysql
    
    3、改变目录拥有者和所属者
    > chown -R mysql:mysql /data/mysql
    
    4、安装编辑所需的文件
    > yum install gcc gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel
    
    (*mysql5.7.5以上版本需要安装boost)
    > yum install boost boost-devel
    
    5、解压源码包
    > tar -xf mysql-5.7.16.tar.gz
    
    四、编译安装
    > cd /data/mysql-5.7.16
    > cmake 
    -DMYSQL_USER=mysql 
    -DCMAKE_INSTALL_PREFIX=/data/mysql 
    -DMYSQL_DATADIR=/data/mysql/data 
    -DSYSCONFDIR=/data/mysql 
    -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_MEMORY_STORAGE_ENGINE=1 
    -DINSTALL_PLUGINDIR=plugin 
    -DWITH_READLINE=1 
    -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock 
    -DMYSQL_TCP_PORT=3306 
    -DENABLED_LOCAL_INFILE=1 
    -DWITH_PARTITION_STORAGE_ENGINE=1 
    -DEXTRA_CHARSETS=all 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DDOWNLOAD_BOOST=1 
    -DWITH_BOOST=/usr/local/boost
    
    (*注意,如果出错,需删除CMakeCache.txt,重新运行配置)

    关于上面参数的解释如下:
    #mysql用户名
    -DMYSQL_USER=mysql
    #安装路径
    -DCMAKE_INSTALL_PREFIX=/data/mysql
    #数据文件存放位置
    -DMYSQL_DATADIR=/data/mysql/data
    #my.cnf路径
    -DSYSCONFDIR=/data/mysql
    #支持MyIASM引擎
    -DWITH_MYISAM_STORAGE_ENGINE=1
    #支持InnoDB引擎
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    #支持Memory引擎
    -DWITH_MEMORY_STORAGE_ENGINE=1
    #插件文件及配置路径,注意这里是相对路径,相对于mysql安装路径
    -DINSTALL_PLUGINDIR=plugin
    #快捷键功能(我没用过)
    -DWITH_READLINE=1
    #连接数据库socket路径
    -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
    #端口
    -DMYSQL_TCP_PORT=3306
    #允许从本地导入数据
    -DENABLED_LOCAL_INFILE=1
    #安装支持数据库分区
    -DWITH_PARTITION_STORAGE_ENGINE=1
    #安装所有的字符集
    -DEXTRA_CHARSETS=all
    #默认字符
    -DDEFAULT_CHARSET=utf8
    #校验字符
    -DDEFAULT_COLLATION=utf8_general_ci
    #会自动下载boost
    -DDOWNLOAD_BOOST=1
    #指定boost目录
    -DWITH_BOOST=/usr/local/boost
    
    编译安装
    > make && make install
    
    复制配置文件
    > cp /data/mysql/support-files/my-default.cnf /data/mysql/my.cnf
    
    初始化数据库
    > /data/mysql/bin/mysqld 
    --defaults-file=/data/mysql/my.cnf 
    --initialize 
    --user=mysql 
    --basedir=/data/mysql 
    --datadir=/data/mysql/data 
    
    如果出现如下信息:
    unknown variable 'defaults-file=/data/mysql/my.cnf'
    
    请保证--defaults-file配置选项在最前面。

    如果出现如下信息:
    [ERROR] --initialize specified but the data directory has files in it. Aborting.
    
    请保证的你的datadir目录下为空,如果有文件则删除。

    mysql5.7版本通过--initialize安装会随机生成root密码,请注意保存。
    如果希望生成空密码请使用--initialize-insecure配置。

    修改mysql目录拥有者
    > chown -R mysql:mysql /data/mysql
    

    五、配置mysql配置文件my.cnf
    由于我们在编译安装mysql的时候设置了它的配置文件目录为/data/mysql,所以删掉/etc/my.cnf。
    以免受影响。
    > rm -rf /etc/my.cnf
    > vi /data/mysql/my.cnf
    
    配置如下:
    [client]
    default-character-set = utf8
    port = 3306
    socket = /data/mysql/mysql.sock
    [mysql]
    default-character-set = utf8
    [mysqld]
    skip-name-resolve
    basedir = /data/mysql
    datadir = /data/mysql/data
    port = 3306
    server_id = 10
    socket = /data/mysql/mysql.sock
    character-set-server = utf8
    max_connections = 200
    default-storage-engine = INNODB
    log-bin=mysql-bin
    
    为mysql添加开机启动
    > cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
    > chmod 755 /etc/init.d/mysqld
    > chkconfig --add mysqld
    
    启动mysql服务
    > service mysqld start
    
    为mysql添加环境变量
    > echo "export PATH=/data/mysql/bin/:$PATH" >> /etc/profile
    > source /etc/profile
    
    通过上面保存过的密码登陆mysql来修改root密码
    > mysql -uroot -p
    > set password=password('123456');
    > alter user 'root'@'localhost' password expire never;
    > flush privileges;
    
  • 相关阅读:
    七言丨做个俗人,浪荡一生,干净自由。
    当你无法原谅父母时,那就不要原谅
    node_modules干什么的?
    流的操作(一)视频转音频引发的血案
    OpenGL ES 压缩纹理
    用 .SqlSugar ORM 来实现报表功能 .NET CORE /.NET
    Opencv 播放mp4文件和读取摄像头图以及可能会发生的一些异常问题解决方法
    Vue 前端权限控制的优化改进版
    输入框占位符placeholder
    为DOM节点添加或者删除class
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294554.html
Copyright © 2020-2023  润新知