• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Centos MySQL 5.7安装、升级教程

    MySQL 5.7安装、升级笔记分享:

    卸载当前的 MySQL

    查看当前 MySQL 版本:

    [root@coderknock ~]# mysql -V
    mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (i386) using readline 5.1

    停止 MySQL 服务

    [root@coderknock ~]# service mysqld stop
    Stopping mysqld:      [ OK ]
    

    备份数据【数据不重要可以忽略】

    备份数据库,升级MySQL通常不会丢失数据,但保险起见,我们需要做这一步。输入命令:

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

    卸载旧版本 MySQL

    [root@coderknock ~]# yum remove mysql mysql-*
    Loaded plugins: security
    Setting up Remove Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql.i686 0:5.1.73-7.el6 will be erased
    ---> Package mysql-libs.i686 0:5.1.73-7.el6 will be erased
    --> Processing Dependency: libmysqlclient.so.16 for package: 2:postfix-2.6.6-6.el6_7.1.i686
    --> Processing Dependency: libmysqlclient.so.16 for package: perl-DBD-MySQL-4.013-3.el6.i686
    --> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: 2:postfix-2.6.6-6.el6_7.1.i686
    --> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: perl-DBD-MySQL-4.013-3.el6.i686
    --> Processing Dependency: mysql-libs for package: 2:postfix-2.6.6-6.el6_7.1.i686
    ---> Package mysql-server.i686 0:5.1.73-7.el6 will be erased
    --> Running transaction check
    ---> Package perl-DBD-MySQL.i686 0:4.013-3.el6 will be erased
    ---> Package postfix.i686 2:2.6.6-6.el6_7.1 will be erased
    --> Processing Dependency: /usr/sbin/sendmail for package: cronie-1.4.4-16.el6_8.2.i686
    --> Processing Dependency: /usr/sbin/sendmail for package: redhat-lsb-core-4.0-7.el6.centos.i686
    --> Running transaction check
    ---> Package cronie.i686 0:1.4.4-16.el6_8.2 will be erased
    --> Processing Dependency: cronie = 1.4.4-16.el6_8.2 for package: cronie-anacron-1.4.4-16.el6_8.2.i686
    ---> Package redhat-lsb-core.i686 0:4.0-7.el6.centos will be erased
    --> Running transaction check
    ---> Package cronie-anacron.i686 0:1.4.4-16.el6_8.2 will be erased
    --> Processing Dependency: /etc/cron.d for package: crontabs-1.10-33.el6.noarch
    --> Processing Dependency: /etc/cron.d for package: sysstat-9.0.4-31.el6.i686
    --> Restarting Dependency Resolution with new changes.
    --> Running transaction check
    ---> Package crontabs.noarch 0:1.10-33.el6 will be erased
    ---> Package sysstat.i686 0:9.0.4-31.el6 will be erased
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =======================================================================================================================================================================================================
     Package     Arch    Version     Repository        Size
    =======================================================================================================================================================================================================
    Removing:
     mysql     i686    5.1.73-7.el6     @base        2.3 M
     mysql-libs     i686    5.1.73-7.el6     @base        3.9 M
     mysql-server    i686    5.1.73-7.el6     @base        24 M
    Removing for dependencies:
     cronie     i686    1.4.4-16.el6_8.2    @updates        169 k
     cronie-anacron    i686    1.4.4-16.el6_8.2    @updates        38 k
     crontabs     noarch    1.10-33.el6     @anaconda-CentOS-201311291201.i386/6.5    2.4 k
     perl-DBD-MySQL    i686    4.013-3.el6     @base        341 k
     postfix     i686    2:2.6.6-6.el6_7.1    @base        9.3 M
     redhat-lsb-core    i686    4.0-7.el6.centos    @anaconda-CentOS-201311291201.i386/6.5    22 k
     sysstat     i686    9.0.4-31.el6     @base        804 k
    
    Transaction Summary
    =======================================================================================================================================================================================================
    Remove 10 Package(s)
    
    Installed size: 41 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Erasing : mysql-server-5.1.73-7.el6.i686                   1/10 
    warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave
     Erasing : redhat-lsb-core-4.0-7.el6.centos.i686                  2/10 
    /var/tmp/rpm-tmp.Y5QGjy: line 1: lsb_release: command not found
     Erasing : mysql-5.1.73-7.el6.i686                    3/10 
     Erasing : perl-DBD-MySQL-4.013-3.el6.i686                   4/10 
     Erasing : sysstat-9.0.4-31.el6.i686                    5/10 
     Erasing : crontabs-1.10-33.el6.noarch                   6/10 
     Erasing : cronie-anacron-1.4.4-16.el6_8.2.i686                  7/10 
     Erasing : cronie-1.4.4-16.el6_8.2.i686                   8/10 
     Erasing : 2:postfix-2.6.6-6.el6_7.1.i686                   9/10 
     Erasing : mysql-libs-5.1.73-7.el6.i686                   10/10 
     Verifying : redhat-lsb-core-4.0-7.el6.centos.i686                  1/10 
     Verifying : perl-DBD-MySQL-4.013-3.el6.i686                   2/10 
     Verifying : mysql-server-5.1.73-7.el6.i686                   3/10 
     Verifying : crontabs-1.10-33.el6.noarch                   4/10 
     Verifying : sysstat-9.0.4-31.el6.i686                    5/10 
     Verifying : cronie-anacron-1.4.4-16.el6_8.2.i686                  6/10 
     Verifying : cronie-1.4.4-16.el6_8.2.i686                   7/10 
     Verifying : mysql-libs-5.1.73-7.el6.i686                   8/10 
     Verifying : mysql-5.1.73-7.el6.i686                    9/10 
     Verifying : 2:postfix-2.6.6-6.el6_7.1.i686                   10/10 
    
    Removed:
     mysql.i686 0:5.1.73-7.el6     mysql-libs.i686 0:5.1.73-7.el6     mysql-server.i686 0:5.1.73-7.el6     
    
    Dependency Removed:
     cronie.i686 0:1.4.4-16.el6_8.2  cronie-anacron.i686 0:1.4.4-16.el6_8.2 crontabs.noarch 0:1.10-33.el6 perl-DBD-MySQL.i686 0:4.013-3.el6 postfix.i686 2:2.6.6-6.el6_7.1 
     redhat-lsb-core.i686 0:4.0-7.el6.centos sysstat.i686 0:9.0.4-31.el6  
    
    Complete!
    
    

    这样就卸载完成了,为了保险起见我们检查一下系统中是否还有 MySQL 相关内容没有删除干净

    [root@coderknock ~]# yum list installed | grep mysql
    [root@coderknock ~]# 
    

    上面的情况是没有未删除部分,如果有的话可通过下面的命令删除:

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

    下载最新版本的 MySQL

    查看系统配置信息选择对应 MySQL 包

    [root@coderknock ~]# uname -r 
    3.10.104-1.el6.elrepo.i686
    

    在浏览器打开 sohu提供的MySQL 镜像(官网速度太慢)

    然后根据自己系统配置选择对应的 rpm 包,右键复制文件链接,我的选择如下:

    下载并解压

    [root@coderknock ~]# wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-1.el6.i686.rpm-bundle.tar
    --2017-01-06 22:46:15-- http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-1.el6.i686.rpm-bundle.tar
    Resolving mirrors.sohu.com... 119.188.36.70
    Connecting to mirrors.sohu.com|119.188.36.70|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 448163840 (427M) [application/octet-stream]
    Saving to: “mysql-5.7.17-1.el6.i686.rpm-bundle.tar”
    
    100%[=============================================================================================================================================================>] 448,163,840 9.98M/s in 45s 
    
    2017-01-06 22:47:00 (9.54 MB/s) - “mysql-5.7.17-1.el6.i686.rpm-bundle.tar” saved [448163840/448163840]
    [root@coderknock ~]# tar xvf mysql-5.7.17-1.el6.i686.rpm-bundle.tar 
    mysql-community-libs-compat-5.7.17-1.el6.i686.rpm
    mysql-community-client-5.7.17-1.el6.i686.rpm
    mysql-community-embedded-devel-5.7.17-1.el6.i686.rpm
    mysql-community-devel-5.7.17-1.el6.i686.rpm
    mysql-community-common-5.7.17-1.el6.i686.rpm
    mysql-community-test-5.7.17-1.el6.i686.rpm
    mysql-community-embedded-5.7.17-1.el6.i686.rpm
    mysql-community-libs-5.7.17-1.el6.i686.rpm
    mysql-community-server-5.7.17-1.el6.i686.rpm
    
    

    安装及配置

    安装 rpm 【有依赖关系,请按下面的步骤安装,搜索 [root@coderknock ~]# 可跳过安装日志直接查看相关命令】

    [root@coderknock ~]# yum localinstall mysql-community-common-5.7.17-1.el6.i686.rpm 
    Loaded plugins: security
    Setting up Local Package Process
    Examining mysql-community-common-5.7.17-1.el6.i686.rpm: mysql-community-common-5.7.17-1.el6.i686
    Marking mysql-community-common-5.7.17-1.el6.i686.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql-community-common.i686 0:5.7.17-1.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =======================================================================================================================================================================================================
     Package      Arch    Version     Repository        Size
    =======================================================================================================================================================================================================
    Installing:
     mysql-community-common    i686    5.7.17-1.el6    /mysql-community-common-5.7.17-1.el6.i686    2.5 M
    
    Transaction Summary
    =======================================================================================================================================================================================================
    Install 1 Package(s)
    
    Total size: 2.5 M
    Installed size: 2.5 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Installing : mysql-community-common-5.7.17-1.el6.i686                  1/1 
     Verifying : mysql-community-common-5.7.17-1.el6.i686                  1/1 
    
    Installed:
     mysql-community-common.i686 0:5.7.17-1.el6                    
    
    Complete!
    [root@coderknock ~]# yum localinstall mysql-community-libs-5.7.17-1.el6.i686.rpm 
    Loaded plugins: security
    Setting up Local Package Process
    Examining mysql-community-libs-5.7.17-1.el6.i686.rpm: mysql-community-libs-5.7.17-1.el6.i686
    Marking mysql-community-libs-5.7.17-1.el6.i686.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql-community-libs.i686 0:5.7.17-1.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =======================================================================================================================================================================================================
     Package      Arch    Version     Repository        Size
    =======================================================================================================================================================================================================
    Installing:
     mysql-community-libs    i686    5.7.17-1.el6    /mysql-community-libs-5.7.17-1.el6.i686    7.8 M
    
    Transaction Summary
    =======================================================================================================================================================================================================
    Install 1 Package(s)
    
    Total size: 7.8 M
    Installed size: 7.8 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Installing : mysql-community-libs-5.7.17-1.el6.i686                  1/1 
     Verifying : mysql-community-libs-5.7.17-1.el6.i686                  1/1 
    
    Installed:
     mysql-community-libs.i686 0:5.7.17-1.el6                    
    
    Complete!
    [root@coderknock ~]# yum localinstall mysql-community-client-5.7.17-1.el6.i686.rpm 
    Loaded plugins: security
    Setting up Local Package Process
    Examining mysql-community-client-5.7.17-1.el6.i686.rpm: mysql-community-client-5.7.17-1.el6.i686
    Marking mysql-community-client-5.7.17-1.el6.i686.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql-community-client.i686 0:5.7.17-1.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =======================================================================================================================================================================================================
     Package      Arch    Version     Repository        Size
    =======================================================================================================================================================================================================
    Installing:
     mysql-community-client    i686    5.7.17-1.el6    /mysql-community-client-5.7.17-1.el6.i686    87 M
    
    Transaction Summary
    =======================================================================================================================================================================================================
    Install 1 Package(s)
    
    Total size: 87 M
    Installed size: 87 M
    Is this ok [y/N]: ^[[A^Hy
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Installing : mysql-community-client-5.7.17-1.el6.i686                  1/1 
     Verifying : mysql-community-client-5.7.17-1.el6.i686                  1/1 
    
    Installed:
     mysql-community-client.i686 0:5.7.17-1.el6                    
    
    Complete!
    [root@coderknock ~]# yum localinstall mysql-community-server-5.7.17-1.el6.i686.rpm 
    Loaded plugins: security
    Setting up Local Package Process
    Examining mysql-community-server-5.7.17-1.el6.i686.rpm: mysql-community-server-5.7.17-1.el6.i686
    Marking mysql-community-server-5.7.17-1.el6.i686.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql-community-server.i686 0:5.7.17-1.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =======================================================================================================================================================================================================
     Package      Arch    Version     Repository        Size
    =======================================================================================================================================================================================================
    Installing:
     mysql-community-server    i686    5.7.17-1.el6    /mysql-community-server-5.7.17-1.el6.i686    695 M
    
    Transaction Summary
    =======================================================================================================================================================================================================
    Install 1 Package(s)
    
    Total size: 695 M
    Installed size: 695 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Installing : mysql-community-server-5.7.17-1.el6.i686                  1/1 
     Verifying : mysql-community-server-5.7.17-1.el6.i686                  1/1 
    
    Installed:
     mysql-community-server.i686 0:5.7.17-1.el6                    
    
    Complete!
    
    

    配置

    查看版本

    [root@coderknock ~]# mysql -V
    mysql Ver 14.14 Distrib 5.7.17, for Linux (i686) using EditLine wrapper
    

    启动 MySQL

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

    上面的情况说明启动失败,这是因为经过上面的步骤,MySQL 最新版已经安装到我们的系统了,但这是还没有初始化数据,所以导致无法启动。

    初始化数据库

    [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

    可以运行以下命令【无需再执行 mysqld --initialize】:

    [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 无法登陆的解决办法

    登录时我遇到了一些问题:

    [root@coderknock ~]# mysql -u root -p
    Enter password: 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    

    这是因较新版本的 MySQL 因为安全的考虑,会设置默认密码

    [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
    

    这样就找到了密码,如果上面方法不可行可以看看是否有 /root/.mysql_secret 文件

    或者通过以下方法直接修改密码:

    [root@coderknock ~]# service mysqld stop
    Stopping mysqld:      [ OK ]
    [root@coderknock ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking 
    [1] 14208
    [root@coderknock ~]# 2017-01-06T15:02:18.663496Z mysqld_safe Logging to '/var/log/mysqld.log'.
    2017-01-06T15:02:18.666764Z mysqld_safe Logging to '/var/log/mysqld.log'.
    2017-01-06T15:02:18.693025Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
    ^C
    [root@coderknock ~]# mysql -u root mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 3
    Server version: 5.7.17 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>update mysql.user set authentication_string=password('你的密码.') where User='root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 1
    mysql> flush privileges;
    mysql> update mysql.user set Host='%' where User='root'
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 1
    mysql> flush privileges;
    
    

    注意SQL在Linux下要注意大小写,执行之后Query OK, 1 row affected, 1 warning (0.00 sec),row 之前是1才代表执行成功了。update mysql.user set Host='%' where User='root' 这句是为了别的 IP 的机器也可以登录我们的MySQL,可以按需执行

    重置密码

    无论是获取到了默认密码还是强行修改了密码。新版 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 为了安全会要求修改初始密码。

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

    如果遇到ERROR 1819 (HY000): Your password does not satisfy the current policy requirements说明你的密码太简单,需要设置复杂点的密码,有大小写字母、有数字、有标点基本上就可以通过。
    注意,如果你没有修改过 root 用户的Host或者修改为非 % 的字符,需要对上面的语句进行对应的修改,例如: ALTER USER ‘root'@'localhost' IDENTIFIED BY ‘你的密码'

    如果遇到ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 则需要退出安全模式,正常启动MySQL后登陆再进行以上操作:

    mysql> quit
    [root@coderknock ~]# ps -ef|grep mysql
    root 14208 12686 0 23:02 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking
    mysql 14381 14208 0 23:02 pts/0 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
    root 15148 12686 0 23:23 pts/0 00:00:00 grep mysql
    [root@coderknock ~]# kill -9 114208
    -bash: kill: (114208) - No such process
    [root@coderknock ~]# kill -9 14208
    [1]+ Killed   mysqld_safe --user=mysql --skip-grant-tables --skip-networking
    [root@coderknock ~]# kill -9 1438
    [root@coderknock ~]# service mysqld start
    [root@coderknock ~]# mysql -u root mysql
    

    精彩专题分享:mysql不同版本安装教程 mysql5.7各版本安装教程

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • MySQL 升级方法指南大全
    • linux下安装升级mysql到新版本(5.1-5.7)
    • 实战MySQL升级的最佳方法
    • Mysql升级到5.7后遇到的group by查询问题解决
    • Win下Mysql5.6升级到5.7的方法
    • mysql版本5.5.x升级到5.6.x步骤分享
    • 升级到MySQL5.7后开发不得不注意的一些坑
    • Mysql5升级到Mysql5.5的方法
    • 图解MYSQL的安装和数据升级
    • win2008下mysql8.0.11升级mysql8.0.17版本详细步骤
    上一篇:Mysql 5.7.17 解压版(ZIP版)安装步骤详解
    下一篇:mysql 5.7.17 64bit安装配置方法图文教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Centos MySQL 5.7安装、升级教程 Centos,MySQL,5.7,安装,升级,