02-mysql升级篇(rpm方式+二进制方式升级)
- 升级方式一、rpm方式安装升级
- 升级方式二、二进制方式安装升级
- 1、下载mysql-5.7.42安装包(mysql-5.7.18升级mysql-5.7.42)
- 2、备份数据库(==重要==)
- 3、备份完成之后,停止mysql服务
- 4、解压mysql-5.7.42
- 5、备份旧版mysql-5.7.18 安装目录下的文件,
- 6、删除旧版安装目录/usr/local/mysql下(bin、docs、includ、lib、share、support-files、LICENSE、README);
- 7、将新解压的mysql-5.7.42目录复制到原来mysql安装目录下(/usr/local/mysql/),并修改文件权限。
- 8、将新解压的mysql-5.7.42的mysqld版本复制到/etc/init.d/ 下
- 9、修改参数
- 10、启动mysql、检查版本
- 11、行mysql_upgrade进行检查
- 12、账号密码、数据等检查
升级方式一、rpm方式安装升级
升级先看mysql安装篇 :01-mysql安装篇(rpm方式安装+二进制方式安装)
注意相关安装及配置目录
1、下载mysql-5.7.42安装包(mysql-5.7.37升级mysql-5.7.42)
地址:https://downloads.mysql.com/archives/community/
mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar
rpm 方式重要文件路径说明:主要文件默认路径如下:配置文件路径:/etc/my.cnf数据存储目录:/var/lib/mysql错误日志存储:/var/log/mysqld.logsocket文件路径:/var/lib/mysql/mysql.sock如上参数均可以通过/etc/my.cnf参数配置文件查看和自定义。
2、备份数据库、my.cnf文件,停止mysql服务(重要)
[root-mysql mysql-tar]# mysqldump -hlocalhost -uroot -p --all-databases > /home/user/db-test_back_2023.sql[root-mysql mysql-tar]# cp /etc/my.cnf /etc/5.7.37_my.cnf[root-mysql ~]# systemctl stop mysqld
3、查看当前数据库版本
mysql> select@;+-----------+| @ |+-----------+| 5.7.37 |+-----------+1 row in set (0.00 sec)mysql>
3、上传 mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar并解压
[root-mysql ~]# mkdir mysql-bundle[root-mysql ~]# [root-mysql ~]# tar -xvf mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar -C ~/mysql-bundlemysql-community-client-5.7.42-1.el7.x86_64.rpmmysql-community-common-5.7.42-1.el7.x86_64.rpmmysql-community-devel-5.7.42-1.el7.x86_64.rpmmysql-community-embedded-5.7.42-1.el7.x86_64.rpmmysql-community-embedded-compat-5.7.42-1.el7.x86_64.rpmmysql-community-embedded-devel-5.7.42-1.el7.x86_64.rpmmysql-community-libs-5.7.42-1.el7.x86_64.rpmmysql-community-libs-compat-5.7.42-1.el7.x86_64.rpmmysql-community-server-5.7.42-1.el7.x86_64.rpmmysql-community-test-5.7.42-1.el7.x86_64.rpm[root-mysql ~]#
4、查看安装MySQL有关的包
[root-mysql mysql-bundle]# rpm -qa|grep -i mysqlmysql-community-common-5.7.37-1.el7.x86_64mysql-community-client-5.7.37-1.el7.x86_64mysql-community-server-5.7.37-1.el7.x86_64mysql-community-libs-5.7.37-1.el7.x86_64[root-mysql mysql-bundle]#
5、升级、按顺序执行
[root-mysql mysql-bundle]# ll总用量 544432-rw-r--r--. 1 7155 31415 29405072 3月 18 11:09 mysql-community-client-5.7.42-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 318948 3月 18 11:09 mysql-community-common-5.7.42-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 4430172 3月 18 11:09 mysql-community-devel-5.7.42-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 48202108 3月 18 11:10 mysql-community-embedded-5.7.42-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 23316088 3月 18 11:10 mysql-community-embedded-compat-5.7.42-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 133343532 3月 18 11:10 mysql-community-embedded-devel-5.7.42-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 2747748 3月 18 11:10 mysql-community-libs-5.7.42-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 1264424 3月 18 11:10 mysql-community-libs-compat-5.7.42-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 187276248 3月 18 11:10 mysql-community-server-5.7.42-1.el7.x86_64.rpm-rw-r--r--. 1 7155 31415 127179748 3月 18 11:10 mysql-community-test-5.7.42-1.el7.x86_64.rpm[root-mysql mysql-bundle]# rpm -Uvh mysql-community-server-5.7.42-1.el7.x86_64.rpm --force --nodeps警告:mysql-community-server-5.7.42-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY准备中... ################################# [100%]正在升级/安装... 1:mysql-community-server-5.7.42-1.e################################# [ 50%]正在清理/删除... 2:mysql-community-server-5.7.37-1.e################################# [100%][root-mysql mysql-bundle]# rpm -Uvh mysql-community-client-5.7.42-1.el7.x86_64.rpm --force --nodeps警告:mysql-community-client-5.7.42-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY准备中... ################################# [100%]正在升级/安装... 1:mysql-community-client-5.7.42-1.e################################# [ 50%]正在清理/删除... 2:mysql-community-client-5.7.37-1.e################################# [100%][root-mysql mysql-bundle]# rpm -Uvh mysql-community-libs-5.7.42-1.el7.x86_64.rpm --force --nodeps警告:mysql-community-libs-5.7.42-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY准备中... ################################# [100%]正在升级/安装... 1:mysql-community-libs-5.7.42-1.el7################################# [ 50%]正在清理/删除... 2:mysql-community-libs-5.7.37-1.el7################################# [100%][root-mysql mysql-bundle]# rpm -Uvh mysql-community-common-5.7.42-1.el7.x86_64.rpm --force --nodeps警告:mysql-community-common-5.7.42-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY准备中... ################################# [100%]正在升级/安装... 1:mysql-community-common-5.7.42-1.e################################# [ 50%]正在清理/删除... 2:mysql-community-common-5.7.37-1.e################################# [100%][root-mysql mysql-bundle]#
6、检查和升级数据库字典
[root-mysql mysql-bundle]# mysql_upgrade -uroot -p123456mysql_upgrade: [Warning] Using a password on the command line interface can be insecure.Checking if update is needed.Checking server version.Running queries to upgrade MySQL server.Checking system database.mysql.columns_priv OKmysql.db OKmysql.engine_cost OKmysql.event OKmysql.func OKmysql.general_log OKmysql.gtid_executed OKmysql.help_category OKmysql.help_keyword OKmysql.help_relation OKmysql.help_topic OKmysql.innodb_index_stats OKmysql.innodb_table_stats OKmysql.ndb_binlog_index OKmysql.plugin OKmysql.proc OKmysql.procs_priv OKmysql.proxies_priv OKmysql.server_cost OKmysql.servers OKmysql.slave_master_infoOKmysql.slave_relay_log_info OKmysql.slave_worker_infoOKmysql.slow_log OKmysql.tables_priv OKmysql.time_zone OKmysql.time_zone_leap_second OKmysql.time_zone_name OKmysql.time_zone_transition OKmysql.time_zone_transition_type OKmysql.user OKThe sys schema is already up to date (version 1.5.2).Checking databases.db-test.user OKsys.sys_config OKUpgrade process completed successfully.Checking if update is needed.[root-mysql mysql-bundle]#
7、启动mysql,检查版本和数据
[root-mysql ~]# mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.42 MySQL Community Server (GPL)Copyright (c) 2000, 2023, Oracle and/or its affiliates.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> select@;+-----------+| @ |+-----------+| 5.7.42 |+-----------+1 row in set (0.00 sec)mysql>
mysql> use db-test;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select * from user;+----+-----------+------+--------+| id | name | age | class |+----+-----------+------+--------+| 1 | 宋江 | 18 | 一班 || 2 | 卢俊义 | 20 | 二班 || 3 | 吴用 | 18 | 一班 || 4 | 公孙胜 | 19 | 二班 || 5 | 林冲 | 20 | 三班 || 6 | 呼延灼 | 16 | 四班 |+----+-----------+------+--------+6 rows in set (0.00 sec)mysql>
升级方式二、二进制方式安装升级
1、下载mysql-5.7.42安装包(mysql-5.7.18升级mysql-5.7.42)
地址:https://downloads.mysql.com/archives/community/
mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz
2、备份数据库(重要)
[root-mysql mysql-tar]# mysqldump -hlocalhost -uroot -p --all-databases > /home/user/myblog_back_2023.sql
3、备份完成之后,停止mysql服务
[root-mysql mysql-tar]# systemctl stop mysqld
4、解压mysql-5.7.42
[root-mysql mysql-tar]# tar -zxvf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz
5、备份旧版mysql-5.7.18 安装目录下的文件,
[root-mysql mysql]# mkdir mysql_bk[root-mysql mysql]# cp -R mysql/* mysql_bk### 或者直接压缩### tar -zcvf mysql.tar.gz mysql[root@db-mysql bin]# tar zcf mysql.tar.gz mysql
6、删除旧版安装目录/usr/local/mysql下(bin、docs、includ、lib、share、support-files、LICENSE、README);
[root-mysql mysql]# rm -rf bin[root-mysql mysql]# rm -rf docs[root-mysql mysql]# rm -rf include[root-mysql mysql]# rm -rf lib[root-mysql mysql]# rm -rf README[root-mysql mysql]# rm -rf LICENSE[root-mysql mysql]# rm -rf share[root-mysql mysql]# rm -rf support-files
先备份/etc/init.d/ 下的mysqld 再 删除/etc/init.d/ 下的mysqld
[root-mysql bin]# cd /etc/init.d/[root-mysql init.d]# tar zcf mysqld_5.7.18.tar.gz mysqld[root-mysql init.d]# rm -rf mysqld
7、将新解压的mysql-5.7.42目录复制到原来mysql安装目录下(/usr/local/mysql/),并修改文件权限。
[root-mysql mysql-tar]# mv mysql-5.7.42-linux-glibc2.12-x86_64/* /usr/local/mysql[root@db-mysql mysql]# chown -R mysql:mysql /usr/local/mysql
8、将新解压的mysql-5.7.42的mysqld版本复制到/etc/init.d/ 下
[root-mysql mysql-5.7.42-linux-glibc2.12-x86_64]# cp support-files/mysql.server /etc/init.d/mysqld
9、修改参数
[root-mysql ~]# vi /etc/init.d/mysqld
和原来安装的数据目录保持一致
datadir=/usr/local/mysql/databasedir=/usr/local/mysql
10、启动mysql、检查版本
[root-mysql ~]# systemctl start mysqld[root-mysql ~]# systemctl status mysqld● mysqld.service - LSB: start and stop MySQL Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled) Active: active (running) since 三 2023-05-10 22:45:11 CST; 2min 36s ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/mysqld.service ├─3279 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/db-mysql.pid └─3494 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --use...5月 10 22:45:10 db-mysql systemd[1]: Starting LSB: start and stop MySQL...5月 10 22:45:11 db-mysql mysqld[3268]: Starting MySQL. SUCCESS!5月 10 22:45:11 db-mysql systemd[1]: Started LSB: start and stop MySQL.[root-mysql ~]#
[root-mysql ~]# mysql -Vmysql Ver 14.14 Distrib 5.7.42, for linux-glibc2.12 (x86_64) using EditLine wrapper[root-mysql ~]# [root-mysql ~]# mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.42 MySQL Community Server (GPL)Copyright (c) 2000, 2023, Oracle and/or its affiliates.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> show version();ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'version()' at line 1mysql> mysql> select@;+-----------+| @ |+-----------+| 5.7.42 |+-----------+1 row in set (0.00 sec)mysql>
11、行mysql_upgrade进行检查
[root-mysql ~]# mysql_upgrade -uroot -p --force --skip-version-checkEnter password: Running queries to upgrade MySQL server.Checking system database.mysql.columns_priv OKmysql.db OKmysql.engine_cost OKmysql.event OKmysql.func OKmysql.general_log OKmysql.gtid_executed OKmysql.help_category OKmysql.help_keyword OKmysql.help_relation OKmysql.help_topic OKmysql.innodb_index_stats OKmysql.innodb_table_stats OKmysql.ndb_binlog_index OKmysql.plugin OKmysql.proc OKmysql.procs_priv OKmysql.proxies_priv OKmysql.server_cost OKmysql.servers OKmysql.slave_master_infoOKmysql.slave_relay_log_info OKmysql.slave_worker_infoOKmysql.slow_log OKmysql.tables_priv OKmysql.time_zone OKmysql.time_zone_leap_second OKmysql.time_zone_name OKmysql.time_zone_transition OKmysql.time_zone_transition_type OKmysql.user OKThe sys schema is already up to date (version 1.5.1).Checking databases.myblog.album OKmyblog.article OKmyblog.comment OKmyblog.likes OKmyblog.user OKsys.sys_config OKUpgrade process completed successfully.Checking if update is needed.[root-mysql ~]#
12、账号密码、数据等检查
来源地址:https://blog.csdn.net/qq_41840843/article/details/128406433