DBA-70-day02

第三章章節(jié) 下部:基礎(chǔ)管理、體系結(jié)構(gòu)、升級(jí)降級(jí)

1. 基礎(chǔ)管理

1.1 用戶管理

1.2 權(quán)限管理

1.3 連接管理

1.4 初始化配置文件

1.4.1 作用

<1. 影響到數(shù)據(jù)庫(kù)的啟動(dòng)、日常工作。

<2. 影響到客戶端連接(本地服務(wù)器上發(fā)起的)。

1.4.2 文件格式

[root@db01 ~]# cat /etc/my.cnf

[mysqld]

user=mysql

basedir=/data/app/mysql

datadir=/data/3306/data

socket=/tmp/mysql.sock

[mysql]

socket=/tmp/mysql.sock

[標(biāo)簽項(xiàng)] : 用來(lái)表示不同的程序

服務(wù)端: [mysqld] [mysqld_safe] [server]

客戶端:? [mysql]? [mysqldump]? [client]

配置=xxx : 設(shè)置的參數(shù)鍵值對(duì)

user=mysql? ? ? ? ? ? ? ? # 數(shù)據(jù)庫(kù)管理用戶

basedir=/data/app/mysql? ? # 程序路徑

datadir=/data/3306/data? ? # 數(shù)據(jù)路徑

socket=/tmp/mysql.sock? ? # socket文件位置

1.4.3 配置文件讀取順序

# 默認(rèn)配置文件讀取順序

[root@db01 ~]# mysqld --help --verbose |grep my.cnf

/etc/my.cnf ---》 /etc/mysql/my.cnf ---》 /usr/local/mysql/etc/my.cnf ----》 ~/.my.cnf

建議: 每個(gè)數(shù)據(jù)庫(kù)保留一個(gè)配置文件。

彩蛋:

如果有多個(gè)配置文件,例如

/etc/my.cnf? ---> port=3306

~/.my.cnf? ? ---> port=3308

數(shù)據(jù)庫(kù)啟動(dòng)時(shí),port是多少?

# 手工定義配置文件讀取路徑

mysqld? --defaults-file=/opt/my1.cnf? &

mysqld_safe --defaults-file=/opt/my2.cnf? &

1.4.4 root本地管理員的密碼忘記?

<1. 停數(shù)據(jù)庫(kù)

[root@db01 tmp]# /etc/init.d/mysqld stop

Shutting down MySQL.. SUCCESS!

[root@db01 tmp]#

<2. 啟動(dòng)數(shù)據(jù)庫(kù)到“安全”模式

mysqld_safe --skip-grant-tables --skip-networking &

參數(shù)作用:

--skip-grant-tables : 跳過(guò)授權(quán)表,不開(kāi)啟驗(yàn)證功能。

--skip-networking? :? 阻止所有TCP/IP網(wǎng)絡(luò)連接。

<3. 改密碼

mysql> flush privileges;

mysql> alter user root@'localhost' identified by '123456';

<4. 重啟至正常模式

[root@db01 tmp]# /etc/init.d/mysqld restart

1.5 MySQL的啟動(dòng)關(guān)閉


引用老男孩教育得圖

1.6 多實(shí)例應(yīng)用

1.6.1 創(chuàng)建相關(guān)目錄

[root@db01 ~]# mkdir -p /data/330{7..9}/data? /data/330{7..9}/logs

1.6.2 準(zhǔn)備配置文件

cat >/data/3307/my.cnf <<EOF

[mysqld]

user=mysql

basedir=/data/app/mysql

datadir=/data/3307/data

server_id=7

port=3307

log_bin=/data/3307/logs/mysql-bin

socket=/tmp/mysql3307.sock

EOF

cat >/data/3308/my.cnf <<EOF

[mysqld]

user=mysql

basedir=/data/app/mysql

datadir=/data/3308/data

server_id=8

port=3308

log_bin=/data/3308/logs/mysql-bin

socket=/tmp/mysql3308.sock

EOF

