Ubuntu 18.04 源码编译安装MySQL 5.7.23

一般下载有两种方式,一种是直接apt命令下载,另外就是 指定目录下载。类似于windows下面安装程时,一键安装和自定义安装。这里记录的是指定目录下载。

开始记录。首先打开官网下载页面:传送门,选择MySQL版本。

Ubuntu 18.04 源码编译安装MySQL 5.7.23_第1张图片

有两个下载链接,一个是源码里带boost的一个不带的,5.7更新boost库必须。这里选一个不带的。

Ubuntu 18.04 源码编译安装MySQL 5.7.23_第2张图片

点击No thanks, just start my download.就会下载,或者右键复制地址传送门,粘贴到你想要的地方下载.例如在Ubuntu里Ctrl + Alt + T 打开终端,先sudo su 输入密码,不用每次输入权限命令sudo

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26.tar.gz

Ubuntu 18.04 源码编译安装MySQL 5.7.23_第3张图片

输入LL查看是否有 mysql-5.7.26.tar.gz这个压缩包。

下一步,解压下载下来的压缩包 

tar xzvf mysql-5.7.26.tar.gz 

解压完成,进入目录 

cd mysql-5.7.26

安装依赖

apt install make cmake gcc g++ perl bison libaio-dev libncurses5 libncurses5-dev libnuma-dev

执行

cmake . 

提示如下

返回上一层目录下载boost_1_59源码

wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

解压压缩包

tar xzvf boost_1_59_0.tar.gz 

进入boost_1_59_0目录

cd boost_1_59_0

运行脚本

./bootstrap.sh

显示如下

Ubuntu 18.04 源码编译安装MySQL 5.7.23_第4张图片

安装

./b2 install

大概需要十多分钟,可以歇歇找点事做。安装完成后显示如下:

返回上一层目录并进入MySQL目录

cd mysql-5.7.26

预编译

cmake . -DBUILD_CONFIG=mysql_release -DCPACK_MONOLITHIC_INSTALL=ON -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQLX_TCP_PORT=33060 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DMYSQLX_UNIX_ADDR=/usr/local/mysql/mysqlx.sock -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/usr/local/mysql/etc -DENABLE_DOWNLOADS=ON -DWITH_BOOST=system

预编译完成后看看是否有错误

编译,时间有点久。

make -j4

安装

make install

创建用户组和用户

groupadd mysql
useradd -g mysql mysql

设置目录权限

cd /usr/local/mysql
chown -R mysql:mysql ./
chgrp -R mysql .

初始化MySQL,并生成root密码

bin/mysqld --initialize --user=mysql

随机密码如下, 保存一下,后面进入MySQL要用到。

 

开启ssl功能

bin/mysql_ssl_rsa_setup

测试启动

bin/mysqld_safe --user=mysql

 

启动MySQL

support-files/mysql.server start
bin/mysql -u root -p

 输入上面生成的初始密码,进入MySQL

Ubuntu 18.04 源码编译安装MySQL 5.7.23_第5张图片

 修改MySQL密码

alter user 'root'@'localhost' identified by 'root';

修改成功! 

 停止命令

support-files/mysql.server stop;

将MySQL服务放在 /etc/init.d 目录下

cp support-files/mysql.server /etc/init.d/mysql.server

service控制mysql服务

service mysql.server start|stop|restart|reload|force-reload|status

重启完成

Navicat远程连接虚拟机数据库

你可能感兴趣的:(Ubuntu)