1、安装依赖

yum  -y install wget  cmake gcc gcc-c++ncurses  ncurses-devel  libaio-devel openssl openssl-devel

2、下载安装包

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

3、创建mysql组

groupadd mysql

创建mysql用户

$ useradd -g mysql mysql

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

mkdir  -p /usr/local/mysql

5、解压源码包

tar  -zxvf mysql-boost-8.0.11.tar.gz -C /usr/local

6、编译安装(这里需要一点时间,还需要一定的内存!!我的虚拟机是3个G的内存)

cd  /usr/local/mysql-8.0.11

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/mysql-8.0.11/boost

make  && make install

7、配置my.cnf文件

>/etc/my.cnf

vi  /etc/my.cnf

多次踩坑之后,我的my.cnf内容是

[mysqld]

socket=/tmp/mysql.sock

symbolic-links=0

server-id=1

port=3306

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

default_authentication_plugin=mysql_native_password

[mysqld_safe]

err-log=/var/log/mysqld.log

pid-file=/var/lib/mysql/mysqld.pid

!includedir/etc/my.cnf.d

8、创建目录,并修改权限信息

mkdir  -p /var/run/mysqld

chown  mysql:mysql /var/run/mysqld

mkdir   /var/lib/mysql

mkdir /var/log/mariadb

touch  /var/log/mariadb/mariadb.log

chown  -R mysql:mysql /var/log/mariadb/

chown  -R mysql:mysql /var/lib/mysql/

chown  -R mysql:mysql /usr/local/mysql

chmod  755 /usr/local/mysql -R

9、初始化

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

此处会出现mysql登陆root密码  一定要记住密码

bin/mysql_ssl_rsa_setup

10、启动mysql

scripts/mysqld_safe--user=mysql &

11、使用root用户登录,注意原始密码的位置
bin/mysql  -uroot -p

12、修改密码,设置远程登录,创建数据库实例(这里是mysql里语句操作)

--修改root密码

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

-- 刷新系统权限表

FLUSH PRIVILEGES;

alter user 'root'@'localhost' identified with mysql_native_password by "123456";

-- 刷新系统权限表

FLUSH PRIVILEGES;

alter user 'root'@'localhost' identified with caching_sha2_password by "123456";

-- 刷新系统权限表

FLUSH PRIVILEGES;

--设置远程登陆权限

CREATE USER 'root'@'%' IDENTIFIED BY '123456';

-- 刷新系统权限表

FLUSH PRIVILEGES;

-- 授权

GRANT ALL PRIVILEGES ON *.*  TO 'root'@'localhost' WITH GRANT OPTIO

GRANT select,insert,update,delete,create,drop,index,alter ON *.* TO 'root'@'%' WITH GRANT OPTION;

GRANT show databases,create temporary tables,create view,show view ON *.* TO 'root'@'%' WITH GRANT OPTION;

-- 刷新系统权限表

FLUSH PRIVILEGES;

创建数据库实例TEST

create database TEST DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

13、然后使用navicat或者toad for mysql连接一下,看一下防火墙是否关闭

14、设为开机自动启动

将服务文件拷贝到init.d下,并重命名为mysql

cp  /usr/local/mysql/support-files/mysql.server   /etc/init.d/mysqld

赋予可执行权限

chmod  +x   /etc/init.d/mysqld

添加服务

chkconfig--add mysqld

显示服务列表

chkconfig–list

15、mysql用户下重启mysql服务

root用户下,找到刚才启动的mysql进程

ps  -ef | grep mysqld

切换到mysql用户,启动服务

---------------------
作者:pk972703678
来源:CSDN
原文:https://blog.csdn.net/pk972703678/article/details/80469096
版权声明:本文为博主原创文章,转载请附上博文链接!

msyql8.0编译安装的更多相关文章

  1. CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14

    准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...

  2. centos 7.0 编译安装php 7.0.3

    php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a ...

  3. Valgrind 3.11.0编译安装

    Valgrind 3.11.0编译安装 Valgrind是一款用于内存调试.内存泄漏检测以及性能分析的软件开发工具. Valgrind遵守GNU通用公共许可证条款,是一款自由软件. 到3.3.0版本为 ...

  4. CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法分享

    一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  5. Redis 3.0 编译安装

    Redis 3.0 编译安装 http://www.xuchanggang.cn/archives/991.html

  6. centos 7.0 编译安装php 5.6.7

    编译安装php参考资料 MySQL PHP API http://dev.mysql.com/doc/apis-php/en/index.html nginx + php +mysql 最简单安装 官 ...

  7. centos 7.0 编译安装mysql 5.6.22 再次总结 成功编译安装~ 越来越熟练了~

    查找php.ini文件所在位置 [root@localhost /]# find -name php.ini ./usr/etc/php/etc/php.ini mysql官网的安装说明http:// ...

  8. hadoop2.1.0编译安装教程

    由于现在hadoop2.0还处于beta版本,在apache官方网站上发布的beta版本中只有编译好的32bit可用,如果你直接下载安装在64bit的linux系统的机器上,运行会报一个INFO ut ...

  9. hadoop2.1.0和hadoop2.2.0编译安装教程

    由于现在hadoop2.0还处于beta版本,在apache官方网站上发布的beta版本中只有编译好的32bit可用,如果你直接下载安装在64bit的linux系统的机器上,运行会报一个INFO ut ...

随机推荐

  1. Eclipse的常用设置。

    用惯了VS,再回过去用Eclipse真是一件痛苦的事.so,在这里记录下使用过程中的一些设置以做备忘. 1.代码自动提示 在我们忘记方法名或者想偷懒时,代码自动提示很管用.不过Eclipse默认是输入 ...

  2. Spring Security 解析(一) —— 授权过程

    Spring Security 解析(一) -- 授权过程   在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security .S ...

  3. Java自学-数组 排序

    Java 数组选择法,冒泡法排序 步骤 1 : 选择法排序 选择法排序的思路: 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的 然后再从第二位和剩余的其 ...

  4. iOS之集成GoogleMap定位、搜索注意事项

    简介: 最近花了些时间看了GoogleMap官方文件并集成到国际版app中,网上关于GoogleMap for iOS的讲解相对Android来说少一点,比较有帮助的几乎全是英文文档.下面是我开发过程 ...

  5. 【vue】vue生命周期---精简易懂-----【XUEBIG】

    主要的生命周期函数分类:    - 创建期间的生命周期函数:(只会调用一次)       + beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好 data 和 methods 属 ...

  6. 网络编程之 tcp服务器(一)

    1.创建套接字 2.bind绑定ip和port 作为服务方,ip port 应该是固定的,所以要绑定;客户端一般不绑定 3.listen使套接字变成监听套接字,即变为被动链接 4.accept等待客户 ...

  7. 结对项目(java实现)

    一 .Github项目地址:https://github.com/734635746/MyApp 二.PSP表格 PSP2.1 Personal Software Process Stages 预估耗 ...

  8. vue中使用echart柱状图

    一: <template> <Layout> <Content> <Card :style="{minHeight:'300px'}"&g ...

  9. StringUtils系列之StringUtils.isNotBlank()和StringUtils.isNotBlank()的区别

    /** 1. * StringUtils.isNotBlank(); * 判断参数是否不为空. * 1.如果不为空返回true. * 2.如果为空返回false. * StringUtils.isNo ...

  10. Java Excel报表导出Demo

    /** * 一级权限数据导出 * @return */ @RequestMapping(value = "/getExportData", method = RequestMeth ...