mysql-5.7.25 源码 安装

编译

export INSTALL_PREFIX="/data/services"
export MYSQL_INSTALL_PATH="${INSTALL_PREFIX}/mysql-5.7.25" tar -zxf mysql-5.7.25.tar.gz
cd mysql-5.7.25
mkdir compile_dir // 避免污染源码
cd compile_dir cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=${MYSQL_INSTALL_PATH} \
-DSYSCONFDIR=${MYSQL_INSTALL_PATH}/etc \
-DMYSQLX_UNIX_ADDR=${MYSQL_INSTALL_PATH}/tmp/mysqlx.sock \
-DMYSQL_UNIX_ADDR=${MYSQL_INSTALL_PATH}/tmp/mysql.sock \
-DSYSTEMD_PID_DIR=${MYSQL_INSTALL_PATH}/var/run/mysqld \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=yes \
-DFEATURE_SET=community \
-DCOMPILATION_COMMENT="MySQL Server (GPL)" \
-DWITH_DEBUG=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLE_DTRACE=OFF \
-DWITH_BOOST=${INSTALL_PREFIX}/boost_1_59_0

另外一些配置项

-DBUILD_CONFIG=mysql_release \
-DINSTALL_LAYOUT=STANDALONE \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_ZLIB=system \
-DWITH_PAM=ON \
-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \
-DWITH_EDITLINE=bundled \

配置

以下操作都是 root 身份

groupadd mysql
useradd -g mysql -s /sbin/nologin mysql mkdir -p /data/services/mysql-5.7.25/etc
mkdir -p /data/services/mysql-5.7.25/tmp
mkdir -p /data/services/mysql-5.7.25/data touch /data/services/mysql-5.7.25/etc/my.cnf
touch /data/services/mysql-5.7.25/etc/mysql.log chown -R mysql:mysql /data/services/mysql-5.7.25/

修改 my.cnf

[mysqld]
basedir = /data/services/mysql-5.7.25
datadir = /data/services/mysql-5.7.25/data
bind-address = 10.0.0.2
port = 3306
user = mysql
#server_id = 92
socket = /data/services/mysql-5.7.25/tmp/mysql.sock [mysqld_safe]
log-error = /data/services/mysql-5.7.25/tmp/mysql.log
pid-file = /data/services/mysql-5.7.25/tmp/mysql.pid

初始化

./bin/mysqld --initialize --user=mysql

2019-04-03T06:46:37.665900Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-04-03T06:46:38.075279Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-04-03T06:46:38.134274Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-04-03T06:46:38.190177Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 3af65f7b-55dc-11e9-adb0-b496913174e8.
2019-04-03T06:46:38.190498Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-04-03T06:46:38.646217Z 0 [Warning] CA certificate ca.pem is self signed.
2019-04-03T06:46:38.690755Z 1 [Note] A temporary password is generated for root@localhost: axb2A2gj8Edf

启动

cp ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld 修改 vi /etc/init.d/mysqld basedir=xxx
datadir=xxx chkconfig mysqld on
service mysqld start

连接 & 修改密码

./bin/mysql -uroot -p

alter user 'root'@'localhost' identified by 'root123';

注意

5.7 开始初始化密码,有密码强度校验,validate_password_policy 有以下取值:

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数:

set global validate_password_policy=0;
set global validate_password_length=1;

