相关限制
关于内存:
- 多线程编译时需要大量的内存
- 比例要保证
1(cpu):1G内存
- 建议使用手动编译,可以控制线程数量
- 基于
ubuntu 20 lts
编写的文档
关于硬盘:
- 源码+编译需要占用 20G 的磁盘
- 多给一点内存
0x1 编译
apt install -y build-essential cmake bison libncurses5-dev libssl-dev pkg-config libaio-dev
## 直接指定下载带boost的源码
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.16.tar.gz
tar xzv -f mysql-boost-8.0.16.tar.gz
cd mysql-8.0.16/
mkdir bld
cd bld
cmake .. -DWITH_BOOST=../boost \
-DBUILD_CONFIG=mysql_release \
-DCPACK_MONOLITHIC_INSTALL=1
## 第一次 尽量多核心
make -j 32
## 第二次 减少核心数量
## make -j 16
make install
## 编译成安装包
## make package
多核心编译方案:
- 多核心编译对内存的需求比较高
- 可以先多核心编译
- 第二次编译时减少线程,编译失败的包
编译时间:
2x e5_2650v2
20G
内存- 手动编译:不到
10分钟
0x2 配置用户
上一步只是把mysql编译出来后进行安装
还需要对用户进行配置才能使用
## 创建mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
## 配置存储文件
cd /usr/local/mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
## 初始化数据库,这一部会生成密码,要记下来
bin/mysqld --initialize --user=mysql
## 生成rsa 证书,使用ssl协议传输指令与结果
bin/mysql_ssl_rsa_setup
## bin/mysqld_safe --user=mysql &
## 安装为服务
cp support-files/mysql.server /etc/init.d/mysql.server
## 配置自动 启动/关闭
ln -s /etc/init.d/mysql.server /etc/rc3.d/S99mysql
ln -s /etc/init.d/mysql.server /etc/rc0.d/K01mysql
/etc/init.d/mysql.server
service mysql.server start
## 第一次登录 强制修改 root密码
bin/mysql -u root -p"prH1;p1ff5RT"
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
0x3 自动登录
- 默认配置文件为
/etc/my.cnf
- 编译安装的 mysql不能本地用户直接登录
- 这里直接将root登陆凭据写道 配置文件里
- 生产环境不建议这么做
cat >> /etc/my.cnf <<EOF
[client]
user = root
password = 123456
port = 3306
EOF