centos6 编译安装 mysql5.6----------centos7编译安装MySQL5.7
centos6 编译安装 mysql5.6
安装依赖包
yum install -y ncurses-devel libaio-devel
安装cmake编译工具
cmake
定制功能:存储引擎、字符集、压缩等
定制安装位置、数据存储位置、文件位置(socket)
yum install cmake -y
创建mysql管理用户
useradd -s /sbin/nologin -M mysql -u1000
id mysql
- 下载安装包并解压
mkdir /server/tools/ -p && cd /server/tools
wget -q http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.40.tar.gz 网易源
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6/mysql-5.6.40.tar.gz 清华源
tar xf mysql-5.6.40.tar.gz
- 进入查询目录,使用cmake进行编译,安装,创建软连接,过程时间较长。
cd mysql-5.6.40
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \
-DMYSQL_DATADIR=/application/mysql-5.6.40/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
make && make install
ln -s /application/mysql-5.6.40/ /application/mysql
数据库安装后的操作
- 复制配置文件
cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
编译的MySQL可以暂时不需要设置配置文件。
注意:如果以前操作系统中安装过rpm格式的mysql,系统中可能会遗留/etc/my.cnf文件,我们需要将它删除掉
- 初始化数据库
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql
防止报错:数据库启动会提示,找不到xx/tmp/mysql.sock,原因是5.6.40版本不会自动创建tmp目录,需要我们手工创建。
mkdir /application/mysql/tmp
修改程序目录的属主,属组
chown -R mysql.mysql /application/mysql/
复制启动脚本,并修改权限
cp support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
添加环境变量,使用mysql命令
echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
tail -1 /etc/profile
source /etc/profile
echo $PATH
启动数据库
/etc/init.d/mysql start
mysql
数据库安全设置
设置root用户密码
mysqladmin -u root password '123456'
mysql -uroot -p123456
优化数据库(清理用户及无用数据库)
select user,host from mysql.user;
drop user ''@'db02';
drop user ''@'localhost';
drop user 'root'@'db02';
drop user 'root'@'::1';
select user,host from mysql.user;
drop database test;
show databases;
centos7安装MySQL5.7
安装依赖包
yum -y install ncurses ncurses-devel bison cmake gcc gcc-c++
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz #mysql5.7源码安装需要boost,这个包下载自带boost
tar xf mysql-boost-5.7.27.tar.gz
cd mysql-boost-5.7.27
指定安装路径
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.27 \
-DMYSQL_DATADIR=/application/mysql-5.7.27/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.7.27/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0 \
-DWITH_BOOST=/opt/mysql-5.7.27/boost
指定boost,自行修改路径
make && make install
ln -s /application/mysql-5.7.27/ /application/mysql
mkdir /application/mysql-5.7.27/tmp -p
mkdir /usr/local/mysql/ -p
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/application/data
pid-file=/usr/local/mysql/mysql.pid
socket=/application/mysql/tmp/mysql.sock
初始化数据:
cd /application/mysql/bin
./mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/application/data/
记住生成的密码
5%.F9_pkrT?=
修改软件路径归属:
chown -R mysql.mysql /application/mysql/
chown -R mysql.mysql /usr/local/mysql/
拷贝启动脚本到Sys-v模式目录:
cp /application/mysql-5.7.27/support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
启动服务
/etc/init.d/mysqld start
检查服务是否启动
ps -ef|grep mysql
添加开启自启动
chkconfig --add mysqld
chkconfig mysqld on
设置环境变量
echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
source /etc/profile
修改密码(必须修改密码才能登录)
mysqladmin -uroot -p password
密码忘记咋办?
第一步:将服务停掉
/etc/init.d/mysqld stop
第二步:加参数启动服务
cd /application/mysql/bin/
mysqld_safe --skip-grant-table --user=mysql --skip-networking &
这种模式下
无密码登陆
网络用户无法登陆
只能本地登陆
和授权有关的命令都无法执行
第三步:修改密码
[root@db02 3306]# mysql
mysql> update mysql.user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
MYSQL5.7 修改密码修改字段 authentication_string
第四步:退出重启服务
/etc/init.d/mysqld restart
第五步:登录验证
mysql -uroot -p123
至此密码修改成功
centos6 编译安装 mysql5.6----------centos7编译安装MySQL5.7的更多相关文章
- 【安装Redis】CentOS7 下安装NodeJs+Express+MongoDB+Redis
Redis,V3.2,官网l官方链接:http://www.redis.io/download,参考:http://blog.csdn.net/mlks_2008/article/details/19 ...
- 【安装MongoDB】CentOS7 下安装NodeJs+Express+MongoDB+Redis
MongoDB,V3.2版本,官网说的很详细,见链接:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ 1.创建 ...
- 【安装Express】CentOS7 下安装NodeJs+Express+MongoDB+Redis
上一篇介绍了一下怎么安装Nodejs,那么这一篇就说说怎么安装express,express有个中文站点非常非常方便,http://www.expressjs.com.cn/创建express框架的站 ...
- 【安装Nodejs】CentOS7 下安装NodeJs+Express+MongoDB+Redis
最近想拿NodeJS做个文档管理系统玩玩,看看mongdb的gridfs效率咋样,谁晓得因为一个Yeoman的脚手架,整来整去的把文件权限全部搞乱,一想算了,还是重来搞一套吧! 1.安装 yum i ...
- docker(一) Centos7下安装docker
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
- CentOS7 Hive 安装
hive的安装模式有2种,一种是使用自带的derby数据库,另一种是使用mysql作为元数据库.derby方式一般没人用,因为它是单用户模式.这里主要讲解mysql方式. hive仅仅是一个客户端工具 ...
- Binlog2sql+CentOS7 离线安装
Binlog2sql+CentOS7 离线安装 目录 Binlog2sql+CentOS7 离线安装 1. 环境 2. 下载 3.1 Pip 安装 3.2 PyMySQL/mysql-replicat ...
- Centos7主机安装Cockpit管理其他主机
前提条件:需要管理的每台服务器上都需要安装cockpit 假设Centos7主机安装Cockpit的为A,其他主机为B 如果B上有A的公钥,那么直接连接至B,否则,输入B的用户名密码连接. 问题:在A ...
- centos7编译安装MySQL5.7.9
title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...
- CentOS6.3 编译安装LAMP(3):编译安装 MySQL5.5.25
所需源码包: /usr/local/src/MySQL-5.5.25/cmake-2.8.8.tar.gz /usr/local/src/MySQL-5.5.25/mysql-5.5.25.tar.g ...
随机推荐
- ArcGIS工具 - 按线分割面
功能说明 在ArcGIS数据处理过程中,有时需要沿线把面要素分割开,可以使用高级编辑中的分割面(Cut Polygon)工具.那么,如果要用线图层分割面图层该怎么办呢?为源GIS为您开发了一个自定义模 ...
- yolov8-tensorrt加速
仓库(已更新源码): https://github.com/FeiYull/tensorrt-alpha 仓库简介:基于CUDA+TensorRT实现深度学习加速,支持前处理.后处理.推理在GPU上运 ...
- 优化if...else...语句
写代码的时候经常遇到这样的场景:根据某个字段值来进行不同的逻辑处理.例如,不同的会员等级在购物时有不同的折扣力度.如果会员的等级很多,那么代码中与之相关的if...elseif...else...会特 ...
- spring.jackson.default-property-inclusion 不生效问题分析
背景 项目里每个返回体里都有@JsonInclude(JsonInclude.Include.NON_NULL) 这个注解,也就是不返回null字段 想有没有办法全局配置一下,这样就不用每个类都加这个 ...
- 在 SpringBoot 项目中简单实现 JWT 验证
使用 SpringBoot 提供 api 的时候,我更喜欢使用 jwt 的方式来做验证.网上有会多 Spring Security 整合 jwt 的,也有 Shiro 整合 jwt 的,感觉有点复杂. ...
- 六、python基础知识之变量常量、索引取值和PEP8规范
目录 一.变量与常量 1.什么是变量? 2.什么是常量? 变量的基本使用 变量使用的语法结构与底层原理 变量名的命名规范和命名风格 变量的命名风格 常量的基本使用 二.索引取值 三.PEP8规范 1. ...
- you-get下载B站视频
you-get下载B站视频 库存 you-get介绍 https://github.com/soimort/you-get you-get是一个命令行工具,可以下载知名网站的视频 支持的网站有 ht ...
- ATM购物车大作业
项目开发流程 1.需求分析:品经理与架构师,根据客户的需求,理出一套比较容易编写的流程 2.架构设计:架构师根据具体的业务需求选择 具体的开发编程语言与项目框架,所需要的数据库(主库,从库).与开发目 ...
- 有趣的python库-moviepy
moviepy-视频处理 安装: pip install moviepy 基本使用: from moviepy.video.compositing.CompositeVideoClip import ...
- C语言使用fopen出现C4996错误解决方法
Visual Studio 不安全提醒屏蔽方法: 打开项目----项目属性---配置属性----C/C++ ----预处理器----预处理定义,添加 _CRT_SECURE_NO_DEPRECATE ...