mysql之mysql的安装
此次MySQL安装的版本为:MySQL8.0
系统为:centos6.9 64位
一、利用yum仓库安装
wget https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm 下载仓库文件的rpm包
rpm -ihv mysql80-community-release-el6-1.noarch.rpm 安装yum仓库包
yum install mysql-community-server -y 用yum安装
初始化:
service mysqld start
grep 'temporary password' /var/log/mysqld.log 查看初始密码
alter user 'root'@'localhost' identified by 'MySQLtest123'; 修改初始密码
二、编译安装
rpm包安装没有什么难度,只要去官网下载rpm包,就可以了。
之所以要用编译安装,主要是为了隐藏版本号。因为各种中间件或多或少都是有一些漏洞的,黑客可以通过扫描你中间件的版本号从而有针对的攻击你的系统
比如用telnet ip 3306,就能看到mysql的版本信息,为了隐藏版本信息,最好还是使用编译安装。
安装前的准备:
yum install -y autoconf automake m4 libtool make cmake bison gcc ncurses-devel libaio glibc-devel.i686 glibc-devel gcc-c++ 安装依赖包
编译安装gcc
MySQL8.0编译安装需要用gcc的版本为 4.8.3以上,如果是centos6,需要编译安装更高版本的gcc,如果是centos7 可以略过这一步:
gcc全版本下载地址:http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/
我这里是编译安装的gcc-6.1.0
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-6.1.0/gcc-6.1.0.tar.gz
tar xf gcc-6.1.0.tar.gz
cd gcc-6.1.0
# 载编译需要的依赖包:./contrib/download_prerequisites
./configure --prefix=/usr/local/gcc-6.1.0/ --enable-bootstrap --enable-threads=posix --enable-languages=c,c++,objc,obj-c++
make &&make install
用先新安装的高版本gcc替换之前的gcc环境:
ln -s /usr/local/gcc-6.1.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-6.1.0/bin/g++ /usr/bin/g++
ln -s /usr/local/gcc-6.1.0/bin/c++ /usr/bin/c++
ln -s /usr/local/gcc-6.1.0/bin/gcc /usr/bin/cc 将新版本的gcc软连接到/usr/bin下面使系统能够识别
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
ln -s /usr/local/gcc-6.1.0/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6
友情提示:编译gcc耗时非常长
安装boost库:(下载二进制包解压到指定目录即可)
wget https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz
tar -xf boost_1_66_0.tar.gz
mv boost_1_66_0 /usr/local/boost
编译安装mysql8.0
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13.tar.gz
tar -xf mysql-8.0.13.tar.gz
cd mysql-8.0.13
修改版本信息:
当切换到源码目录之后,其中有一个VERSION文件保存了mysql的版本信息,
执行cmake:
cmake -DWITH_DEBUG=1 \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/var/lib/mysql \
-DWITH_BOOST=/usr/local/boost \
-DSYSCONFDIR=/etc \
-DEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock
关于cmake:
网上很多教程都是直接贴上cmake操作命令,但是我觉得还是需要理解这些cmake参数到底是什么意思,这样也好方便自己做一些个性化定制。
cmake各项参数意义,请参见:https://blog.csdn.net/sanbingyutuoniao123/article/details/74544634
执行完cmake之后进行编译安装:make && make install
提供新的服务脚本:
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
创建pid文件目录:
mkdir /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld
将mysql的二进制文件,导入环境变量:
echo export PATH=\$PATH:/usr/local/mysql/bin >> /etc/profile
. /etc/profile
初始化数据库:
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql
service mysqld start 启动数据库
grep 'temporary password' /var/log/mysqld.log 查看初始密码
根据初始密码进入数据库并修改root用户的密码:
alter user 'root'@'localhost' identified by 'Mysql^123321$';
至此mysql8.0安装完毕!
mysql之mysql的安装的更多相关文章
- mysql 5.6.24安装实例
安装前准备工作: 1)编辑PATH路径 vim /etc/profile PATH=/home/mysql/bin:/home/mysql/lib:$PATH export PATH 2)生效PATH ...
- yum安装mysql和mysql源,配置mysql
申明,不要用root安装 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm ...
- MySQL 5.5编译安装
MYSQL数据库安装方法 yum/rpm方式安装mysql 只要执行yum install mysql-server即可. yum/rpm方式安装mysql应用场景:yum/rpm安装适用对数据库要求 ...
- mysql解压版安装
1.下载MySQL解压版(32位) http://dev.mysql.com/downloads/mysql/
- MySQL(无GUI) Windows安装和启动
1.在官网http://dev.mysql.com/downloads/下载 MySQL Community Server 2.解压后是这个样子: 3.找到cmd,并且用管理员权限启动,必须!不然那没 ...
- MySQL的下载与安装 和 navicat for mysql 安装使用
新手上路-MySQL安装 目录结构 Windows平台 MySQL安装 示例数据导入 Linux平台 CentOS系统 Ubuntu系统 FAQ 密码生成工具-keepass 修改提示符 图形工具 删 ...
- mysql 5.0.46安装配置
http://os.chinaunix.net/a2008/0801/986/000000986346.shtml RPM包和源码包存放位置 /usr/local/src 源码包编译安装位置(pref ...
- Mysql 5.7 Linux安装详细步骤
版权声明:本文为博主原创文章,未经博主允许不得转载. 1.下载安装包 http://dev.mysql.com/downloads/mysql/#downloads 推荐下载通用安装方法的TAR包(h ...
- mysql 5.7.16安装与给远程连接权限
ZIP Archive版是免安装的.只要解压就行了.不需要安装.我的放在d盘啦. 1.配置: 也就是my.ini文件的由来. 把my-default.ini(此文件是解压之后,自带的)这个文件复制一下 ...
- MySQL绿色版的安装(mysql-5.6.22-win32.zip)
1.数据库下载 Mysql官方网站:http://www.mysql.com/,数据库下载地址:http://www.mysql.com/downloads/.从官方网站可以找到两种文件包,一种是ex ...
随机推荐
- tomcat集群搭建集成nginx负载均衡
软件基础+版本: 1.3台centos7系统,其中都已经配置完成了jdk环境,jdk的版本为 [root@node03 bin]# java -version java version "1 ...
- 【转载】各种SQL在PIG中实现
转自:http://guoyunsky.iteye.com/blog/1317084 我这里以Mysql 5.1.x为例,Pig的版本是0.8 同时我将数据放在了两个文件,存放在/tmp/data_f ...
- 记manjaro图形驱动删除后的一次补救
#一.前言 众所周知,NVIDIA的闭源驱动在Linux上的兼容性不是很好,再加上我不玩游戏,于是我就想卸载独显只留核显.我以为我装了独显和核显两种驱动,原本想直接删除独显驱动,没想到删除的是bumb ...
- TCP/IP协议-为什么说TCP是可靠连接
我们平常经常说UDP是不可靠连接,TCP是可靠连接,然而TCP为什么是可靠的呢 1. TCP和UDP的优缺点TCP 缺点: [1] 三次握手四次挥手,传输更多包,浪费一些带宽[2] 为了进行可靠通信, ...
- 1025 PAT Ranking (25分)
1025 PAT Ranking (25分) 1. 题目 2. 思路 设置结构体, 先对每一个local排序,再整合后排序 3. 注意点 整体排序时注意如果分数相同的情况下还要按照编号排序 4. 代码 ...
- Android开发实战——记账本(3)
开发日志(3)——适配器 昨天将bean类还有DatabaseHelper类写完.为了在MainActivity中调用,将数据保存到数据库中并显示出来.所以要先编写适配器CostListAdapter ...
- 【14】N的二进制中1的个数
class Solution { public int findKthLargest(int[] nums, int k) { PriorityQueue<Integer> h = new ...
- 使用pdf.js显示pdf文件
<script type="text/javascript" src="build/pdf.min.js"></script> < ...
- MyBatis(5)——解决属性名与列名不一致的问题
解决属性名与列名不一致的问题 问题描述: 当实体类的属性与数据库的列名不对应时取不到该列数据 说明:MyBatis会根据查询的列名设值(列名的setter方法),然后以此列名为做查询等操作,在此过程中 ...
- C++转换构造函数和隐式转换函数
今天是第一次听到C++还有个转换构造函数,之前经常见到默认构造函数.拷贝构造函数.析构函数,但是从没听说过转换构造函数,隐式转换函数也是一样,C++的确是够博大精深的,再次叹服! 其 ...