中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pt-online-schema-change工具的一個選項

發布時間:2020-04-10 02:37:00 來源:網絡 閱讀:9958 作者:coveringindex 欄目:MySQL數據庫


使用pt-online-schema-change變更數據表某字段長度, 完成后, 查看表結構定義, 卻出現了亂碼...



數據表zzzz的表結構.

mysql> show create table zzzz \G

*************************** 1. row ***************************

       Table: zzzz

Create Table: CREATE TABLE `zzzz` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(10) NOT NULL DEFAULT '' COMMENT '物品名稱',

  `category` varchar(10) NOT NULL DEFAULT '' COMMENT '物品分類',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Product infomation'

1 row in set (0.00 sec)


變更字段name的長度為20.

$ pt-online-schema-change --alter "modify name varchar(20) not null default '' comment '物品名稱'" --nocheck-replication-filters --recursion-method=processlist h=192.168.4.45,P=3316,u=mha_mgr,p=123456,D=test,t=zzzz --execute

Found 1 slaves:

db02 -> 192.168.4.46:3316

Will check slave lag on:

db02 -> 192.168.4.46:3316

Operation, tries, wait:

  analyze_table, 10, 1

  copy_rows, 10, 0.25

  create_triggers, 10, 1

  drop_triggers, 10, 1

  swap_tables, 10, 1

  update_foreign_keys, 10, 1

Altering `test`.`zzzz`...

Creating new table...

Created new table test._zzzz_new OK.

Waiting forever for new table `test`.`_zzzz_new` to replicate to db02...

Altering new table...

Altered `test`.`_zzzz_new` OK.

2018-01-15T17:31:27 Creating triggers...

2018-01-15T17:31:27 Created triggers OK.

2018-01-15T17:31:27 Copying approximately 1 rows...

2018-01-15T17:31:28 Copied rows OK.

2018-01-15T17:31:28 Analyzing new table...

2018-01-15T17:31:28 Swapping tables...

2018-01-15T17:31:28 Swapped original and new tables OK.

2018-01-15T17:31:28 Dropping old table...

2018-01-15T17:31:28 Dropped old table `test`.`_zzzz_old` OK.

2018-01-15T17:31:28 Dropping triggers...

2018-01-15T17:31:29 Dropped triggers OK.

Successfully altered `test`.`zzzz`.


完成后, 查看表結構, 發現字段的中文注釋都成了亂碼.

mysql> show create table zzzz \G

*************************** 1. row ***************************

       Table: zzzz

Create Table: CREATE TABLE `zzzz` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(20) NOT NULL DEFAULT '' COMMENT '?‰??“??§°',

  `category` varchar(10) NOT NULL DEFAULT '' COMMENT '????',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Product infomation'

1 row in set (0.00 sec)


解決方法, 使用選項--charset(其文檔說明: Default character set. If the value is utf8, sets Perl’s binmode on STDOUT to utf8, passes the mysql_enable_utf8 option to DBD::mysql, and runs SET NAMES UTF8 after connecting to MySQL. Any other value sets binmode on STDOUT without the utf8 layer, and runs SET NAMES after connecting to MySQL.), 指明字符集為utf8mb4.


$ pt-online-schema-change --alter "modify name varchar(20) not null default '' comment '物品名稱'" --charset=utf8mb4 --nocheck-replication-filters --recursion-method=processlist h=192.168.4.45,P=3316,u=mha_mgr,p=123456,D=test,t=zzzz --execute


瞧, 正常了.

mysql> show create table zzzz \G

*************************** 1. row ***************************

       Table: zzzz

Create Table: CREATE TABLE `zzzz` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(20) NOT NULL DEFAULT '' COMMENT '物品名稱',

  `category` varchar(10) NOT NULL DEFAULT '' COMMENT '????',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Product infomation'

1 row in set (0.00 sec)



關于pt-online-schema-change工具的更多使用細節, 可參考InnoDB Online DDL續.


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文化| 衡阳市| 平度市| 湖北省| 玉田县| 乌鲁木齐县| 分宜县| 康马县| 苏尼特左旗| 纳雍县| 扎鲁特旗| 大渡口区| 安图县| 荔波县| 彭阳县| 高安市| 会理县| 旬邑县| 张家川| 弋阳县| 宣汉县| 柳江县| 浦县| 太湖县| 新密市| 徐汇区| 张家港市| 全椒县| 固原市| 隆安县| 尚志市| 合水县| 彝良县| 津市市| 洞头县| 华阴市| 绩溪县| 甘肃省| 武宣县| 苗栗市| 平阳县|