MySQL源码安装

在Linux源码安装Mysql,首先需要安装C++的编译环境,本文假定您的Linux系统已经安装了C++编译环境,并且使用非root账号进行源码安装Mysql。为了方便起见,将所需软件都保存在云盘,您可以方便下载

安装Cmake工具

Cmake工具云盘下载地址 https://pan.baidu.com/s/1hMvLLsb3xFPubP5eWbQfPg

下载cmake-3.5.2.tar.gz到 /opt/apps/soft目录

$>cd /opt/app/soft
$>tar zxvf cmake-3.5.2.tar.gz 解压cmake
$>cd cmake-3.5.2
$>./bootstrap --prefix=/opt/apps/cmake 如果本机没有/opt/apps/cmake,请新建
$>gmake
$>gmake install 编译安装过程大约20分钟

$>cd /opt/apps/cmake/bin
$>./cmake --version
cmake version 3.5.2

cmake安装成功

安装Mysql

下载 boost_1_59_0.tar.gz https://pan.baidu.com/s/175bETvJhbMSUJMK4QaFHUg

下载 mysql-5.7.9.tar.gz
https://pan.baidu.com/s/1JInQlu8ASRhvr9Yi0WR6gQ

将boost_1_59_0.tar.gz 下载到/opt/apps/soft/mysql目录下
将mysql-5.7.9.tar.gz 下载到/opt/apps/soft/mysql目录下

解压boost_1_59_0.tar.gz
$>cd /opt/apps/soft/mysql
$>tar -zxvf boost_1_59_0.tar.gz
在/opt/apps/soft/mysql目录下生成boost_1_59_0目录

解压mysql-5.7.9.tar.gz
$>cd /opt/apps/soft/mysql
$>tar -zxvf mysql-5.7.9.tar.gz
在/opt/apps/soft/mysql目录下生成mysql-5.7.9目录

创建Mysql数据文件目录
$>mkdir -p /opt/data/mysql
将当前目录转移到mysql-5.7.9
$>cd /opt/apps/soft/mysql/mysql-5.7.9/
使用cmake工具编译Mysql
$>/opt/apps/cmake/bin/cmake . -DCMAKE_INSTALL_PREFIX=/opt/apps/mysql -DMYSQL_DATADIR=/opt/data/mysql -DWITH_BOOST=…/boost_1_59_0 -DSYSCONFDIR=/opt/apps/etc

/opt/apps/cmake/bin/cmake . -DCMAKE_INSTALL_PREFIX=/opt/apps/mysql -DMYSQL_DATADIR=/opt/data/mysql -DWITH_BOOST=../boost_1_59_0 -DSYSCONFDIR=/opt/apps/etc

/opt/apps/etc是Mysql配置文件所在位置,如果此目录没有请创建

这个命令可以执行,还有一个参数更全的,没有尝试过

/opt/apps/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/opt/apps/mysql \
 -DMYSQL_DATADIR=/opt/data/mysql \
 -DWITH_BOOST=../boost_1_59_0 \
 -DSYSCONFDIR=/opt/apps/etc \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DWITH_PARTITION_STORAGE_ENGINE=1 \
 -DWITH_FEDERATED_STORAGE_ENGINE=1 \
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
 -DWITH_MYISAM_STORAGE_ENGINE=1 \
 -DENABLED_LOCAL_INFILE=1 \
 -DENABLE_DTRACE=0 \
 -DDEFAULT_CHARSET=utf8mb4 \
 -DDEFAULT_COLLATION=utf8mb4_general_ci \
 -DWITH_EMBEDDED_SERVER=1 \
 -DWITH_SYSTEMD=1

接下来执行
$>make
$>make install

总共编译安装时间大概1小时

编译安装完成后在目录
/opt/apps/mysql
在这里插入图片描述
初始化数据库

$>/opt/apps/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/apps/mysql --datadir=/opt/data/mysql
启动Mysql
$>/opt/apps/mysql/bin/mysqld

设置Mysql密码

$>/opt/apps/mysql/bin/mysqladmin -u root password ‘root’

连接数据库
$>/opt/apps/mysql/bin/mysql -uroot -proot

创建数据库

Mysql>create database test character set utf8;

Mysql配置文件

在/opt/apps/mysql目录下新建my.cnf文件

[client]
port = 3306
socket = /opt/apps/mysql/mysql.sock
default-character-set = utf8

[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
init-connect ='SET NAMES utf8'
max_allowed_packet = 64M
bind-address = 127.0.0.1
port = 3306
datadir=/opt/data/mysql
socket = /opt/apps/mysql/mysql.sock
innodb_file_per_table=1
lower_case_table_names=1 #表名,1不区分大小写,0表示区分
innodb_buffer_pool_size = 4G

[mysqld_safe]
timezone = '+0:00'

设置启动脚本

非root用户不可以改写/etc目录下的文件,需要root用户
cp /opt/apps/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl enable mysqld

非root用户也可以自定义启动脚本startmysql.sh

#!/bin/bash

mysqld  --init-file=/opt/apps/mysql/my.cnf  &

启动脚本

#!/bin/bash

/opt/apps/mysql/bin/mysqld --bind-address=0.0.0.0 --port=3306 --lower-case-table-names=1 --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值