cat >/data/3309/my.cnf <<EOF

[mysqld]

user=mysql

basedir=/data/app/mysql

datadir=/data/3309/data

server_id=9

port=3309

log_bin=/data/3309/logs/mysql-bin

socket=/tmp/mysql3309.sock

EOF

1.6.3 授權(quán)

[root@db01 ~]# chown -R mysql. /data/*

1.6.4 初始化數(shù)據(jù)

mv /etc/my.cnf /etc/my.cnf.bak

mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3307/data

mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3308/data

mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3309/data

mv /etc/my.cnf.bak? /etc/my.cnf

1.6.5 啟動(dòng)多實(shí)例

[root@db01 ~]# mysqld_safe --defaults-file=/data/3307/my.cnf &

[root@db01 ~]# mysqld_safe --defaults-file=/data/3308/my.cnf &

[root@db01 ~]# mysqld_safe --defaults-file=/data/3309/my.cnf &

1.6.7 使用navicat連接多實(shí)例

mysql -S /tmp/mysql3307.sock

grant all on *.* to root@'10.0.0.%' identified by '123';

mysql -S /tmp/mysql3308.sock -e "grant all on *.* to root@'10.0.0.%' identified by '123';"

mysql -S /tmp/mysql3309.sock -e "grant all on *.* to root@'10.0.0.%' identified by '123';"

1.6.8 配置多實(shí)例systemd

cat > /etc/systemd/system/mysqld3307.service? <<EOF

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf

LimitNOFILE = 5000

EOF

cat > /etc/systemd/system/mysqld3308.service? <<EOF

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf

LimitNOFILE = 5000

EOF

cat > /etc/systemd/system/mysqld3309.service? <<EOF

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf

LimitNOFILE = 5000

EOF

[root@db01 ~]# pkill mysqld

[root@db01 ~]# systemctl start mysqld3307

[root@db01 ~]# systemctl start mysqld3308

[root@db01 ~]# systemctl start mysqld3309

1.7 彩蛋:多版本多實(shí)例應(yīng)用

真實(shí)學(xué)生案例: 第一周工作

1.7.1 上傳軟件、解壓、軟連接

tar xf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz

tar xf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

ln -s mysql-8.0.18-linux-glibc2.12-x86_64 mysql80

ln -s mysql-5.6.46-linux-glibc2.12-x86_64 mysql56

1.7.2 創(chuàng)建相關(guān)目錄

mkdir -p /data/331{7..8}/data? /data/331{7..8}/logs

1.7.3 準(zhǔn)備配置文件

cat >/data/3317/my.cnf <<EOF

[mysqld]

user=mysql

basedir=/data/app/mysql56

datadir=/data/3317/data

server_id=17

port=3317

log_bin=/data/3317/logs/mysql-bin

socket=/tmp/mysql3317.sock

EOF

cat >/data/3318/my.cnf <<EOF

[mysqld]

user=mysql

basedir=/data/app/mysql80

datadir=/data/3318/data

server_id=18

port=3318

log_bin=/data/3318/logs/mysql-bin

socket=/tmp/mysql3318.sock

EOF

1.7.3 授權(quán)

[root@db01 ~]# chown -R mysql. /data/*

1.7.4 初始化數(shù)據(jù)

mv /etc/my.cnf /etc/my.cnf.bak

vim /etc/profile

#注釋環(huán)境變量:

# export PATH=/data/app/mysql/bin:$PATH

# 最好重連一個(gè)Xshell窗口

[root@db01 ~]# mysql -V

-bash: mysql: command not found

[root@db01 ~]#

# 5.6初始化

/data/app/mysql56/scripts/mysql_install_db? --user=mysql --basedir=/data/app/mysql56 --datadir=/data/3317/data

# 8.0初始化

/data/app/mysql80/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql80 --datadir=/data/3318/data

1.7.5 配置systemd管理

cat > /etc/systemd/system/mysqld3317.service? <<EOF

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/data/app/mysql56/bin/mysqld --defaults-file=/data/3317/my.cnf

