1.系统约定

安装文件下载目录:/data/software

Mysql目录安装位置:/usr/local/mysql

数据库保存位置:/usr/local/mysql/data

日志保存位置:/tmp/mysql_error.log

2.下载mysql(这里下载的是預编译好的二进程mysql安装包)

在官网:https://dev.mysql.com/downloads/mysql/ 中,选择以下版本的mysql下载:



根据自己系统的版本选择32或者64位,这里我选择64位系统的

建议:在windows上使用迅雷下载,速度很快,然后用工具(Xftp)上传到 /usr/local/src目录下;

或者直接下载到服务器上

复制下载地址wget+地址 (默认下载到当前目录,自己找个目录存)

cd /usr/local/src
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

3.下载完成,解压出来

tar zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

4.移到解压好的文件夹到/usr/local/mysql

mv mysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql
mkdir data //新建文件夹data
mkdir mysql-files
groupadd mysql //新建mysql组
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql //修改MySQL安装目录和data数据中心的权限:
cat /etc/passwd //查看用户和分组信息:查看用户列表
cat /etc/group //查看用户组列表
chown -R mysql . //改变目录属有者 要在/usr/local/mysql目录下
chgrp -R mysql .

5.修改mysql配置文件

vim /etc/my.cnf

[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
port = 3306
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
#lower_case_table_name=1
max_allowed_packet=16M
log_error=/tmp/mysql_error.log
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

mkdir /var/lib/mysql

chmod 777 /var/lib/mysql

6.配置参数,获取密码的命令:

执行初化数据库命令:

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

如果报错缺少插件,去百度libnuma.so.1搜一下,发现缺少 numactl ,去下载安装上 yum -y install numactl 再执行上面的初化数据库命令

启动成功后,看一下data文件目录里已经有数据了

ll data

此处需要注意记录生成的临时密码,如上文结尾处的

如果没有显示密码,就使用下面的命令查看密码:

cat /tmp/mysql_error.log

bin/mysql_ssl_rsa_setup --datadir=/usr/local/data/mysql //设置ssl可以不用执行

7.启动MySQL服务器mysqld

root@haima-PC:~# /usr/local/mysql/support-files/mysql.server start
Starting MySQL
.Logging to '/tmp/mysql_error.log'.
. ok

以上启动成功了.

安装时可能出现的三种报错:

a.mysql服务已经启动了,再次启动会报错.

如果像上图一下报错,就执行下面的操作,杀死进程,再执行,重启

ps -aux|grep mysql
kill -9 1512
/usr/local/mysql/support-files start`

b.如果还是不行,一直启动不了,就把data文件夹删除了,再重新建一下,

        cd /usr/local/mysql
rm -rf /data
     mkdir data //新建的data文件夹改权限改为group
chown -R mysql:mysql /usr/local/mysql/data //改权限命令
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //再初始化一下
cat /tmp/mysql_error.log //查看一下密码
./support-files/mysql.server start //再启动,就ok了

c.如果还是不可以,就把 安装的/usr/local/mysql文件夹删除了,到/user/local/src里把mysql文件再解压出来再复制到/usr/local文件夹下,

  把/etc/my.cnf删除了,再重新建一下,
查一下如果有进程,杀死mysql进程,
 重复 上面b的方法

9.设置好环境变量后,重新加载一下就可以生效了

编辑profile文件

vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin

或者

echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
/usr/local/mysql/support-files //如果是ubuntu加入这一句
source /etc/profile //刷新生效

连接数据库

mysql -uroot -p密码 //连接一下mysql

如果提示下面的错误:就用navicat连联连,再修改密码

Your password has expired. To log in you must change it using a client that supports expired passwords.其实只需要修改密码就可以了


alter user 'root'@'localhost' identified by 'whm2416@qq.com'; //修改账号密码 use mysql
create user 用户名@'%' identified by '密码'; //创建账号 haiama用户名字
grant all privileges on *.* to 用户名@'%' with grant option; //授权
FLUSH PRIVILEGES; //刷新
select version(); //查看版本 quit / exit //退出

设置开机启动:

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysqld
chkconfig mysql on

启动

service mysql start //centos

mysql.server start //ubuntu

重启:

service mysql restart //centos

mysql.server restart //ubuntu

停止:

service mysql stop //centos

mysql.server stop //ubuntu

看启动日志:

cat mysql_error.log

查看mysql状态:

service mysql status

停止mysql服务

service mysql stop

或者杀进程:

killall -9 mysql

如果没有安装killall可以使用yum安装

yum provides killall

查出来psmisc-22.20-11.el7.x86_64

yum -y install psmisc-22.20-11.el7.x86_64

killall -9 mysql

忘记密码,初使化密码(需要提前备份数据,重置后,数据就都没有了)

killall -9 mysql //停止mysql软件
pkill -9 mysql //同上面的命令停止mysql软件
rm -rf /usr/local/mysql/data //删除data目录
mkdir data //新建data文件夹
chown -R mysql.mysql /usr/local/mysql //添加权限
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //初使化密码,保存一下密码
cat /tmp/mysql_error.log //查看密码
mysql_ssl_rsa_setup //设置ssl
service mysql start //启动
mysql -uroot -p密码  //登陆
alter user 'root'@'localhost' identified by 'whm****@**.com'; //修改账号密码 更改root密码,需要带数字,大写字母,小写字母,特殊符号
flush privileges;

1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1

这一行配置让 mysqld 启动时不对密码进行验证

vim /etc/my.conf

加一行:skip-grant-tables=1

2、重启 mysqld 服务:

/usr/local/mysql/support-files/mysql.server restart

3、使用 root 用户登录到 mysql

mysql -u root

alter user 'root'@'localhost' identified by 'whm****@***.com'; //修改账号密码
FLUSH PRIVILEGES; //刷新
quit

注意:若远程工具连接不上,请用 iptables -F 命令来清除防火墙规则

MySql拓展

更改root密码,需要带数字,大写字母,小写字母,特殊符号

例:你的新密码为1qaz2wsx@!XLD

# SET PASSWORD = PASSWORD('你的新密码');
# 上面的方式不行就用下面这个
ALTER USER USER() IDENTIFIED BY '你的新密码';
# 设置密码永不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
# 刷新MySQL的系统权限相关表
flush privileges;

根据个人需求,设置数据库用户在所有ip下以及在本地可访问,以下用root用户做演示

grant all privileges on *.* to root@"%" identified by "你的密码" with grant option; //给把所有的ip地址开权限
grant all privileges on *.* to root@"localhost" identified by "你的密码" with grant option;
grant all privileges on *.* to 'root'@'113.46.90.222' identified by '12345' with grant option; //给指的ip地址开权限
grant all privileges on *.* to 'root'@'113.46.*.*' identified by '12345' with grant option; //给指的ip段开权限
flush privileges;

注意:若远程工具连接不上,请用 iptables -F 命令来清除防火墙规则

新建用户

CREATE USER 'xld_test'@'%' IDENTIFIED BY '你的密码';

用户授权

添加用户权限: GRANT ALL ON databasename.tablename TO 'xld_test'@'%';

撤销用户权限: REVOKE ALL ON databasename.tablename TO 'xld_test'@'%';

删除用户及权限 :drop user 'xld_test'@'%';

Mysql5.7 Linux编译安装教程的更多相关文章

  1. Linux(centos)下mysql编译安装教程

    Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...

  2. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  3. 转:Linux 编译安装 Mysql5.7

    http://broqiang.com/2017/04/18/Mysql-Install-5.7.18-Linux-Compile/ 原文 Linux 编译安装 Mysql5.7 Ubuntu 下快速 ...

  4. LNMP编译安装教程

    LNMP编译安装教程 此次安装在Centos上,我采用的CentOS的版本是:CentOS release 6.5 (Final) 可以通过以下命令查看:lsb_release -a 一.准备工作: ...

  5. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  6. linux 编译安装nginx,配置自启动脚本

    本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...

  7. mysql5.7.11编译安装以及修改root密码小结

    系统是cenos6.7 64位的,默认mysql5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,mysql数据放置目录/app/local/data. ...

  8. linux 编译安装PHP模块

    本文移到:http://www.phpgay.com/Article/detail/classid/6/id/54.html  linux 编译安装PHP模块 1.首先你要有你服务器上安装的PHP的版 ...

  9. [CentOS_7.4]Linux编译安装ffmpeg

    [CentOS_7.4]Linux编译安装ffmpeg   安装过程: 下载安装源,配置,编译,安装,设置环境变量. # wget http://www.ffmpeg.org/releases/ffm ...

  10. 【转载】Ogre3d 2.1 源码编译安装教程

    原文:Ogre3d 2.1 源码编译安装教程 今年是3D手游年,今年也是游戏引擎战争进入白热的一年. 移动游戏的红海时代,让各大端游也忍不住纷纷伸出大白腿,Unreal.CryEngine纷纷宣布自己 ...

随机推荐

  1. https://codeforces.com/gym/496432

    ABC:略. D 枚举分的段数,然后扫一遍判断. E F G H

  2. #博弈论#Poj 2505 A multiplication game

    题目 给你一个整数\(n\),你从1开始乘,乘2-9之间的任意一个数. 最先得到大于等于\(n\)的数的人胜利.Stan先手Ollie后手. 那么,请问给你一个数\(n\),Stan和Ollie都足够 ...

  3. GitHub互赞快速涨星,最简单的涨星方法

    ​各位代码们,是不是厌倦了在GitHub上孤独地刷着自己的项目页面,眼巴巴地等待那星星数的涨幅?今天给大家安利一个超级实用的新玩意儿--涨星互助平台,一个让你的GitHub项目星星数飞起来的秘密基地! ...

  4. [P4551] 最长异或路径 题解

    过程 手写利用DFS求出每个点到根节点的异或距离 不难得出 xor_dis[x][y]=xor_dis[0][x]^xor_dis[0][y] 于是树上异或问题转换成了Trie上异或问题. 代码 直接 ...

  5. C语言 04 基本数据类型

    整数 整数就是不包含小数点的数字,整数包含以下几种类型: short :占用 2 个字节,16 个 bit 位. int:占用 4 个字节,32 个 bit 位,能够表示 -2^32 到 2^32 之 ...

  6. C++调用Python-5:调用Python函数,传参数字+字符串

    # mytest.py def myjoin(a, b): print("num a + str b") return f"{a}=={b}" #include ...

  7. openGauss支持国密SM3和SM4算法

    国密算法介绍 国密即国家密码局认定的国产密码算法,主要有 SM1,SM2,SM3,SM4.密钥长度和分组长度均为 128 位.针对银行客户对数据库安全能力的诉求以及提高产品安全竞争力的要求,进行数据库 ...

  8. 保护C#代码的艺术:深入浅出代码混淆技术

    摘要 在C#开发中,代码的保护是一个不可忽视的问题.本文深入探讨了几种常用的C#代码混淆工具,帮助开发者理解如何有效地保护代码不被反编译.同时,本文也对混淆技术的优缺点进行了分析,并提供了一些实际使用 ...

  9. 演示webuploader和cropperjs图片裁剪上传

    最近有个项目要在浏览器端裁剪并上传图片.由于缺乏人力,只能我上阵杀敌.通过参考各种文章,最后决定用cropperjs进行图片裁剪,用webuploader上传文件.本文涉及到的知识至少有Java基础. ...

  10. Spark常见的问题以及解决方案

    Spark为什么比Hadoop要快? Spark比hadoop快的原因,我认为主要是spark的DAG机制优于hadoop太多,spark的DAG机制以及RDD的设计避免了很多落盘的操作,在窄依赖的情 ...