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

卸载当前的 MySQL

查看当前 MySQL 版本:

[root@coderknock ~]# mysql -Vmysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (i386) using readline 5.1
[root@coderknock ~]# service mysqld stopStopping 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: securitySetting up Remove ProcessResolving 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 ResolutionDependencies 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 MRemoving 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 kTransaction Summary=======================================================================================================================================================================================================Remove 10 Package(s)Installed size: 41 MIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning 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!
[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

然后根据自己系统配置选择对应的 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.tarResolving mirrors.sohu.com... 119.188.36.70Connecting to mirrors.sohu.com|119.188.36.70|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 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.rpmmysql-community-client-5.7.17-1.el6.i686.rpmmysql-community-embedded-devel-5.7.17-1.el6.i686.rpmmysql-community-devel-5.7.17-1.el6.i686.rpmmysql-community-common-5.7.17-1.el6.i686.rpmmysql-community-test-5.7.17-1.el6.i686.rpmmysql-community-embedded-5.7.17-1.el6.i686.rpmmysql-community-libs-5.7.17-1.el6.i686.rpmmysql-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: securitySetting up Local Package ProcessExamining mysql-community-common-5.7.17-1.el6.i686.rpm: mysql-community-common-5.7.17-1.el6.i686Marking mysql-community-common-5.7.17-1.el6.i686.rpm to be installedResolving Dependencies--> Running transaction check---> Package mysql-community-common.i686 0:5.7.17-1.el6 will be installed--> Finished Dependency ResolutionDependencies 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 MTransaction Summary=======================================================================================================================================================================================================Install 1 Package(s)Total size: 2.5 MInstalled size: 2.5 MIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning 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: securitySetting up Local Package ProcessExamining mysql-community-libs-5.7.17-1.el6.i686.rpm: mysql-community-libs-5.7.17-1.el6.i686Marking mysql-community-libs-5.7.17-1.el6.i686.rpm to be installedResolving Dependencies--> Running transaction check---> Package mysql-community-libs.i686 0:5.7.17-1.el6 will be installed--> Finished Dependency ResolutionDependencies 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 MTransaction Summary=======================================================================================================================================================================================================Install 1 Package(s)Total size: 7.8 MInstalled size: 7.8 MIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning 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: securitySetting up Local Package ProcessExamining mysql-community-client-5.7.17-1.el6.i686.rpm: mysql-community-client-5.7.17-1.el6.i686Marking mysql-community-client-5.7.17-1.el6.i686.rpm to be installedResolving Dependencies--> Running transaction check---> Package mysql-community-client.i686 0:5.7.17-1.el6 will be installed--> Finished Dependency ResolutionDependencies 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 MTransaction Summary=======================================================================================================================================================================================================Install 1 Package(s)Total size: 87 MInstalled size: 87 MIs this ok [y/N]: ^[[A^HyIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning 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: securitySetting up Local Package ProcessExamining mysql-community-server-5.7.17-1.el6.i686.rpm: mysql-community-server-5.7.17-1.el6.i686Marking mysql-community-server-5.7.17-1.el6.i686.rpm to be installedResolving Dependencies--> Running transaction check---> Package mysql-community-server.i686 0:5.7.17-1.el6 will be installed--> Finished Dependency ResolutionDependencies 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 MTransaction Summary=======================================================================================================================================================================================================Install 1 Package(s)Total size: 695 MInstalled size: 695 MIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning 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 -Vmysql Ver 14.14 Distrib 5.7.17, for Linux (i686) using EditLine wrapper
[root@coderknock ~]# service mysqld startMySQL 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

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

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

MySQL 无法登陆的解决办法

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

[root@coderknock ~]# mysql -u root -pEnter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@coderknock ~]# grep 'temporary password' /var/log/mysqld.log2017-01-06T14:53:33.490540Z 1 [Note] A temporary password is generated for root@localhost: Ei(GLix_p6/1

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

[root@coderknock ~]# service mysqld stopStopping 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 mysqlReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -AWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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: 1mysql> 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: 1mysql> flush privileges;

重置密码

无论是获取到了默认密码还是强行修改了密码。新版 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 '你的密码';

如果遇到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 mysqlroot 14208 12686 0 23:02 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networkingmysql 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.sockroot 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

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. Pycharm安装PyQt5的详细教程
  3. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  4. android用户界面之按钮(Button)教程实例汇
  5. 【Android(安卓)开发教程】Toast通知
  6. Android简易实战教程--第三十九话《Chronometer实现倒计时》
  7. android加密解密完美教程
  8. Android(安卓)SDK自带教程之BluetoothChat
  9. 工作环境搭建(8) - CentOS7命令行安装Android(安卓)SDK

随机推荐

  1. Android Studio下“Error:Could not find
  2. Android(安卓)多分包,方法数超出 65536 限
  3. 【解决方法】Unexpected namespace prefi
  4. Android Tips: 打电话和发短信
  5. android 内存管理
  6. android4.0自定义标题报错 -----断点记录
  7. Android 的大牛的博客 提供给大家参考
  8. JavaCV & Android
  9. Android 文件夹命名规范 国际化资源
  10. Android脚本环境