LimitNOFILE = 5000

EOF

cat > /etc/systemd/system/mysqld3318.service? <<EOF

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/data/app/mysql80/bin/mysqld --defaults-file=/data/3318/my.cnf

LimitNOFILE = 5000

EOF

1.7.6 連接測(cè)試

[root@db01 app]# /data/app/mysql56/bin/mysql -S /tmp/mysql3317.sock

[root@db01 app]# /data/app/mysql80/bin/mysql -S /tmp/mysql3318.sock

2. 彩蛋: MySQL 的升級(jí)、降級(jí)

2.1 升級(jí)

2.1.1 INPLACE就地

在一臺(tái)服務(wù)器上,原版本升級(jí)到新版本。

風(fēng)險(xiǎn)較大。

**** 建議 : 不管哪種方式升級(jí),都應(yīng)該先做備份。方便失敗回退。****

2.1.2 Mergeing(logical)遷移? ----> 建議

備份遷移

主從遷移

2.1.3? 升級(jí)注意事項(xiàng)

Upgrade is only supported between General Availability (GA) releases.

Upgrade from MySQL 5.6 to 5.7 is supported. Upgrading to the latest release is recommended before upgrading to the next version. For example, upgrade to the latest MySQL 5.6 release before upgrading to MySQL 5.7.

Upgrade that skips versions is not supported. For example, upgrading directly from MySQL 5.5 to 5.7 is not supported.

Upgrade within a release series is supported. For example, upgrading from MySQL 5.7.x to 5.7.y is supported. Skipping a release is also supported. For example, upgrading from MySQL 5.7.x to 5.7.z is supported.

a. 支持GA版本之間升級(jí)

b. 5.6--> 5.7? ,先將5.6升級(jí)至最新版,再升級(jí)到5.7

c. 5.5 ---> 5.7 ,先將5.5 升級(jí)至最新,再5.5---> 5.6最新,再5.6--->5.7 最新

d. 回退方案要提前考慮好,最好升級(jí)前要備份(特別是往8.0版本升級(jí))。

e. 降低停機(jī)時(shí)間(停業(yè)務(wù)的時(shí)間),在業(yè)務(wù)不繁忙期間升級(jí),做好足夠的預(yù)演。

2.1.4 INPLACE 升級(jí)過(guò)程原理 (生產(chǎn)思路)

0. 備份原數(shù)據(jù)庫(kù)數(shù)據(jù)

a. 安裝新版本軟件

b. 關(guān)閉原數(shù)據(jù)庫(kù)業(yè)務(wù)(掛維護(hù)頁(yè))

c. 使用新版本軟件 “掛” 舊版本數(shù)據(jù)啟動(dòng)(--skip-grant-tables ,--skip-networking)

d. 升級(jí) : 只是升級(jí)系統(tǒng)表。升級(jí)時(shí)間和數(shù)據(jù)量無(wú)關(guān)的。

e. 正常重啟數(shù)據(jù)庫(kù)。

f. 驗(yàn)證各項(xiàng)功能是否正常。

g. 業(yè)務(wù)恢復(fù)。

2.1.5? 5.6.46 ----> 5.7.28 Inplace 升級(jí)演練

a. 安裝 新版本軟件

略。

b. 停原庫(kù) (5.6.46)

# 1. 快速關(guān)庫(kù)功能關(guān)閉(優(yōu)雅關(guān)閉、干凈的關(guān)閉)?

vim /data/3317/my.cnf

## 添加以下配置

innodb_fast_shutdown=0

[root@db01 data]# systemctl stop mysqld3317

c. 使用高版本軟件掛低版本數(shù)據(jù)啟動(dòng)

[root@db01 data]# vim /data/3317/my.cnf

[mysqld]

user=mysql

basedir=/data/app/mysql

datadir=/data/3317/data

socket=/tmp/mysql3317.sock

port=3317

server_id=17

innodb_fast_shutdown=0

