mysql5.7 源码安装步骤
操作系统:centos 7
mysql版本:5.7 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
说明:以下都是root用户操作的。
一、数据库安装
1、查看系统是否有旧版的mysql
# rpm -qa |egrep -i 'mysql|mariadb'
如果有的话请先卸载,卸载命令:
# rpm -ev 软件包名称
2、查看老版本mysql相关的安装目录:
# find / -name mysql
有的话就删掉
3、创建/data/mysql目录用于存放mysql软件包,并下载软件包
# mkdir -p /data/mysql
# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
4、解压软件包并重命名
# cd /data/mysql
# tar zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql-5.7.24
5、创建mysql用户(如果原来已经存在该用户,可以继续使用,也可以重新删除创建,删除用户命令: userdel -r mysql)
# groupadd mysql
# useradd -r -s /sbin/nologin -g mysql mysql
# getent passwd mysql #该命令用于查看是否成功创建mysql用户
mysql:x:986:1001::/home/mysql:/sbin/nologin
7、修改/etc/my.cf文件
[mysqld]
skip-name-resolve
basedir=/data/mysql/mysql-5.7.24 #新添加的,用于mysql初始化的时候去找相应的lib库等等。
datadir=/data/mysql/mysql-5.7./data #原配置修改的,存放数据的目录
socket=/data/mysql/mysql-5.7./mysql.sock #原配置修改的,mysql的sock文件
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe]
log-error=/data/mysql/mysql-5.7./mysql.err-log #原配置修改的,mysql错误日志存放路径
character-set-server=utf8 #添加的,指定字符编码
pid-file=/data/mysql/mysql-5.7./mysql.pid #原配置修改的,指定pid #
# include all files from the config directory
#
!includedir /etc/my.cnf.d 或者:
[mysqld]
server-id=1
max_connections=3000
basedir = /data1/hadoop/mysql
datadir = /data1/hadoop/mysql/data
port = 3306
secure_file_priv=/data1/hadoop/mysql/data
query_cache_type=1
query_cache_size=120M
query_cache_min_res_unit=4096
character_set_server=utf8
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
general_log=ON
slow_query_log=1
long_query_time=2
log-error=/data1/hadoop/mysql/logs/mysql.err
log_bin=/data1/hadoop/mysql/logs/mysql-bin
slow-query-log-file=/data1/hadoop/mysql/logs/slowquery.log
socket = /data1/hadoop/mysql/mysql.sock
symbolic-links=0
pid-file=/data1/hadoop/mysql/mysql.pid
[client]
socket=/data1/hadoop/mysql/mysql.sock
default-character-set=utf8
[mysql]
default-character-set=utf8
7、创建数据目录,日志目录等并授权
# cd /data/mysql/mysql-5.7.
# mkdir data
# touch {mysql.sock,mysql.err-log,mysql.pid}
# chmod data/ mysql.err-log mysql.pid mysql.sock
# chown -R mysql:mysql /data/mysql/mysql-5.7.
8、数据库初始化
# cd /data/mysql/mysql-5.7./bin/
# ./mysqld --initialize --user=mysql --basedir=/data/mysql/mysql-5.7.24 --datadir=/data/mysql/mysql-5.7.24/data centos版本 初始化的时候将会报如下错误:
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决:
1、yum install libaio -y
2、下载rpm包
rpm包地址:
链接:https://pan.baidu.com/s/1Pgr58ldD246Cnfz8NZKpzA
提取码:2rta

注:localhost:后面生成的是数据库的密码,请保存下来。
9、后台启动
# ./mysqld_safe --user=mysql &
10、查看进程,以确定是否启动成功
# ps -ef |grep mysql

11、测试连接
# ./mysql -uroot -p
Enter password: # 刚刚生成的那个随机密码
在这里出错了,报错如下:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 提示找不到sock文件,在这里的话就去/etc/my.cnf文件里面把socket这一行改成/tmp/mysql.sock吧,如下:
socket=/tmp/mysql.sock
然后重新启动mysql,就可以正常进入到数据库了。

12、修改环境变量
每次进入数据库都要去bin目录执行对应的脚本,所以,这里设置环境变量更方便一点
# vim ~/.bashrc
文件最后添加如下两行:
export MYSQL_HOME=/data/mysql/mysql-5.7.24/
export PATH=$PATH:${MYSQL_HOME}/bin

# source ~/.bashrc
13、配置mysql的启动
# cp /data/mysql/mysql-5.7./support-files/mysql.server /etc/init.d/mysql
# vim /etc/init.d/mysql
修改如下两行的值,这两行默认为空。

以后就可以通过/etc/init.d/mysql start方式启动数据库了

好了,基本安装就算完成了。
二、数据库修改密码和授权
修改数据库密码,刚刚生成的密码不太好记,所以我们这里修改一个自己熟悉的比较好记的密码,我这里测试,密码就设置的比较简单,生成环境建议设置的复杂一些;
第一种修改root密码的方式:(用mysqladmin命令行工具)
# mysqladmin -uroot -p '旧密码' password '新密码'
例:mysqladmin -uroot -p 'Pnh=?_Edg2+V' password '123456'
第二种方式:(登录数据库,用set password方式)
mysql> set password for 用户名@localhost = password('新密码');
例:mysql> set password for root@localhost = password('');

