linux下安装5.7版本的MySQL和卸载MySQL

一:安装

通过rpm检查是否存在MySQL

[root@host ~] rpm -qa|grep mysql

如果存在,执行下面的命令删除

    [root@host ~] rpm -e --nodeps your_mysqlName

查看系统信息,寻找最新版的mysql

    [root@host ~]# uname -r

[root@coderknock ~]# tar xvf mysql-5.7.17-1.el6.i686.rpm-bundle.tar

  2.6.32-642.el6.i686

可以在浏览器打开sohu提供的MySQL镜像


选择MySQL-5.7


下载并解压的命令

[root@coderknock ~]# wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-1.el6.i686.rpm-bundle.tar 
[root@coderknock ~]# tar xvf mysql-5.7.17-1.el6.i686.rpm-bundle.tar

安装rpm是有依赖关系的,依赖关系如下:

yum install -y make 

yum install -y cmake

yum install -y gcc

yum install -y  gcc-c++

yum install -y  ncurses

yum install -y  ncurses-devel

依次安装之后,开始安装MySQL

第一步,安装mysql-community-common

[root@coderknock ~]# yum localinstall mysql-community-common-5.7.17-1.el6.i686.rpm

第二步,安装mysql-community-libs

[root@coderknock ~]# yum localinstall mysql-community-libs-5.7.17-1.el6.i686.rpm
第三步,安装mysql-comunity-client
[root@coderknock ~]# yum localinstall mysql-community-client-5.7.17-1.el6.i686.rpm

第四步,安装mysql-community-server

   [root@coderknock ~]# yum localinstall mysql-community-server-5.7.17-1.el6.i686.rpm 

安装之后,查看一下版本

[root@coderknock ~]# mysql -V

显示内容之后,启动MySQL

[root@coderknock ~]# service mysqld start
MySQL Daemon failed to start.
Starting mysqld:                                           [FAILED]

上面的启动失败,说明我们没有进行初始化

接下来,进行数据库初始化

[root@coderknock ~]# mysqld --initialize

初始的时候报错内容为:

2017-01-06T14:53:08.889803Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-01-06T14:53:08.892190Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2017-01-06T14:53:08.892475Z 0 [ERROR] Aborting

则不需要再初始化,清理一下/var/lib/mysql中的数据即可

即执行下面的命令,进行清理:

[root@coderknock ~]# rm -rf /var/lib/mysql
[root@coderknock ~]# service mysqld start
Initializing MySQL database:                         [  OK  ]
Installing validate password plugin:                       [  OK  ]
Starting mysqld:                                           [  OK  ]

如上,MySQL启动完毕。

但是,还是不能启动,如果报错内容为

[root@coderknock ~]# rm -rf /var/lib/mysql
[root@coderknock ~]# service mysqld start
Initializing MySQL database:                         [  OK  ]
Installing validate password plugin:                       [  FAILED  ]

这个时候,就需要看看3306端口是否被占用,如果被占用,就需要杀死进程,回收端口

执行下面的命令进行查看:

[root@coderknock ~]# lsof -i:3306
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
lwfs    22065 root    6u  IPv4 4395053      0t0  TCP *:irdmi (LISTEN)

根据下面的命令杀掉进程:

[root@coderknock ~]#
kill -9 PID

再通过lsof命令,检查一下3306端口是否被占用

没有的话,执行

[root@coderknock ~]# rm -rf /var/lib/mysql
[root@coderknock ~]# service mysqld start
Initializing MySQL database:                         [  OK  ]
Installing validate password plugin:                       [  OK  ]
Starting mysqld:                                           [  OK  ]

成功启动MySQL,如果还是不行,那么可能是以前安装MySQL的时候,把mysqld这个进程

设置为了开机启动,关闭mysqld的开机启动即可,命令如下:

查看开机启动服务列表:

[root@coderknock ~]# chkconfig --list

添加开机启动服务:

[root@coderknock ~]# chkconfig --add mysqld

移出开机启动服务:

[root@coderknock ~]# chkconfig --del mysqld

然后再执行,

[root@coderknock ~]# rm -rf /var/lib/mysql
[root@coderknock ~]# service mysqld start
Initializing MySQL database:                         [  OK  ]
Installing validate password plugin:                       [  OK  ]
Starting mysqld:                                           [  OK  ]

即可成功启动MySQL

MySQL5.6.6的以上版本都有一个密码验证的功能,所以,会有一个默认的密码,

可以在/var/log/my.log中找到

或者执行下面的命令

[root@coderknock ~]# grep 'temporary password' /var/log/mysqld.log

2017-01-06T14:53:33.490540Z 1 [Note] A temporary password is generated for root@localhost: Ei(GLix_p6/1

重置密码

登录进去之后,无论是获取到了默认密码还是强行修改了密码。新版MySQL在第一次通过密码登录后会无法执行SQL语句

mysql> select host from mysql.user where User='root';

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

所以,要用

mysql> ALTER USER 'root'@'%' IDENTIFIED BY '你的密码';

因为有密码验证插件,所以,密码包含字母,数字,符号,基本都可以通过验证,重置之后即可。

如果输入该命令后,还一直同样的错,可以执行

SET PASSWORD = PASSWORD('你的密码');

二:远程授权登录

如果想要设置远程登录linux服务器下的MySQL

1:登录到linux服务器上的MySQL:

使用mysql数据库(真正的数据库,而非数据库软件),将所有数据库的所有表(*.*)的所有权限(all privileges),

授予通过任何ip(%)访问的root用户,密码为123456,最后刷新(flush privileges)即可。

2:开放3306防火墙端口:

通过vim修改/etc/sysconfig/iptables,添加一行:


3:重启一下防火墙


4:在填写连接的时候,用户名和密码均为第一步设置的用户和密码,Ip地址为服务器的IP地址


三:卸载MySQL

在卸载之前可以查看一下MySQL的版本,必须停止MySQL,如果你想备份一下数据,

可以执行

[root@coderknock ~]# mysqldump -u xxx -h xxx -P 3306 -p --all-databases > databases.sql

然后执行

[root@coderknock ~]# yum remove mysql mysql-*














  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值