[root@db01 data]# /data/app/mysql/bin/mysqld_safe --defaults-file=/data/3317/my.cnf --skip-grant-tables --skip-networking &

d. 升級(jí) (升級(jí)到8.0可以省略)

[root@db01 data]# /data/app/mysql/bin/mysql_upgrade -S /tmp/mysql3317.sock --force

e. 重啟數(shù)據(jù)庫(kù)到正常狀態(tài)?

[root@db01 data]# /data/app/mysql/bin/mysqladmin -S /tmp/mysql3317.sock shutdown

[root@db01 data]# vim /etc/systemd/system/mysqld3317.service

# 修改以下內(nèi)容

ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/data/3317/my.cnf

# 啟動(dòng)數(shù)據(jù)庫(kù)

[root@db01 data]# systemctl start mysqld3317

# 連接查看

[root@db01 data]# /data/app/mysql/bin/mysql -S /tmp/mysql3317.sock

2.1.6 彩蛋:? 將5.7 升級(jí)至 8.0

# 新特性:

1、 mysql-shell工具,8.0以后,可以調(diào)用這個(gè)命令,升級(jí)之前的預(yù)檢查。

例子:

[root@db01 ~]# mysqlsh root:123@10.0.0.51:3306 -e "util.checkForServerUpgrade()"

2、升級(jí)時(shí)不再需要手工 mysql_upgrade

3、限制:升級(jí)前必須要備份。否則無(wú)法回退。

# 5.7.28 升級(jí)至 8.0.18 版本演練

a. 下載 8.0.18 版本的 mysql-shell,并安裝 。

https://downloads.mysql.com/archives/

[root@db01 app]# yum install -y mysql-shell-8.0.18-1.el7.x86_64.rpm

b. 創(chuàng)建連接用戶

[root@db01 data]# /data/app/mysql/bin/mysql -S /tmp/mysql3317.sock

mysql> grant all on *.* to root@'10.0.0.%' identified by '123';

mysql> drop user root@'127.0.0.1';

mysql> drop user root@'db01';

mysql> drop user ''@'db01';

mysql> drop user ''@'localhost';

mysql> drop user root@'::1';

mysql> select user,host from mysql.user;

+---------------+-----------+

| user? ? ? ? ? | host? ? ? |

+---------------+-----------+

| root? ? ? ? ? | 10.0.0.%? |

| mysql.session | localhost |

| mysql.sys? ? | localhost |

| root? ? ? ? ? | localhost |

+---------------+-----------+

c. 預(yù) 檢查

[root@db01 data]# mysqlsh root:123@10.0.0.51:3317 -e "util.checkForServerUpgrade()" >/tmp/up.log

d. 停原庫(kù)(5.7.28)

vim /data/3317/my.cnf

## 添加以下配置

innodb_fast_shutdown=0

[root@db01 data]# systemctl stop mysqld3317

e. 使用高版本軟件掛低版本數(shù)據(jù)啟動(dòng)

[root@db01 data]# vim /data/3317/my.cnf

[mysqld]

user=mysql

basedir=/data/app/mysql80

datadir=/data/3317/data

socket=/tmp/mysql3317.sock

port=3317

server_id=17

innodb_fast_shutdown=0

[root@db01 data]# /data/app/mysql80/bin/mysqld_safe --defaults-file=/data/3317/my.cnf --skip-grant-tables --skip-networking &

f. 重啟數(shù)據(jù)庫(kù)到正常狀態(tài)?

[root@db01 data]# /data/app/mysql80/bin/mysqladmin -S /tmp/mysql3317.sock shutdown

[root@db01 data]# vim /etc/systemd/system/mysqld3317.service

# 修改以下內(nèi)容

ExecStart=/data/app/mysql80/bin/mysqld --defaults-file=/data/3317/my.cnf

# 啟動(dòng)數(shù)據(jù)庫(kù)

[root@db01 data]# systemctl start mysqld3317

# 連接查看

[root@db01 data]# /data/app/mysql80/bin/mysql -S /tmp/mysql3317.sock

