Linux编译安装MySQL__5.7.26记录
系统:centos7.4(3.10内核)
1、查找并清除自带的数据库
# rpm -qa | grep mariadb
# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
2、opt目录下存放源码包
# cd /opt
# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26.tar.gz
3、编译时需要的库
# wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
4、相关依赖
# yum install cmake gcc gcc-c++ ncurses-devel bison zlib libxml openssl automake autoconf make libtool bison-devel libaio-devel
# yum install openssl-devel
5、添加MySQL用户和组(用于启动服务)
# groupadd mysql
# useradd -d /home/myql -g mysql -m mysql
# id mysql
6、新建相关目录,并赋权限给mysql用户
# mkdir /usr/local/mysql
# mkdir /usr/local/mysql/data
# mkdir -p /usr/local/mysql/log
# mkdir -p /usr/local/mysql/run
# mkdir -p /usr/local/mysql/tmp
# chown -R mysql:mysql /usr/local/mysql/ //赋予权限
# cd /usr/local
# ll //用户组、用户为mysql
# cd /usr/local/mysql
# ll //用户组、用户为mysql
# chmod -R 755 /usr/local/mysql/ //修改权限
7、解包
# cd /opt
# tar -zxvf mysql-5.7.26.tar.gz
# tar -zxvf boost_1_59_0.tar.gz
8、编译&安装
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_SSL=yes -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DSYSCONFDIR=/etc -DWITH_READLINE=on -DWITH_BOOST=/opt/boost_1_59_0
# echo $? //显示0说明正常
# make
# echo $? //显示0说明正常
# make install
# echo $? //显示0说明正常
# cd /usr/local/mysql/bin
# touch /usr/local/mysql/log/mysqld.log //新建日志文件
# chown -R mysql:mysql /usr/local/mysql/log/mysqld.log //修改文件权限
# mkdir /etc/mysql
# cd /etc/mysql
# vi my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/run/mysql.sock
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/usr/local/mysql/run/mysqld.pid
# cd /usr/local/mysql/bin
9、初始化
# ./mysqld --defaults-file=/etc/mysql/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
得到临时密码:ubovCIT+Z6ie
10、启动mysqld服务。MySQL 官方推荐使用 mysqld_safe 启动 mysqld 服务。mysqld_safe 增加了一些安全特性,比如它会在遇到错误时重启 mysqld 服务,并把运行时信息记录到 error log 中。
# ./mysqld_safe --defaults-file=/etc/mysql/my.cnf --user=mysql
新开ssh,查看进程
# ps -ef | grep mysqld #有进程说明服务正常
# kill -9 mysqld_safe进程号
11、添加服务
# cd /usr/local/mysql
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list mysqld
12、添加mysql的环境变量
# vim /etc/profile
最后一行添加
export PATH=/usr/local/mysql/bin:$PATH
# source /etc/profile
13、启动服务
service mysqld start //提示Starting MySQL. SUCCESS!
14、登录MySQL,密码用初始化时生成的临时密码
mysql -uroot -p密码
执行sql会报错,需要修改密码
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> set PASSWORD=PASSWORD('xxxxxxxx');
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> alter user 'root'@'localhost' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
退出
mysql>exit
重新登录,再执行mysql> show databases;
远程访问数据库
mysql>grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql>flush privileges;
15、停止防火墙
systemctl stop firewalld.service
开机禁止防火墙
systemctl disable firewalld.service
Linux编译安装MySQL__5.7.26记录的更多相关文章
- 【转】linux 编译安装nginx,配置自启动脚本
linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...
- Ubuntu14.04编译安装mysql5.6.26
Ubuntu14.04编译安装mysql5.6.26 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libncurses5-d ...
- linux 编译安装nginx,配置自启动脚本
本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...
- Linux 编译安装、压缩打包、定时任务
目录 Linux 编译安装 知识储备: wget命令 编译安装 Linux 压缩打包 gzip压缩 bzip2压缩 tar打包 Linux 定时任务 相关文件及操作 Linux 编译安装 编译安装就是 ...
- linux 编译安装PHP模块
本文移到:http://www.phpgay.com/Article/detail/classid/6/id/54.html linux 编译安装PHP模块 1.首先你要有你服务器上安装的PHP的版 ...
- [CentOS_7.4]Linux编译安装ffmpeg
[CentOS_7.4]Linux编译安装ffmpeg 安装过程: 下载安装源,配置,编译,安装,设置环境变量. # wget http://www.ffmpeg.org/releases/ffm ...
- 转:Linux 编译安装 Mysql5.7
http://broqiang.com/2017/04/18/Mysql-Install-5.7.18-Linux-Compile/ 原文 Linux 编译安装 Mysql5.7 Ubuntu 下快速 ...
- Linux编译安装Apache+PHP
Linux编译安装Apache+PHP 来自:自学it网,http://www.zixue.it/. 1]编译安装Apache+PHP 1.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安 ...
- Linux编译安装Qt 5.4.1(-qt-xcb是必须要指定的,卸载自带的gcc等)
转载请注明文章:Linux编译安装Qt 5.4.1 出处:多客博图 很久不写文章了,过程很简单,但是操作很多,简单说吧. 前言: 操作系统CentOS 6.6,64位的. 1.安装gcc 4.8.4, ...
- Linux编译安装、压缩打包、定时任务管理
编译安装 压缩打包 定时任务管理 一.编译安装 使用源代码,编译打包软件 1.特点 1.可以定制软件 2.按需构建软件 2.编译安装 1.下载源代码包 wget https://nginx.org/d ...
随机推荐
- C#上位机与PLC通信心跳的实现方法
-Begin- 大家好!我是付工.众所周知,在工业自动化控制系统中,上位机与下位机之间的通信是实现自动化生产的关键环节之一.为了确保通信的稳定性和可靠性,我们通用会采用一种被称为[心跳机制]的方法,它 ...
- C++中的类型推断机制
1. decltype 的作用 decltype 是C++11引入的一个关键字,用来推断表达式的类型.它返回的是表达式的精确类型,包括引用和const限定符等. 例子: int x = 5; decl ...
- linux tracepoint增加
引入tracepoint的背景 当需要获取内核的debug信息时,通常你会通过以下printk的方式打印信息: void trace_func() { //-- printk("输出信息&q ...
- 2024年1月中国数据库排行榜: OPOT 组合续写贺新年,达梦、腾讯发力迎升势
2024年开局,墨天轮中国数据库流行度排行火热出炉,292个国产数据库齐聚榜单.整体来看,榜单前十整体变化不大,"O-P-O"格局稳固,前五位名次未发生变动.但新年伊始,各家数据库 ...
- 理解 keep-alive
keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,避免重新渲染 : 对应两个钩子函数 activated 和 deactivated ,当组件被激活时,触发钩子函数 act ...
- 03 什么是预训练(Transformer 前奏)
博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...
- 快速理解和使用stream流
数据量越大,硬件内核数越多,stream流相比传统for循环速度越快. 原因是stream流是可以并行处理的. 如果要使用stream流,可以直接用flatmap把外层嵌套扁平化,只留下自己需要处理的 ...
- RocketMQ 5.0 多语言客户端的设计与实现
本文作者:古崟佑,阿里云中间件开发. RocketMQ 5.0 版本拥有非常多新特性,比如存储计算分离. batch 能力的提升等,它是具有里程碑意义的版本. 提到新版本,我们往往会首先想到服务端架构 ...
- C语言刷题小知识点
力扣返回二维数组 int **spiralMatrix(int m, int n, struct ListNode *head, int *returnSize, int **returnColumn ...
- vue暗含玄机的v-for指令
由于是多个事项,那么这个数据模型是一个数组:为了显示这些代办事项我们首先添加一些样本数据 <script> export default { data() { return { title ...