mysql数据库管理-mysql 5.7.20 升到mysql 5.7.28

---实际操作升级案例

(1)创建mysql 5.7.28安装目录

[root@postgresql ~]# mkdir /mysql5.28
[root@postgresql ~]# chown mysql:mysql /mysql5.28/
[root@postgresql ~]# chmod 775 /mysql5.28/     #### 创建新的basedir

(2)查看当前mysql变量

mysql@ [(none)] 21:14: >select version();
+------------+
| version()  |
+------------+
| 5.7.27-log |
+------------+
1 row in set (0.04 sec)

mysql@ [(none)] 21:15: >select @@datadir
    -> ;
+------------------+
| @@datadir        |
+------------------+
| /mysql5.17/data/ |
+------------------+
1 row in set (0.02 sec)
mysql@ [(none)] 21:19: >select @@basedir
    -> ;
+-------------+
| @@basedir   |
+-------------+
| /mysql5.17/ |
+-------------+
1 row in set (0.00 sec)

mysql@ [(none)] 21:15: >show variables like '%default%';
+---------------------------------+-----------------------+
| Variable_name                   | Value                 |
+---------------------------------+-----------------------+
| default_authentication_plugin   | mysql_native_password |
| default_password_lifetime       | 0                     |
| default_storage_engine          | InnoDB                |
| default_tmp_storage_engine      | InnoDB                |
| default_week_format             | 0                     |
| explicit_defaults_for_timestamp | OFF                   |
| innodb_default_row_format       | dynamic               |
+---------------------------------+-----------------------+
7 rows in set (0.05 sec)

(3)上传mysql5.7.28软件

  mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

-bash-4.2$ mv mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz mysql5.28/
-bash-4.2$ tar -xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 
-bash-4.2$ cd mysql-5.7.28-linux-glibc2.12-x86_64/
-bash-4.2$ ls
bin  docs  include  lib  LICENSE  man  README  share  support-files
-bash-4.2$ mv * /mysql5.28/                                           ##############上传解压软件


[root@postgresql ~]# service mysql stop
Redirecting to /bin/systemctl stop mysql.service            ####关闭mysql#####
[root@postgresql ~]# 


-bash-4.2$ more /etc/my.cnf                                 ###调整配置文件basedir和相关的bin-log
[mysqld]
server-id = 1003306
skip-grant-tables
secure_file_priv="/mysql5.17"
port = 3306
skip-ssl
basedir = /mysql5.28
datadir = /mysql5.17/data
socket=/tmp/mysql.sock
pid-file=/mysql5.17/data/mysql.pid
character-set-server=utf8
default-storage-engine=InnoDB
user=mysql
max_connections=1500
symbolic-links=0
!includedir /etc/my.cnf.d
log-bin=/mysql5.28/log/my3306_binlog


###mysql安装目录########
#basedir="/mysql/soft"
#datadir="/mysql/data"


[mysql]
prompt="\U [\d] \R:\m:\s>"
-bash-4.2$ 

-bash-4.2$ more .bash_profile    ####调整环境变量######
PATH=$PATH:/mysql5.28/bin

[root@postgresql ~]# service mysql start           ###启动mysql ps -ef|grep mysql看看进程确认一下
Redirecting to /bin/systemctl start mysql.service

 

(4)升级字典


-bash-4.2$ mysql_upgrade -S /tmp/mysql.sock -uroot -p123
mysql_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                                 OK
mysql.db                                           OK
mysql.engine_cost                                  OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
Found outdated sys schema version 1.5.1.
Upgrading the sys schema.
Checking databases.
monidb.新建文本文档                                OK
monidb.emn                                         OK
monidb.t                                           OK
monidb.tabc                                        OK
rmmdb.tint1                                        OK
sys.sys_config                                     OK
tjnpm.port                                         OK
Upgrade process completed successfully.
Checking if update is needed.
-bash-4.2$ 

(5)升级后状态检查

[root@postgresql ~]# service mysql status
Redirecting to /bin/systemctl status mysql.service
● mysqld.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
   Active: active (running) since Wed 2019-12-11 21:31:00 PST; 4min 51s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 40880 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/mysqld.service
           ├─40899 /bin/sh /mysql5.28/bin/mysqld_safe --datadir=/mysql5.17/data --pid-file=/mysql5.17/data/mysql.pid
           └─41175 /mysql5.28/bin/mysqld --basedir=/mysql5.28 --datadir=/mysql5.17/data --plugin-dir=/mysql5.28/lib/plugin --user=mysql --log-error=postgresql.err --pid-file=/mysql5.17/data/mysql.pid --socket=/tmp/mysql.sock --
