contOS7 源码安装mysql8.0.13

1. 添加MySQL用户

groupadd mysql #添加mysql用户组
useradd -r -g mysql -s /bin/false mysql #添加mysql用户

2. 安装相关的依赖库

sudo yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel openssl-devel

3. 下载MySQL源码

从github上下载mysql的源码
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.13.tar.gz
// 解压
tar -zxf mysql-boost-8.0.13.tar.gz
// 切换到源码目录
cd mysql-8.0.13

4. 配置mysql预编译参数

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DWITH_BOOST=/root/mysql-8.0.13/boost \
-DSYSCONFDIR=/etc \
-DEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all
-DCMAKE_INSTALL_PREFIX:安装路径
-DMYSQL_DATADIR:数据存放目录
-DWITH_BOOST:boost源码路径
-DSYSCONFDIR:my.cnf配置文件目录
-DEFAULT_CHARSET:数据库默认字符编码
-DDEFAULT_COLLATION:默认排序规则
-DENABLED_LOCAL_INFILE:允许从本文件导入数据
-DEXTRA_CHARSETS:安装所有字符集

更多预编译配置参数请参考mysql官方文档说明:
https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html#cmake-general-options

5. 编译并安装

// -j 参数表示根据CPU核数指定编译时的线程数,可以加快编译速度。默认为1个线程编译,经测试单核CPU,1G的内存,编译完需要将近1个小时。
make -j `grep processor /proc/cpuinfo | wc -l`
make install

6. 初始化系统数据库

cd /usr/local/mysql
chown -R mysql:mysql . 
./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
./bin/mysql_ssl_rsa_setup
chown -R root .
chown -R mysql data

7. 配置mysql服务

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld     # 添加到系统服务
chkconfig mysqld on        # 开机启动

8. 启动服务

service mysqld start       # 启动mysql服务
service mysqld stop        # 停止mysql服务
service mysqld restart     # 重新启动mysql服务

9. 设置数据库密码

# 进入mysql 指令界面
/usr/local/mysql/bin/mysql
# 修改 root@localhost 密码
alter user 'root'@'localhost' IDENTIFIED BY 'yourPassword';

10. 配置mysql环境变量

vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile

11. 错误解决

内存空间不足
错误信息
c++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] Error 1
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
make: *** [all] Error 2

解决方案
dd if=/dev/zero of=/swapfile bs=1k count=2048000 --获取要增加的2G的SWAP文件块
mkswap /swapfile     -- 创建SWAP文件
swapon /swapfile     -- 激活SWAP文件
swapon -s            -- 查看SWAP信息是否正确
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab     -- 添加到fstab文件中让系统引导时自动启动
注意, swapfile文件的路径在/var/下
编译完后, 如果不想要交换分区了, 可以删除:
swapoff /swapfile
rm -fr /swapfile
然后
需要删除CMakeCache.txt文件
然后重新cmake 预编译。然后就可以编译通过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值