CentOS7编译安装MySQL8.0
1、下载mysql8.0.16源码包和cmake源码包
cd /usr/local/src
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.16.tar.gz
cname源码包下载地址:https://cmake.org/download/
我这里下载了一个cmake-3.15.0-rc1.tar.gz
注意mysql的源码包一定不要下错了,下错了会报错:does not appear to contain CMakeLists.txt
2、编译安装cmake
2.1、解压cmake并进入目录
tar zxf cmake-3.15.0-rc1.tar.gz
cd cmake-3.15.0-rc1
2.2、配置、编译、安装
./configure --prefix=/usr/local/cmake
make
make install
--prefix 参数是配置cmake的安装目录
2.3、做cmake命令软连接,查看cmake版本
ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
cmake --version
3、编译安装mysql8,在安装之前需要升级GCC(传送阵:升级gcc)
3.1、解压mysql8源码包并进入目录
cd /usr/local/src
tar zxf mysql-boost-8.0.16.tar.gz
cd mysql-8.0.16
3.2、配置、编译、安装(配置编译报错集合)
mkdir bld
cd bld
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DSYSCONFDIR=/etc \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/src/mysql-8.0.16/boost \
-DFORCE_INSOURCE_BUILD=1 \
-DCMAKE_CXX_COMPILER=/usr/local/gcc/bin/g++ \
-DDEFAULT_CHARSET=utf8
make
make install
4、创建数据库用户
useradd -s /sbin/nologin mysql
5、创建数据存放目录并修改权限
mkdir /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
6、修改配置文件(根据自己的情况来配置)
[mysqld]
port=3306
server-id=1
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock [client]
socket=/usr/local/mysql/mysql.sock
7、初始化数据库并安装ssl
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data
/usr/local/mysql/bin/mysql_ssl_rsa_setup
8、复制启动脚本、启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
9、修改mysql密码(忘记密码)
9.1在配置文件中的[mysqld]下加入skip-grant-tables
vim /etc/my.cnf
[mysqld]
skip-grant-tables
9.2重启mysql
/etc/init.d/mysqld restart
9.3登录数据库后,修改密码为空。
mysql
mysql >use mysql;
mysql >update user set authentication_string="" where user='root';
mysql >flush privileges;
mysql > exit;
9.4在配置文件中删除skip-grant-tables并重启mysql
/etc/init.d/mysqld restart
9.5登录mysql,修改密码
mysql -uroot -ppassword
mysql>alter user 'root'@'locahost' identified by 'admin123‘;
mysql>flush provoleges;
mysql>exit;
CentOS7编译安装MySQL8.0的更多相关文章
- 源码编译安装MySQL8.0
源码编译安装MySQL8.0 0.前期准备条件 查看linux的版本 [root@mysql etc]# cat /etc/redhat-release CentOS Linux release 7. ...
- CentOS7离线安装MySQL8.0
CentOS7离线安装MySQL8.0 卸载软件 rpm -e --nodeps 要卸载的软件包 root@jacky zookeeper]# rpm -e --nodeps java-1.6.0-o ...
- centos7下安装mysql8.0.12及设置权限
一.mysql版本介绍 mysql的官网为:https://www.mysql.com/ 在官网上可以看到多个版本,主要版本如下, 1.MySQL Community Server 社区版本,开源免费 ...
- CentOS7编译安装Keepalived2.0.19
实验环境:centos7 节点1:10.15.192.21 节点2:10.15.192.22 vip地址:10.15.192.23 1.下载文件 cd /usr/local/src wget http ...
- Centos7下安装MySQL8.0.23-小白的开始
首先简单介绍一下什么叫MySQL: 数据库简而言之就是存储数据的仓库,为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上.是为了实现一定的目的,按照某种规则组织起来的数据的集合: MySQL ...
- centOs7.6安装 mysql-8.0.27
1.下载mysql 2.连接服务器 3.通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包 4.通过 rpm -e mariadb-libs-5.5.68-1.el ...
- centos7 二进制安装mysql-8.0.19
安装包下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz 1.检 ...
- centos7.5 安装mysql8.0.13
在Linux系统上使用rpm包管理器安装mysql Installing MySQL on Linux Using RPM Packages 环境:CentOS Linux release 7.4.1 ...
- CentOS7.6安装MYSQL8.0
1.一般CentOS默认安装了mariadb,所以先查看是否安装mariadb,如果安装就需要先卸载mariadbrpm -qa|grep mariadbrpm -e mariadb-libs --n ...
随机推荐
- NDK下编译JNI
NDK环境下编译JNI 下载demo.tar.gz然后解压 弄个套路 1.编辑build.sh设置好NDK目录 2.把cpp文件放到code下面 运行sh build.sh即可
- 如何解决excel工作簿保护密码
自己的excel文档设置了“保护工作簿”密码,但是密码又忘记了,怎么办? 如果你会编写代码,那么这个问题非常好解决.Excel内置功能不能解决的事儿,自己编写一段代码或许就可以搞定了. 第一步,大家已 ...
- Vue中的model
v-model语法糖: model: 默认情况下,一个组件上的 v-model 会把 value 用作 prop 且把 input 用作 event, 但是一些输入类型比如单选框和复选框按钮可能想使用 ...
- 如何比较两个txt文件内容的细微差别
如何比较两个txt文件内容的细微差别 https://jingyan.baidu.com/article/19020a0a1dd04a529c284272.html 听语音 | 浏览:3500 | 更 ...
- 8.k8s.认证与访问控制
#K8S认证与访问控制(RBAC) 用户证书创建 #k8s认证 #主要认证 方式 http token.https证书 k8s不提供用户管理,API Server把客户端证书的CN字段作为User,把 ...
- Java之Swing体系——制作自己的登录界面
我们制作登陆界面是简单的图形模式,并不具备其他功能: 这里使用两个库,如下: javax.swing.*; java.awt.*; 构造窗体对象要用到很多类,废话不多,直接代码~ package co ...
- Kotlin-Note
数字在需要一个可空的引用时,会进行装箱操作,数字装箱不一定保留同一性. val a = 1000 println(a === a) // 输出 "true" val boxedA ...
- 深入理解java:1.3. 垃圾收集
Java垃圾收集(Garbage Collection,GC) 某一个时点,一个对象如果有一个以上的引用(Rreference)指向它,那么该对象就为活着的(Live), 否则死亡(Dead),视为垃 ...
- unsigned char bcd串乱码问题解决
unsigned char bcd[13]; ...... string bcdstr; for(int i=0;i < 12;i++) { bcdstr=FormatString(" ...
- HTTP请求状态码为400时的原因
2019-11-30 出现这个请求无效说明请求没有进入后台服务器里 原因: (1)前端提交的字段名称或者字段类型和后台的实体类不一样 或者前端提交的参数跟后台需要的参数个数不一致,导致无法封装 (2) ...