3. 降級(jí):

3.1 限制

官方解釋:

https://dev.mysql.com/doc/refman/5.7/en/downgrade-paths.html

Downgrade from MySQL 5.7 to 5.6 is supported using the logical downgrade method.

https://dev.mysql.com/doc/refman/5.7/en/downgrade-binary-package.html#downgrade-procedure-inplace

In-place downgrade is supported for downgrades between GA releases within the same release series(5.7.y? ---> 5.7.x).

3.2 5.7.28 ---》 5.7.10 inplace downgrade演練

原版本:

軟件: 5.7.28? /data/app/mysql? + 數(shù)據(jù):/data/3306/data?

目標(biāo)版本: 5.7.10? /data/app/mysql5710

3.2.1. 安裝 5.7.10 (低) 二進(jìn)制版本

[root@db01 app]# ln -s mysql-5.7.10-linux-glibc2.5-x86_64 mysql5710

3.2.2. 針對(duì)5728版本(高)進(jìn)行處理工作

https://dev.mysql.com/doc/refman/5.7/en/downgrading-to-previous-series.html

[root@db01 app]# cp /etc/my.cnf.bak /etc/my.cnf

[root@db01 app]# /etc/init.d/mysqld restart

[root@db01 app]# /data/app/mysql/bin/mysql -uroot -p123456 -S /tmp/mysql.sock

set sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;

set global sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;

select @@sql_mode;? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

ALTER TABLE mysql.proc MODIFY definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';

ALTER TABLE mysql.event MODIFY definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';

ALTER TABLE mysql.tables_priv MODIFY Grantor char(77) COLLATE utf8_bin NOT NULL DEFAULT '';

ALTER TABLE mysql.procs_priv MODIFY Grantor char(77) COLLATE utf8_bin NOT NULL DEFAULT '';

3.2.3. 優(yōu)雅的關(guān)閉5.7.28(高)。

[root@db01 app]# /data/app/mysql/bin/mysql -uroot -p123456 -S /tmp/mysql.sock

set global innodb_fast_shutdown=0 ;

[root@db01 app]# /data/app/mysql/bin/mysqladmin? -uroot -p123456 shutdown

3.2.4. 刪除ib_logfile*

[root@db01 mysql5710]# rm -rf /data/3306/data/ib_logfile*

3.2.5. 替換配置文件(替換成低版本)

[root@db01 mysql5710]# vim /etc/my.cnf

[mysqld]

user=mysql

basedir=/data/app/mysql5710

#basedir=/data/app/mysql

datadir=/data/3306/data

socket=/tmp/mysql.sock

[mysql]

socket=/tmp/mysql.sock

3.2.6. 低版本啟動(dòng)高版本數(shù)據(jù)庫(kù)?

/data/app/mysql5710/bin/mysqld? --skip-grant-tables --skip-networking &

3.2.7. 執(zhí)行upgrade

[root@db01 ~]# /data/app/mysql5710/bin/mysql_upgrade -uroot -p123456 --force

3.2.8 啟動(dòng)到正常模式

[root@db01 ~]# /etc/init.d/mysqld restart

Shutting down MySQL.. SUCCESS!

Starting MySQL. SUCCESS!

/data/app/mysql5710/bin/mysql -uroot -p123456 -S /tmp/mysql.sock

3.3? 5.7.28 ---》 5.6.46? ? ? logical downgrade演練

3.3.0 恢復(fù)5.7.28 環(huán)境

[root@db01 data]# pkill mysqld

[root@db01 data]# rm -rf /data/3306/data/*

# 恢復(fù)配置文件

[root@db01 data]# vim /etc/my.cnf

[mysqld]

user=mysql

basedir=/data/app/mysql

datadir=/data/3306/data

socket=/tmp/mysql.sock

[mysql]

socket=/tmp/mysql.sock

# 恢復(fù)環(huán)境變量

vim /etc/profile

export PATH=/data/app/mysql/bin:$PATH

[root@db01 data]# source /etc/profile