mysql-5.7.25 源码 安装的更多相关文章

  1. MySQL学习之路 一 : MySQL 5.7.19 源码安装

    MySQL 5.7.19 源码安装 查看系统: # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 安装依赖包 # yum - ...

  2. mysql 在cento下源码安装

    虚拟机改为网络地址转换 (NAT) service network restartping www.baidu.com rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm ...

  3. 数据库的硬迁移和mysql 5.5.38源码安装

    场景:一台服务器出现了故障,需要把数据库迁移到另一台服务器上,由于数据效大,直接压缩数库的数据目录(在数据库DOWN的情况下)数据库版本mysql 5.5.38安装方式:源码安装思路:在另一台服务器上 ...

  4. LNMP架构下的nginx、mysql、php的源码安装

    一.LNMP的介绍 LNMP就是Linux+Nginx+Mysql+Php这种网站服务架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统,常见版本有:centos.ubun ...

  5. mysql 5.7.18 源码安装笔记

    之所以贴出这样一篇笔记呢?主要是因为很久之前,源码安装MySQL的时候,碰到了太多太多的坎坷. 如果你有兴趣进行源码安装,那么请不要以这篇文章为标准,因为每个人的及其环境等其他因素还是差距比较大的. ...

  6. linux应用之Lamp(apache+mysql+php)的源码安装(centos)

    Linux+Apache+Mysql+Php源码安装 一.安装环境: 系统:Centos6.5x64 Apache: httpd-2.4.10.tar.gz Mysql: mysql-5.6.20-l ...

  7. MySQL 5.6.26源码安装

    5.6.26源码安装包:http://pan.baidu.com/s/1kUl44WRcmake安装包链接:http://pan.baidu.com/s/1c0LuwJA 操作系统版本:CentOS ...

  8. mysql 5.7.11 源码安装

    mysql5.711安装 1.安装boost包下载地址http://sourceforge.net/projects/boost/files/boost/ 2.解压boost_1_59_0.tar.g ...

  9. mysql++ 3.2.3 源码安装

    https://tangentsoft.com/mysqlpp/home 下载 wget https://tangentsoft.com/mysqlpp/releases/mysql++-3.2.3. ...

随机推荐

  1. PHP开发API接口签名及验证

    <?php // 设置一个密钥(secret),只有发送方,和接收方知道 /*----发送方和接收方- start ----*/ $secret = "28c8edde3d61a041 ...

  2. Angular组件——投影

    运行时动态改变组件模版的内容.没路由那么复杂,只是一段html,没有业务逻辑. ngContent指令将父组件模版上的任意片段投影到子组件上. 一.简单例子 1.子组件中使用<ng-conten ...

  3. 2.使用RNN做诗歌生成

    诗歌生成比分类问题要稍微麻烦一些,而且第一次使用RNN做文本方面的问题,还是有很多概念性的东西~~~ 数据下载: 链接:https://pan.baidu.com/s/1uCDup7U5rGuIlIb ...

  4. python基础篇_005_迭代器和生成器

    Python迭代器和生成器 1.迭代器 迭代:可以将某个数据集内的数据“一个挨着一个的取出来” for i in range(1, 10, 2): # in 后面的对象必须是一个可迭代的 print( ...

  5. rem实现移动端自适应页面

    一.把px转换成rem方案 1.cssrem插件 2.css预处理器 3.rem-unit插件 4.px2rem插件 rem就是相对于根元素的font-size来做计算,设置好根结点字体大小,子节点用 ...

  6. 4. Spring 如何通过 XML 文件配置Bean,以及如何获取Bean

    在 Spring 容器内拼凑 bean 叫做装配.装配 bean 的时候,你是在告诉容器,需要哪些 bean ,以及容器如何使用依赖注入将它们配合在一起. 理论上,bean 装配的信息可以从任何资源获 ...

  7. Java虚拟机-对象的创建和访问

    一.对象的创建: 创建对象在java上面是很简单的,使用new关键字就可以了,但是其实在虚拟机中,java对象的创建是一个复杂的过程. 当java虚拟机遇到一个new的指令的时候,对象创建的程序正式启 ...

  8. Codechef August Challenge 2018 : Lonely Cycles

    传送门 几波树形dp就行了. #include<cstdio> #include<cstring> #include<algorithm> #define MN 5 ...

  9. Node.js_express_route 路由

    route 路由   (kiss my ass ヾ(゚∀゚ゞ) 请求方式        get / post /  put / delete____查 / 增 / 改 / 删 路由路径         ...

  10. vue_v-for_遍历数组_遍历对象

    1. v-for 遍历数组 html <div id="test"> <ul> <li v-for="(p, index) in perso ...