程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Centos MySQL 5.7裝置、晉級教程

Centos MySQL 5.7裝置、晉級教程

編輯:MySQL綜合教程

Centos MySQL 5.7裝置、晉級教程。本站提示廣大學習愛好者:(Centos MySQL 5.7裝置、晉級教程)文章只能為提供參考,不一定能成為您想要的結果。以下是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各版本裝置教程

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved