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的更多相关文章

  1. 【安装Redis】CentOS7 下安装NodeJs+Express+MongoDB+Redis

    Redis,V3.2,官网l官方链接:http://www.redis.io/download,参考:http://blog.csdn.net/mlks_2008/article/details/19 ...

  2. 【安装MongoDB】CentOS7 下安装NodeJs+Express+MongoDB+Redis

    MongoDB,V3.2版本,官网说的很详细,见链接:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ 1.创建 ...

  3. 【安装Express】CentOS7 下安装NodeJs+Express+MongoDB+Redis

    上一篇介绍了一下怎么安装Nodejs,那么这一篇就说说怎么安装express,express有个中文站点非常非常方便,http://www.expressjs.com.cn/创建express框架的站 ...

  4. 【安装Nodejs】CentOS7 下安装NodeJs+Express+MongoDB+Redis

    最近想拿NodeJS做个文档管理系统玩玩,看看mongdb的gridfs效率咋样,谁晓得因为一个Yeoman的脚手架,整来整去的把文件权限全部搞乱,一想算了,还是重来搞一套吧! 1.安装  yum i ...

  5. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  6. CentOS7 Hive 安装

    hive的安装模式有2种,一种是使用自带的derby数据库,另一种是使用mysql作为元数据库.derby方式一般没人用,因为它是单用户模式.这里主要讲解mysql方式. hive仅仅是一个客户端工具 ...

  7. Binlog2sql+CentOS7 离线安装

    Binlog2sql+CentOS7 离线安装 目录 Binlog2sql+CentOS7 离线安装 1. 环境 2. 下载 3.1 Pip 安装 3.2 PyMySQL/mysql-replicat ...

  8. Centos7主机安装Cockpit管理其他主机

    前提条件:需要管理的每台服务器上都需要安装cockpit 假设Centos7主机安装Cockpit的为A,其他主机为B 如果B上有A的公钥,那么直接连接至B,否则,输入B的用户名密码连接. 问题:在A ...

  9. centos7编译安装MySQL5.7.9

    title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...

  10. 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 ...

随机推荐

  1. python基础23 之初识面向对象

    人狗大战 # 编写代码简单实现人打狗 狗咬人的小游戏 """推导步骤1:代码定义出人和狗""" person1 = { 'name': 'j ...

  2. P7368 [USACO05NOV]Asteroids G

    题面 贝茜想在 \(N\times N\) 的网格中驾驶她的宇宙飞船.网格中有 \(K\) 个小行星.要使驾驶过程愉快,就必须把这些小行星全部消除. 贝茜有一个武器,可以以一个单位代价消除一行或一列的 ...

  3. UVA12412 A Typical Homework (a.k.a Shi Xiong Bang Bang Mang) 代码

    #include <bits/stdc++.h> #define int long long #define judge(a,func) case a:func();break; usin ...

  4. 树形 dp 与树上问题

    NFLS 集训笔记 20220802 - 树形 dp 进阶与树上问题综合 \(\text{By DaiRuiChen007}\) I. 洛谷[P2585] - 三色二叉树 \(\text{Link}\ ...

  5. .NET周报【1月第3期 2023-01-20】

    这应该是2023年农历新年前的最后一篇.NET周报,再次预祝大家新年快乐! 国内文章 看我是如何用C#编写一个小于8KB的贪吃蛇游戏的 https://www.cnblogs.com/InCerry/ ...

  6. windows使用管理员权限安装软件

    安装步骤 系统搜索 cmd 点击右键,使用管理者方式运行 输入用户名密码 成功以管理员身份运行 cd 到软件存储的目录 输入软件执行文件名, 按回车键,成功开始安装

  7. 结构型模式 - 装饰器模式Decorator

    1.你这老母亲的,我哪来的广告? 学习而来,代码是自己敲的.也有些自己的理解在里边,有问题希望大家指出. 装饰器模式的定义与特点 装饰器(Decorator)模式的定义:指在不改变现有对象结构的情况下 ...

  8. 安装Windows Server 2022 - 初学者系列 - 学习者系列文章

    这天要写一个关于系统部署的系列文章,涉及到Windows Server 2022操作系统的安装,所以就写了此文.Windows系列的操作系统安装,以前的博文中都有介绍,这里再次做一个安装描述吧.需要的 ...

  9. 如何通过Java 代码设置 Word 文档页边距

    页边距是指页面的边线到文字的距离.通常可在页边距内部的可打印区域中插入文字和图形,也可以将某些项目放置在页边距区域中(如页眉.页脚和页码等).在我们用的Word文档中,都会设置页边距统一标准格式,页边 ...

  10. Linux(CentOS)安装MinIo,详细教程,附防火墙端口开放操作

    Linux安装MinIo(已配置开机重启) 1,准备安装目录和文件 系统:CentOs #进入安装目录 cd /home/minio #在线下载二进制文件 wget https://dl.min.io ...