CentOS 6.5 64位下安装MySQL 5.7.11

时间:2022-08-18 21:13:30

昨天花了一下午在CentOS6.5 上安装了MySQL,版本为5.7.11,下面介绍一下我安装时候出现的问题

以及解决方法,供大家参考。

1/清除残留

rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库

有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉

rpm -e mysql  // 普通删除模式

rpm -e --nodeps mysql  // 强力删除模式

如果使用上面命令删除时,提示有依赖的其它文件,

则用该命令可以对其进行强力删除在删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!!

在电脑中查找有关mysql的文件尽可能删掉,如果有的话

比如/etc/my.cnf或者/etc/mysql

2/下载及解压安装包

官方下载地址为:http://dev.mysql.com/downloads/mysql/

CentOS 6.5 64位下安装MySQL 5.7.11

然后把它解压缩到Linux文件系统的/usr/local/目录下,好像默认的安装目录也是这个

tar –xzvf my mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

mv my mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz mysql //起个简单的名字

3/正式开始装了

安装这个软件我参考一些网上的教程,但是看上去有些迷糊也不确定对不对

为了正确起见我还是跑到官网找教程

2.2 Installing MySQL on Unix/Linux Using Generic Binaries

首先MySQL依赖于库libaio,所以我们就先安装这个库

具体命令如下

shell> yum search libaio # search for info

shell> yum install libaio # install library

我安装的时候已经是最新的库了,所以啥都没干

CentOS 6.5 64位下安装MySQL 5.7.11

解压完成之后的目录如上所示

shell> groupadd mysql #添加用户组

shell> useradd -r -g mysql -s /bin/false mysql #添加mysql用户

shell> cd /usr/local #最好是安装在这个目录下,如果不是可能会报错

shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz

shell> ln -s full-path-to-mysql-VERSION-OS mysql #我没有建立软连接,而是直接在这个目录下进行的

shell> cd mysql #进入到解压的目录下面

shell> mkdir mysql-files #创建此文件夹

shell> chmod 750 mysql-files #改文件夹的权限

shell> chown -R mysql . # .此时代表的文件夹是/usr/local/mysql,改当前文件夹及子目录的所有者

shell> chgrp -R mysql . # .此时代表的文件夹是/usr/local/mysql,改当前文件夹及子目录的用户组

shell> bin/mysql_install_db --user=mysql # Before MySQL 5.7.6 #由于我们安装的是5.7.11,所以这句我们不执行

shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up #这句好像是正式安装了,它会给你一个root的初始密码,最好要记住,记不住的话也行后面也有解决办法

shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up

shell> chown -R root .

shell> chown -R mysql data mysql-files

#这个data文件夹怎么突然冒出来的,其实不是,在之前执行bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up的时候自动在

/usr/local/mysql目录下生成一个目录data

shell> bin/mysqld_safe --user=mysql & #这个是干啥的我也不知道,好像是什么PID table啥的,后面就是它最烦

# Next command is optional

shell> cp support-files/mysql.server /etc/init.d/mysql.server #服务加到启动项的

4/安装后的配置

在目录/usr/local/mysql/support-files/下有个文件叫my-default.cnf

那么我们就是要修改一下这个配置文件

CentOS 6.5 64位下安装MySQL 5.7.11

这里basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

port = 3306

改完之后复制一份到/etc/目录下,重命名为my.cnf就是我们在最开始删的那个

然后在/etc/profile里面也添加一个路径

CentOS 6.5 64位下安装MySQL 5.7.11

在文件末尾添加如上行

安装配置过程算是结束了

5/问题

一个软件就这样安装完了怎么行呢?来测试下

service mysql start启动服务(root下启动服务的)

CentOS 6.5 64位下安装MySQL 5.7.11

给我报着么个错,我也不知道怎么纠错,反正就在网上找

总之这篇博文教我怎么解决这个问题,

MySQL: Starting MySQL….. ERROR! The server quit without updating PID file解决办法

该博文里面有我就不在这引述了,反正我是通过重启解决的

CentOS 6.5 64位下安装MySQL 5.7.11

6/忘记初始密码

之前在安装的时候不是有一步会给个初始密码你么,这在以前的mysql的时候是没有初始密码的,直接回车就到数据库里面去了

CentOS 6.5 64位下安装MySQL 5.7.11

然后就悲催了,密码忘记了

怎么解决这个问题的呢

网上有的方法是以前的,就是改/etc/my.cnf配置,不要密码进去之后

使用命令:

show databases;

使用命令切换到mysql数据库:

use mysql;

使用命令更改root密码:

UPDATE user SET Password=PASSWORD('newpassword') where USER='root';(不可行,在5.7.11版本下)

刷新权限:

FLUSH PRIVILEGES;

然后退出,重新登录:

quit

重新登录:

mysql -uroot -p

出现输入密码提示,输入新的密码即可登录

悲催的是user表里面根本就没有这一项Password好么,只好另寻他路

修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables

service mysqld restart后,即可直接用mysql进入

mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

mysql> flush privileges;

mysql> quit;

将/etc/my.cnf文件还原,重新启动mysql:service mysql restart,这个时候可以使用mysql -u root -p'123qwe'进入了

mysql>SET PASSWORD = PASSWORD('newpasswd'); 设置新密码