前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从源代码构建MySQL

从源代码构建MySQL

作者头像
kevinfaith
发布2020-01-21 10:20:41
8170
发布2020-01-21 10:20:41
举报
文章被收录于专栏:kevin-blogkevin-blog
简介:

一直都是用的lnmp一键安装脚本,然后最近想体验一下手动的从源代码安装lnmp的感觉

环境

系统:centos7

准备

安装一下必要的工具:

代码语言:javascript
复制
yum install gcc gcc-c++ ncurses-devel perl  
安装CMake

下载

代码语言:javascript
复制
wget https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz
tar -zxvf cmake-3.7.2.tar.gz
cd cmake-3.7.2
./bootstrap
make
make install
设置MySQL用户和组:
新增mysql用户组
代码语言:javascript
复制
groupadd mysql
新增mysql用户
代码语言:javascript
复制
useradd -s /sbin/nologin -g mysql -M mysql
创建mysql安装文件夹
代码语言:javascript
复制
mkdir -p /home/mysql/{data,log,tmp}
chown -R mysql:mysql /home/mysql/
安装
下载

下载mysql

代码语言:javascript
复制
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz
tar -zxvf mysql-boost-5.7.23.tar.gz
编译
代码语言:javascript
复制
cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/home/mysql-boost-5.7.23/boost

因为我下载的mysql是自带boost库的,所以我直接指定文件路径就好

编译安装
代码语言:javascript
复制
make && make install

等他编译完成 可能需要一会的等待 编译完成后,添加环境变量

代码语言:javascript
复制
echo "export PATH=$PATH:/home/mysql/bin">>/etc/profile
source /etc/profile

接下来配置my.cnf 这里推荐一个自动生成my.cnf文件的网站 http://imysql.com/my-cnf-wizard.html 填写一些必要的信息,然后下载my.cnf文件 复制到/etc/

代码语言:javascript
复制
cp my.cnf /etc/
初始化:
代码语言:javascript
复制
mysqld --defaults-file=/etc/my.cnf --initialize --datadir=/home/mysql/data --user=mysql --basedir=/home/mysql
启动
代码语言:javascript
复制
mysqld_safe --defaults-file=/etc/my.cnf &

最后添加启动项,这样就可以不用一直用mysqld_safe启动mysql了

代码语言:javascript
复制
cp /home/mysql/support-files/mysql.server /etc/init.d/mysqld

然后修改一下mysql的密码

先暂停所有的mysql服务

代码语言:javascript
复制
/etc/init.d/mysqld stop
mysqld_safe --skip-grant-tables --skip-networking &

mysql -p
mysql> update mysql.user set authentication_string=password('password') where user='root' and Host = 'localhos

然后在重新启动mysql,用你上面的密码登录就好了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-01-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介:
  • 环境
  • 准备
    • 安装CMake
      • 设置MySQL用户和组:
        • 新增mysql用户组
          • 新增mysql用户
            • 创建mysql安装文件夹
            • 安装
              • 下载
                • 编译
                  • 编译安装
                    • 初始化:
                      • 启动
                      相关产品与服务
                      云数据库 SQL Server
                      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档