MySQL 8.0.3源码编译安装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ysaicll/article/details/79580783

环境 CentOS 7.4  2G Memory

一、准备阶段

1.下载MySQL源码:git clone https://github.com/ysaicll/mysql-8.0.3-rc.git

2.安装 相应的工具

yum install -y autoconf automake m4 libtool make cmake bison gcc 

3.下载BOOST包并解压至 /usr/local/boost

wget https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz

tar -xzvf -C  /usr/local/

二、添加mysql用户组

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

三、预编译

1.在源码同级目录创建build文件夹

mkdir build

cd build

2.执行cmake

cmake ../mysql-8.0.3-rc -DWITH_DEBUG=1 \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DSYSCONFDIR=/etc \
-DEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all

三、编译安装

make

make install       

四、初始化MySQL

./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

以insecure的方式初始化MySQL密码为空

五、启动MySQL服务器

./bin/mysqld_safe --user=mysql --skip-grant-tables &

--skip-grant-tables 可以不使用密码登录MySQL,避免后续出现的

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

六、利用client连接

 ./bin/mysql -uroot -p --socket=/var/lib/mysql/mysql.sock

需要指定socket的位置

参考配置文档

 ======================end=====================

注意:

1  启动过程中遇到的问题大都是权限问题,需要根据提示赋予相应的权限

2  8.0的support-file中没有my.cnf,但是如果/etc/my.cnf存在,MySQL依旧会读取

3  make过程中可能出现的问题

    make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] error 4

    make[1]: *** [sql/CMakeFiles/sql.dir/all] error 2
    原因:内存不足,添加swap分区
展开阅读全文

没有更多推荐了,返回首页