一.环境

ubuntu18.10(CentOS7由于gcc版本过低已经无法通过编译)

二.准备工作

1.安装依赖

apt-get install -y gcc g++ cmake build-essential bison libncurses5-dev openssl libssl-dev

2.下载源码包

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.15.tar.gz (此版本带有boost)

3.创建mysql用户

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

4.创建安装目录和数据目录

mkdir -p /usr/local/mysql
mkdir -p /data/mysql

三.安装MySQL8.0.15

1.解压源码包

tar -zxvf mysql-boost-8.0.15.tar.gz -C /usr/local/src

2.编译&安装

cd /usr/local/src/mysql-8.0.15
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/src/mysql-8.0.15/boost -DFORCE_INSOURCE_BUILD=1
make && make install

3.配置my.cnf文件

文件参数很多,这里就不一一列举
vim /etc/my.cnf

[mysqld]
server-id=1
port=3306
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
max_allowed_packet=1G
net_read_timeout=300
net_write_timeout=600

[client]
socket=/data/mysql/mysql.sock

##请根据实际情况添加参数

4.目录权限修改

chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysql
chmod 755 /usr/local/mysql -R
chmod 755 /data/mysql -R

5.初始化

cd /usr/local/mysql

bin/mysqld --initialize --user=mysql --datadir=/data/mysql/
bin/mysql_ssl_rsa_setup

6.启动mysql

bin/mysqld_safe --user=mysql &

7.修改账号密码

bin/mysql -uroot -p

mysql> alter user 'root'@'localhost' identified by "123456";

mysql> show databases;

+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)

##添加远程连接账号

mysql> create user root@'%' identified by '123456';

    Query OK, 0 rows affected (0.08 sec)

mysql> grant all privileges on *.* to root@'%';

    Query OK, 0 rows affected (0.04 sec)

mysql> flush privileges;

    Query OK, 0 rows affected (0.01 sec)

8.创建软链接(非必要)

ln -s /usr/local/mysql/bin/* /usr/local/bin/

mysql -h 127.0.0.1 -P 3306 -uroot -p123456 -e "select version();"

    mysql: [Warning] Using a password on the command line interface can be insecure.
    +-----------+
    | version() |
    +-----------+
    | 8.0.15 |
    +-----------+

9.添加到启动(非必要)

cp support-files/mysql.server /etc/init.d/mysqld
/lib/systemd/systemd-sysv-install enable mysqld

MySQL8——源码安装的更多相关文章

  1. Linux 6.8 源码安装MySQL8.0

    搭建环境说明: 系统版本:Red Hat Enterprise Linux Server release 6.8 (Santiago) 内核版本:Linux 2.6.32-642.el6.x86_64 ...

  2. Docker源码安装附内网镜像安装演示

    Docker源码安装附内网镜像安装演示 系统版本要求 当前系统版本:CentOS Linux release 7.9.2009 (Core) 内核版本:3.10.0-1160.el7.x86_64 注 ...

  3. mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法

    Mono 3.4修复了很多bug,继续加强稳定性和性能(其实Mono 3.2.8 已经很稳定,性能也很好了),但是从http://download.mono-project.com/sources/m ...

  4. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  5. 搭建LNAMP环境(二)- 源码安装Nginx1.10

    上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...

  6. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

  7. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  8. salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

  9. 搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展

    上一篇:搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展 一.安装MongoDB 1.创建mongodb用户组和用户 groupadd mongodb useradd -r -g ...

随机推荐

  1. GUI编程(Tkinter) 笔记分享

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  2. 干货:.net core实现读取自定义配置文件,有源代码哦

    看好多人不懂在.NET CORE中如何读取配置文件,我这里分了两篇,上一篇介绍了怎样通过appsettings.json配置读取文件信息.这一篇教大家自定义配置文件: 1.在项目下创建配置文件 { & ...

  3. [考试反思]0801NOIP模拟测试11

    8月开门红. 放假回来果然像是神志不清一样. 但还是要接受这个事实. 嗯,说好听点,并列rank#7. 说难听点,垃圾rank#18. 都不用粘人名就知道我是哪一个吧... 因为图片不能太长,所以就不 ...

  4. python之装饰器的概念

    装饰器对于程序来说虽然不是必要的,但有时候却可以提高效率,也可以保证程序的安全. 说装饰器之前需要掌握闭包,前面一篇文章已经介绍过,这里不再重复. 那么,装饰器到底是什么东西呢?看下面这个例子 首先定 ...

  5. SpringBoot项目热启动

    一.添加POM依赖 <!-- 热部署模块 --> <dependency> <groupId>org.springframework.boot</groupI ...

  6. m102 SE赛

    这次考试考完试正在刷提交记录的时候,到我这突然oj卡了一下,然后卡了大约10s,再刷出来就发现:

  7. 「CF52C」Circular RMQ

    更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description You are given circular array \(a_0, a_ ...

  8. MySQL系列:走进数据库,相关概念你都明白吗?

    数据库,一个我们常常提到的名词,但是你有没有想过,它到底是什么意思呢,而我们常说的 MySQL.Oracle 等又到底指什么呢? 数据库 数据库(DataBase),简称 DB,是数据库是存储数据的集 ...

  9. C/C++企业链表的实现

    首先 先介绍企业链表 和Linux内核链表 和 之前我发的一篇单项链表的区别 结构体变量名是结构体的首地址吗? 这个问题会在待会链表实现中体现!! 答案:有些编译器 支持用结构体变量名做地址的方式但一 ...

  10. 理解clientWidth,offsetWidth,clientLeft,offsetLeft,clientX,offsetX,pageX,screenX

    1. clientWidth:表示元素的内部宽度,以像素计.该属性包括内边距,但不包括垂直滚动条(如果有).边框和外边距.(clientWidth = width + padding) 2. offs ...