源码获取
# 参考地址 https://dev.mysql.com/doc/refman/8.0/en/installing-development-tree.html
# 拉取源码
git clone https://github.com/mysql/mysql-server.git
# 切换目录
cd mysql-server
# 查看分支
git branch -r
# 切换分支
git checkout 8.0
# 再次拉取最新代码
git pull
安装GCC
# 安装scl
yum -y install centos-release-scl
# 安装gcc7
yum -y install devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils
# 启用gcc7,替换系统中原gcc版本,如果需永久有效需要修改profile
# echo "source /opt/rh/devtoolset-7/enable" >>/etc/profile
scl enable devtoolset-7 bash
安装CMake(依赖gcc gcc++)
# 获取安装源
wget https://github.com/Kitware/CMake/releases/download/v3.19.0/cmake-3.19.0.tar.gz
# 解压安装源
tar -xzf cmake-3.19.0.tar.gz
# 进入安装目录
cd cmake-3.19.0
# 配置编译属性
./bootstrap --prefix=/usr --datadir=share/cmake --docdir=doc/cmake && make
# 安装
make install
安装bison
yum install -y bison
设置编译文件
# 变量地址:https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html
cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_DEBUG=1 -DWITH_UNIT_TESTS=off -DFORCE_INSOURCE_BUILD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/mysql-boost
cmake编译
# 编译
make
# 安装
maek install
创建mysql用户及用户组
# 创建用户组
groupadd mysql
# 创建用户
useradd -s /sbin/nologin -M -g mysql mysql
修改配置信息
# vi /etc/my.cnf 新增
[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
# 完整信息如下
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
启动mysql
# 第一次启动可以添加--initialize参数初始化,会生成root密码
bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
# 后续启动需要删除--inittialize参数
bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql &
连接mysql
# 使用启动时生成的root密码登录数据库
./mysql -h localhost -uroot -p
# 在执行其他操作前需要先修改root初始化密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY "123456";
操作mysql验证
# 展示数据库, 如果展示正常则表示成功
mysql> show databases;
安装gdb用于调试
# 安装gdb调试工具
yum install -y gdb
# 安装cgdb调试工具
# git clone git://github.com/cgdb/cgdb.git
# cd cgdb
# ./autogen.sh
# ./configure --prefix=/usr/local
# make
# sudo make install
网友评论