1、下载tar包,这里使用wget从官网下载

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

2、将mysql安装到/usr/local/mysql下

# 解压

tar -xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

# 移动

mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/

# 重命名

mv /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql

3、新建data目录

mkdir /usr/local/mysql/data

4、新建mysql用户、mysql用户组

# mysql用户组

groupadd mysql

# mysql用户

useradd mysql -g mysql

5、将/usr/local/mysql的所有者及所属组改为mysql

chown -R mysql.mysql /usr/local/mysql

6,初始化

cd /usr/local/mysql

[root@dbserver mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

初始化后会生成一串临时密码,作为首次登陆密码

# 如果出现以下错误:

/usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

# 则执行以下命令:

yum -y install numactl

# 完成后继续安装:

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

7、配置my.cnf

接下来进入/usr/local/mysql/support-files/目录下 
查看是否存在my-default.cnf文件,如果存在直接copy到/etc/my.cnf文件中

    [root@dbserver mysql]# cp -a ./support-files/my-default.cnf /etc/my.cnf
  • 1

如果不存在my-default.cnf文件,则在/etc/目录下创建my.cnf,并写入以下内容,例如我的是这样的:

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/mysql.sock #找到sock文件的实际位置

log-error=/var/log/mysqld.log

pid-file=/usr/local/mysql/data/mysql.pid   #  找到pid的实际位置

<3>获取初始登录密码

这个的初始登录密码将不会在执行第二步之后被输出到命令行中,而是会被存放在错误日志中。错误日志路径就是你在my.cnf中配置的 log-error=/var/log/mysqld.log

执行:

cat /var/log/mysqld.log

能够看到一行信息,例如我的是:

2017-11-29T01:55:23.192210Z 1 [Note] A temporary password is generated for root@localhost: Q5Sck93kdK/*

localhost: 后面的一串就是你mysql登录的初始密码。

⚠️如果你的初始密码丢失,可以备份data数据:mv /usr/local/mysql/data data.bak 或者直接删除data数据:rm -rf /usr/local/mysql/data 然后初始化数据库:

[root@dbserver mysql]# bin/mysqld --initialize --user=mysql 重新生成初始密码然后查看并记住。此处还有其他的方法,大家可以尝试一下,参考:http://blog.csdn.net/ljbmxsm/article/details/50612777

8、把mysql放到本地系统服务中

命令: cp -a ./support-files/mysql.server /etc/init.d/mysqld

如果mysql 安装目录不在、usr/local/mysql下需要修改mysql的配置文件 如:本人的安装目录是在/software/mysql下则配置如下

修改Mysql配置文件

#vim /usr/local/mysql/support-files/mysql.server
修改前

if test -z "$basedir"
then
basedir=/usr/local/mysql
bindir=/usr/local/mysql/bin
if test -z "$datadir"
then
datadir=/usr/local/mysql/data
fi
sbindir=/usr/local/mysql/bin
libexecdir=/usr/local/mysql/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi

修改后

if test -z "$basedir"
then
basedir=/software/mysql
bindir=/software/mysql/bin
if test -z "$datadir"
then
datadir=/data/mysql
fi
sbindir=/software/mysql/bin
libexecdir=/software/mysql/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi

保存退出

#cp /software/mysql/support-files/mysql.server  /etc/init.d/mysqld
#chmod 755 /etc/init.d/mysqld

9、启动mysql

#/etc/init.d/mysqld start

ERROR! The server quit without updating PID file (/software/mysql/mysqld.pid).

因为新版本的mysql安全启动安装包只认/usr/local/mysql这个路径。

解决办法:

方法1、建立软连接

例 #cd /usr/local/mysql

#ln -s /sofware/mysql/bin/myslqd mysqld

方法2、修改mysqld_safe文件(有强迫症的同学建议这种,我用的这种)

# vim /software/mysql/bin/mysqld_safe

将所有的/usr/local/mysql改为/software/mysql

保存退出。(可以将这个文件拷出来再修改然后替换)

错误代码:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '

mysql.sock根本就不在 /var/lib/mysql 目录下。自己的目录在 /tmp/mysql.sock

于是做了一个连接。

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

10、启动并登陆mysql

启动mysql

# 、/etc/init.d/mysqld  start

登陆

mysql -u root -p

会提示输入登陆密码,输入初始化时候的临时密码就可以了

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

解决方法

修改vi /etc/my.cnf,增加skip-grant-tables可以免密码登录mysql

use mysql ;

update user set authentication_string=PASSWORD("123456") where user='root';

再次修改vi /etc/my.cnf,注释skip-grant-tables,重启mysql

mysql -uroot -p123456登录

注:mysql5.7后将password字段调整为authentication_string

记centos 安装 mysql5.7.23.tar.gz教程的更多相关文章

  1. centos 安装mysql5.7.18.tar.gz

    1.解压mysql.tar.gz tar -zxvf mysql--linux-glibc2.-x86_64.tar.gz  2.添加mysql用户组和mysql用户,命令如下: groupadd m ...

  2. Linux下编译安装mysql-5.0.45.tar.gz

    安装环境:VMware9(桥接模式) + Linux bogon 2.6.32-642.3.1.el6.x86_64(查看linux版本信息:uname -a) 先给出MySQL For Linux ...

  3. 手动安装mysql-5.0.45.tar.gz

    Linux下编译安装 安装环境:VMware9(桥接模式) + Linux bogon 2.6.32-642.3.1.el6.x86_64(查看linux版本信息:uname -a) 先给出MySQL ...

  4. 源码安装mysql-5.6.32.tar.gz

    http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.32.tar.gz 安装依赖包: #yum install wget bison gcc gcc-c ...

  5. MySql:Linux下安装MySQL-5.7.12.tar.gz

    一  官网下载 mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz 目前最新为5.7.16,可以直接下载mysql-5.7.16-linux-glibc2.5-x86_ ...

  6. 【Centos7】安装mysql5.7.16.tar.gz

    操作系统 centos7.1 云主机 1.下载好了压缩包到windows电脑上 2.使用Smartty的SCP传输到云主机的/home/xxx/下 3.解压 tar xvf  mysql-5.7.16 ...

  7. Centos 安装 Node-v12.17.0-linux-x64.tar.gz

    wget https://nodejs.org/dist/v12.17.0/node-v12.17.0-linux-x64.tar.gz tar -zxf node-v12.17.0-linux-x6 ...

  8. CentOS6.5_64bit下编译安装MySQL-5.6.23

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/44785511 ************************************** ...

  9. linux下mysql-5.5.27.tar.gz源程序包安装实例

    研究了好几天,终于把mysql装上了,现在来做下小结. 系统环境:fedora8 虚拟机. 1.检查安装使用的编译工具gcc是否存在,如果不存在则要下载安装 # gcc -v 2.卸载低版本的mysq ...

随机推荐

  1. RMAN冗余备份概念与方法

    冗余备份概念 RMAN提供了一种更谨慎的备份策略:duplexed方式备份,其实质就是在生成备份集的同时,向指定位置copy指定份数(最大不超过4)的备份集复制,以避免在灾难性事故时数据库损坏和备份丢 ...

  2. tensorflow c++接口的编译安装与一些问题记录

    参考这篇文章安装,依次安装bazel,protocbuf,eigen3,然后下载tensorflow源码,编译c++ api,将编译结果拷贝到搜索路径 最后测试案例时遇到一些问题 (1)fatal e ...

  3. Windows环境下Git配置及使用

    Windows环境下Git配置及使用 一.安装包位置 Git下载地址https://git-scm.com/download/win TortoiseGit下载地址https://tortoisegi ...

  4. 读书笔记--MapReduce 适用场景 及 常见应用

    原文:http://blog.csdn.net/smile0198/article/details/20578389 1.MR解决的问题的特点   MR是应大数据的背景产生,其解决的问题的共性为:大问 ...

  5. (六)SSO之CAS框架扩展 改动CAS源代码实现与ESS动态password验证对接

    题记: 偶尔的偶尔我们会听到这个站点的数据泄露了,那个站点的用户数据泄露了.让用户又一次改动登录password,所以,对于用户数据安全性越发的引起我们的重视了,尤其是一些保密性要求高的站点.更须要添 ...

  6. PHP上传文件代码练习2 (重复文章)

    表单: <html> <head> <meta http-equiv="Content-Type" content="text/html; ...

  7. UIWebView捕获内部web点击事件

    在此有一个webView默认是打开 百度的页面:设置代理,并在代理中处理 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest ...

  8. 《Java程序猿面试笔试宝典》之 什么是AOP

    AOP(Aspect-Oriented Programming.面向切面编程)是对面向对象开发的一种补充,它同意开发者在不改变原来模型的基础上动态地改动模型从而满足新的需求.比如.在不改变原来业务逻辑 ...

  9. 算法笔记_101:蓝桥杯练习 算法提高 身份证号码升级(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由 ...

  10. 算法笔记_079:蓝桥杯练习 区间k大数查询(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表 ...