port=33...

Dec 11 21:30:52 postgresql systemd[1]: Starting LSB: start and stop MySQL...
Dec 11 21:31:00 postgresql mysqld[40880]: Starting MySQL...... SUCCESS!
Dec 11 21:31:00 postgresql systemd[1]: Started LSB: start and stop MySQL.

root      41849      1  0 21:38 ?        00:00:00 /bin/sh /mysql5.28/bin/mysqld_safe --datadir=/mysql5.17/data --pid-file=/mysql5.17/data/mysql.pid
mysql     42125  41849 20 21:38 ?        00:00:01 /mysql5.28/bin/mysqld --basedir=/mysql5.28 --datadir=/mysql5.17/data --plugin-dir=/mysql5.28/lib/plugin --user=mysql --log-error=postgresql.err --pid-file=/mysql5.17/data/mysql.pid --
socket=/tmp/mysql.sock --port=3306

-bash-4.2$ cd /mysql5.28/log/
-bash-4.2$ ls
my3306_binlog.000001  my3306_binlog.000002  my3306_binlog.index
-bash-4.2$ ls -lrt
total 12
-rw-r-----. 1 mysql mysql 177 Dec 11 21:37 my3306_binlog.000001
-rw-r-----. 1 mysql mysql  72 Dec 11 21:38 my3306_binlog.index
-rw-r-----. 1 mysql mysql 154 Dec 11 21:38 my3306_binlog.000002
-bash-4.2$ 

####################信息确认
-bash-4.2$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.28-log MySQL Community Server (GPL)

Copyright (c) 2000, 2019, 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@ [(none)] 21:43: >select @@basedir
    -> ;
+-------------+
| @@basedir   |
+-------------+
| /mysql5.28/ |
+-------------+
1 row in set (0.00 sec)

mysql@ [(none)] 21:43: >select @@datadir;
+------------------+
| @@datadir        |
+------------------+
| /mysql5.17/data/ |
+------------------+
1 row in set (0.00 sec)

mysql@ [(none)] 21:43: >show variables like '%default%';
+---------------------------------+-----------------------+
| Variable_name                   | Value                 |
+---------------------------------+-----------------------+
| default_authentication_plugin   | mysql_native_password |
| default_password_lifetime       | 0                     |
| default_storage_engine          | InnoDB                |
| default_tmp_storage_engine      | InnoDB                |
| default_week_format             | 0                     |
| explicit_defaults_for_timestamp | OFF                   |
| innodb_default_row_format       | dynamic               |
+---------------------------------+-----------------------+
7 rows in set (0.04 sec)

mysql@ [(none)] 21:43: >show processlist;
+----+-------+-----------+------+---------+------+----------+------------------+
| Id | User  | Host      | db   | Command | Time | State    | Info             |
+----+-------+-----------+------+---------+------+----------+------------------+
|  4 | mysql | localhost | NULL | Query   |    0 | starting | show processlist |
+----+-------+-----------+------+---------+------+----------+------------------+
1 row in set (0.00 sec)

mysql@ [(none)] 21:43: >

 

案例 2 

1 下载2进制文件

1. 解压mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 

    tar -zxvf  mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 

2. 关闭db .

service mysqld stop

3.  替换mysql二进制应用文件

      mv  /home/mysql   /home/mysql_old

      mv  mysql-5.7.26-linux-glibc2.12-x86_64  /home/mysql

     chown -R mysql:mysql  /home/mysql

     cp  /home/mysql_old/.bash_profile    /home/mysql/

4. 升级

     启动: mysqld_safe --user=mysql --datadir=/mydata/data &

     把升级应用到表:mysql_upgrade -S /home/mysql/mysql.sock -u root -p

     关闭 :mysqladmin -S /home/db/mysql/mysql.sock -u root -p shutdown

     开启: service mysqld start

5. 版本查询

root@127.0.0.104:13:46[(none)]>show variables like '%version' ;
+------------------+---------------+
| Variable_name    | Value         |
+------------------+---------------+
| innodb_version   | 5.7.26        |
| protocol_version | 10            |
| tls_version      | TLSv1,TLSv1.1 |
| version          | 5.7.26-log    |
+------------------+---------------+

至此升级完毕。

关闭 :mysqladmin -S /home/db/mysql/mysql.sock -u root -p shutdown

替换: mv  /home/mysql   /home/mysql_old

开启: service mysqld start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值