[root@db01 data]# mysql -V

mysql? Ver 14.14 Distrib 5.7.28, for linux-glibc2.12 (x86_64) using? EditLine wrapper

# 初始化數(shù)據(jù)

mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data

# 啟動(dòng)數(shù)據(jù)庫(kù)

[root@db01 data]# /etc/init.d/mysqld start

Starting MySQL.Logging to '/data/3306/data/db01.err'.

SUCCESS!

mysql> select version();

+-----------+

| version() |

+-----------+

| 5.7.28? ? |

+-----------+

1 row in set (0.00 sec)

3.3.1 安裝5.6.46二進(jìn)制版本軟件

略。

3.3.2 處理5.7.28高版本數(shù)據(jù)?

set sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;

set global sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;

select @@sql_mode;?

ALTER TABLE mysql.proc MODIFY definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';

ALTER TABLE mysql.event MODIFY definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';

ALTER TABLE mysql.tables_priv MODIFY Grantor char(77) COLLATE utf8_bin NOT NULL DEFAULT '';

ALTER TABLE mysql.procs_priv MODIFY Grantor char(77) COLLATE utf8_bin NOT NULL DEFAULT '';

ALTER TABLE mysql.tables_priv MODIFY User char(16) NOT NULL default '';

ALTER TABLE mysql.columns_priv MODIFY User char(16) NOT NULL default '';

ALTER TABLE mysql.user MODIFY User char(16) NOT NULL default '';

ALTER TABLE mysql.db MODIFY User char(16) NOT NULL default '';

ALTER TABLE mysql.procs_priv MODIFY User char(16) binary DEFAULT '' NOT NULL;

ALTER TABLE mysql.user ADD Password char(41) character set latin1

collate latin1_bin NOT NULL default '' AFTER user;

UPDATE mysql.user SET password = authentication_string WHERE

LENGTH(authentication_string) = 41 AND plugin = 'mysql_native_password';

UPDATE mysql.user SET authentication_string = '' WHERE

LENGTH(authentication_string) = 41 AND plugin = 'mysql_native_password';

ALTER TABLE mysql.help_category ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.help_keyword ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.help_relation ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.help_topic ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.time_zone ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.time_zone_leap_second ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.time_zone_name ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.time_zone_transition? ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.time_zone_transition_type ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.plugin ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.servers ENGINE='MyISAM' STATS_PERSISTENT=DEFAULT;

ALTER TABLE mysql.user MODIFY plugin CHAR(64) COLLATE utf8_bin

DEFAULT 'mysql_native_password';

DROP DATABASE sys;

3.3.3. 邏輯全備5.7.28數(shù)據(jù)

[root@db01 ~]# mysqldump -A >/tmp/full.sql

3.3.4. 初始化一套5.6.46的空環(huán)境

[root@db01 ~]# vim /etc/profile

export PATH=/data/app/mysql56/bin:$PATH

[root@db01 ~]# source /etc/profile

[root@db01 ~]# mysql -V

mysql? Ver 14.14 Distrib 5.6.46, for linux-glibc2.12 (x86_64) using? EditLine wrapper

[root@db01 ~]# mv /etc/my.cnf /etc/my.cnf.bak

mv: overwrite ‘/etc/my.cnf.bak’? y

[root@db01 data]# rm -rf /data/3317/data/*

[root@db01 data]# /data/app/mysql56/scripts/mysql_install_db? --user=mysql --basedir=/data/app/mysql56 --datadir=/data/3317/data

[root@db01 data]# vim /etc/systemd/system/mysqld3317.service

ExecStart=/data/app/mysql56/bin/mysqld --defaults-file=/data/3317/my.cnf

[root@db01 data]# systemctl daemon-reload

[root@db01 data]# systemctl start mysqld3317

3.3.5. 恢復(fù)備份數(shù)據(jù)到5.6.46中

[root@db01 data]# mysql -S /tmp/mysql3317.sock

mysql> source /tmp/full.sql

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容