第三种方式:(用update直接修改user表)
mysql>use mysql;
mysql>update user set password=password('') where user='root' and host='localhost';
mysql>flush privileges;
第四种方法:如果刚刚生成的随机密码忘记了怎么办?
解决:
# mysqld --skip-grant-tables #启动mysql服务的时候跳过权限表认证。注:这个窗口不会关闭,需要重新开启另外一个端口进行操作,执行这个命令的时候我这里报错了,如下:
[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
解决:打开/etc/my.cnf,在mysqld下面添加user=mysql就ok
在另外一个端口执行mysql进入数据库控制台
# mysql
mysql>use mysql
mysql>update user set password=password("123456789") where user="root";
mysql>flush privileged
2、远程授权
进入数据库
# mysql -u root -p
mysql>grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;
mysql>flush privileges;
mysql5.7 源码安装步骤的更多相关文章
- Mysql5.5源码安装步骤笔记记录
1.cmake软件的安装wget https://cmake.org/files/v3.5/cmake-3.5.0-rc3.tar.gztar xf cmake-3.5.0.tar.gzcd cmak ...
- Linux+Apache2.4+PHP5.6+MySQL5.6源码安装步骤
一.安装Apache 若要安装apache服务器软件,需要安装以下几个依赖软件 apr-1.4.6.tar.gz 下载地址:http://apr.apache.org/ apr-util-1.4.1. ...
- zabbix3.4源码安装步骤
zabbix3.4源码安装步骤1.安装环境: 安装机器:22.224.9.227 以下简称监控机: 操作系统信息:内核版本: Linux version 2.6.18-194.1.AXS3 (pack ...
- mysql5.6源码安装(转)
mysql5.6源码安装 转自 jabbok博客园 https://www.cnblogs.com/jabbok/p/9418344.html 1 编译安装 1 2 3 4 5 6 groupadd ...
- Linux MySQL5.5源码安装
环境:CentOS7,MySQL5.5 1.MySQL5.5源码下载 Oracle的网站打开较慢,http://mirrors.sohu.com/mysql/这里提供了MySQL的镜像.一般的,Lin ...
- MYSQL5.5源码安装 linux下
/* 首先安装必要的库 */ yum -y install gcc* ###### 安装 MYSQL ###### 首先安装camke 一.支持YUM,则 yum install -y cmake 二 ...
- ubuntu mysql5.7源码安装
本系列的lnmp的大框架基本上是按照http://www.linuxzen.com/lnmphuan-jing-da-jian-wan-quan-shou-ce-si-lnmpda-jian-yuan ...
- CentOS6.5+mysql5.1源码安装过程
一:先安装依赖包(不然配置的时候会报错的!) yum -y install ncurses* libtermcap* gcc-c++* 新建mysql用户 [root@HE1Packages]# gr ...
- [整理]Linux下的源码安装步骤及其功能解释
源码的安装一般由3个步骤组成:配置(./configure).编译(make).安装(make install). 这时最常用的命令就是这三个--./configure && make ...
随机推荐
- JS如何做爬虫
JS如何做爬虫,JS做爬虫要靠node节点环境,cheerio(主要是解析下载的网页可以像jquery一样,这是必要的,使用它在npm上查看文档也很简单). Iconv-lite(主要解决下载资源的乱 ...
- https、加密安全
1.Https HTTPS在传输的过程中会涉及到三个密钥: 服务器端的公钥和私钥,用来进行非对称加密 客户端生成的随机密钥,用来进行对称加密 一个HTTPS请求实际上包含了两次HTTP传输,可以细分为 ...
- Cookie实现记住密码的功能
一.什么是Cookie cookie是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段.Cookie的目的就是为用户带来方便,为网站带来增值.虽然有着许多误传,事实上Cookie并不会造成严重 ...
- ArduPilot存储管理 Storage EEPROM Flash
AP_HAL::Storage 此类可以应用于所有平台.PX4v1平台支持8k的EEPROM,Pixhawk平台支持16k的FRAM铁电存储器 存储大小定义:libraries/AP_HAL/AP_H ...
- SAP云平台上的ABAP编程环境里如何消费第三方服务
在ABAP On-Premises环境下,使用ABAP编程消费第三方服务,相信很多ABAP顾问都已经非常熟悉了,无非就是使用CL_HTTP_CLIENT或者CL_REST_HTTP_CLIENT来发送 ...
- 基本代码、插值表达式、v-cloak
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【nodejs代理服务器二】nodejs webpack打包配置踩坑总结
接着上篇用Nodejs开发web代理,防止web渗透.如果部署到正式环境,需要进行打包配置. 我在用webpack打包配置中遇到了几个错误,总结如下: webpack环境变量问题 https://ww ...
- linux防火墙(一)
安全技术 入侵检测与管理系统IDS(Intrusion Detection Systems):特点是不阻断任何网络访问,量化.定位来自内外网络的威胁情况,主要以提供报告和事后监督为主,提供有针对性的指 ...
- 在openwrt 17.01上编译最新nginx 1.14.2的笔记
openwrt 17.01源码对应的nginx版本是1.10.2,有些新功能没有,所以需要升级到nginx 1.14.2最新的稳定版 https://github.com/macports/macpo ...
- 解决MySQL不需要密码就能登录问题
因为执行了一个更改数据库root用户密码的命令,当我更改完后,发现用我新密码和旧密码都能登陆,于是感觉没有输密码,直接回车就能登录,而我在配置中也没有进行免密码登陆的操作,最后,执行了一条命令解决up ...
