MySQL 5.5 อัพเดทเป็น MySQL 5.7


29

ฉันค้นหาบทช่วยสอนสำหรับหุ่นเกี่ยวกับวิธีอัปเดต MySQL 5.5 เซิร์ฟเวอร์ของฉันเป็น MySQL 5.7 ฉันใช้ Ubuntu 14.04 ฉันได้ลองใช้บทเรียนบนเว็บไซต์ MySQL แล้ว ฉันจะอัพเกรดเซิร์ฟเวอร์ของฉันได้อย่างไร


MySQL docs พูดว่า: "การอัพเกรดมากกว่าหนึ่งระดับรองรับ แต่เฉพาะเมื่อคุณอัพเกรดระดับการปล่อยครั้งละหนึ่งตัวอย่างเช่นอัพเกรดจาก 5.1 เป็น 5.5 และจากนั้นเป็น 5.6 ทำตามคำแนะนำการอัพเกรดสำหรับแต่ละรุ่นอย่างต่อเนื่อง ." ดังนั้นคุณควรทำการอัปเดตในสองขั้นตอน 5.5 -> 5.6 -> 5.7
iterq

คำตอบ:


74

สิ่งนี้ใช้ได้กับฉัน:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
sudo gdebi mysql-apt-config_0.8.10-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server

คำสั่งที่ 2 จะถามอินพุต:

ป้อนคำอธิบายรูปภาพที่นี่

หลังจากเลือก 5.7 ให้เลือก "สมัคร"


$ mysql --version
mysql  Ver 14.14 Distrib 5.7.8-rc, for Linux (x86_64) using  EditLine wrapper

อย่าลืมที่จะเรียกใช้mysql_upgradeหลังจากการติดตั้งที่จะปรับตารางระบบและเซิร์ฟเวอร์เริ่มต้นดังต่อไปนี้คู่มือการอัพเกรด MySQL

$ mysql_upgrade

หรือ

$ sudo mysql_upgrade -u root -p

และเริ่ม mysql ใหม่

sudo service mysql restart

1
ฉันได้อัพเกรด mysql ของฉันโดยใช้วิธีนี้ แต่มันหัก apache2 ของฉันตอนนี้ฉันได้รับ 500 จากเว็บไซต์ที่โฮสต์ทั้งหมดของฉัน askubuntu.com/questions/795868/...
t9toqwerty

1
ฉันคิดว่าลิงก์ deb รุ่นใหม่คือ: dev.mysql.com/get/mysql-apt-config_0.8.0-1_all.deb
zx1986

4
โปรดทราบว่าsudo mysql_upgrade -u root -pจำเป็นต้องใช้ !!
Jadeye

2
URL พารามิเตอร์ wget กำลังจะเปลี่ยนแปลงอย่างต่อเนื่องเมื่อมีการเปิดตัวเวอร์ชันใหม่ ไปที่นี่dev.mysql.com/downloads/repo/aptและตรวจสอบที่ด้านล่างของหน้า
Gerbus

1
ฉันจะทำอย่างไรchoose "apply"... ฉันกด enter และฉันก็ใช้ขั้นตอนเดียวกันอีกครั้งและอีกครั้ง
Umair

28

คุณสามารถเห็นความคิดเห็นของฉันว่าการแก้ปัญหาโดย @Rinzwind ไม่ได้ทำงานในกรณีของฉัน (Ubuntu 14.04, Mysql 5.5) ดังนั้นผมจึงมี googled การแก้ปัญหาและได้พบคำตอบที่ทำงานสำหรับฉันในดิจิตอลมหาสมุทรกวดวิชา

ก่อนอื่นสำรองฐานข้อมูลทั้งหมดของคุณ

mysqldump --all-databases > all_databases.sql

หากคำสั่งดังกล่าวไม่ทำงานให้คุณลองด้านล่างหนึ่ง

mysqldump -u root -p --all-databases > all_databases.sql

ฉันกำลังวางบางส่วนของการสอนที่เหมาะกับฉัน

หากคุณต้องการติดตั้ง MySQL 5.7 คุณจะต้องเพิ่มที่เก็บแพ็กเกจ APT ที่ใหม่กว่าจากเพจที่เก็บ MySQL APT คลิกดาวน์โหลดที่ด้านล่างขวาจากนั้นคัดลอกลิงก์ในหน้าถัดไปจากไม่ขอบคุณเพิ่งเริ่มดาวน์โหลด ดาวน์โหลดแพ็คเกจ. deb ไปยังเซิร์ฟเวอร์ของคุณ

wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb

ถัดไปติดตั้งโดยใช้ dpkg

sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb

คุณจะเห็นพรอมต์ที่ถามผลิตภัณฑ์ MySQL ที่คุณต้องการกำหนดค่า ตัวเลือก MySQL Server ซึ่งเน้นควรเป็น mysql-5.7 หากไม่มีให้กดENTERจากนั้นเลื่อนลงไปที่ mysql-5.7 โดยใช้ปุ่มลูกศรและกด ENTERอีกครั้ง

เมื่อตัวเลือกบอกว่า mysql-5.7 ให้เลื่อนลงบนเมนูหลักเพื่อนำไปใช้และกด ENTER อีกครั้ง ตอนนี้อัพเดตดัชนีแพ็กเกจของคุณ

sudo apt-get update

สุดท้ายติดตั้งแพ็คเกจเซิร์ฟเวอร์ MySQL ซึ่งตอนนี้มี MySQL 5.7

sudo apt-get install mysql-server

ตอนนี้อัพเกรดฐานข้อมูล MySQL ทั้งหมด

sudo mysql_upgrade -u root -p

ตอนนี้รีสตาร์ทเซิร์ฟเวอร์ mysql

sudo service mysql restart

ค้นหาไฟล์ mysql-at-config เวอร์ชันล่าสุดได้เสมอที่https://dev.mysql.com/downloads/repo/apt/


2
ฉันได้รับข้อผิดพลาดต่อไปนี้ระหว่างการติดตั้งเซิร์ฟเวอร์ mysql: W: ข้อผิดพลาด GPG: repo.mysql.com ที่เชื่อถือได้ InRelease: ลายเซ็นต่อไปนี้ไม่ถูกต้อง: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823
Snigdha Batra

3
@SnigdhaBatra มันเป็นที่รู้จักกันเป็นข้อผิดพลาด ใช้คำสั่ง sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5เพื่อแก้ไขปัญหาของคุณ
t9toqwerty

ฉันเข้าใจว่าคีย์ A4A9 ~ ไม่สามารถเรียกคืนได้ดังนั้นจึงไม่มีอะไรเกิดขึ้น
Lucas Bustamante

คุณใช้ Ubuntu รุ่นไหน
t9toqwerty

1
Fwiw เพื่อสำรองฐานข้อมูลทั้งหมดฉันต้องระบุผู้ใช้ด้วยmysqldump(ตามคำตอบนี้ ) เช่น:mysqldump -u root -p --all-databases > alldb.sql
Nick F

3

สิ่งนี้สามารถเกิดขึ้นได้เมื่ออัพเกรดจาก 14.04 เป็น 16.04 ซึ่งทำให้อัพเกรด mysql ที่ไม่รองรับ (5.5 -> 5.7) ซึ่งไม่ใช่เส้นทางอัพเกรดที่รองรับตามที่บันทึกไว้โดยmysql MySQLวิธีที่ง่ายที่สุดคือการอัพเกรด mysql เป็น 5.6 ในขณะที่ยังต่ำกว่า 14.04 คุณทำสิ่งนี้ได้สำเร็จโดยการทิ้งฐานข้อมูลของคุณเป็นครั้งแรก

ชื่อโฮสต์ # mysqldump - ล็อคทั้งหมดตาราง -u root -p - ทั้งหมดฐานข้อมูล> backup.sql

จากนั้นอัปเกรดเป็น MySQL 5.6;

ชื่อโฮสต์ # apt-get ติดตั้ง mysql-server-5.6 mysql-client-5.6 mysql- เซิร์ฟเวอร์ -core-5.6 mysql- ไคลเอนต์ -core-5.6

ด้วยวิธีนี้ฐานข้อมูลทั้งหมดของคุณจะได้รับการอัพเกรดและ (บนเครื่องของฉัน) ปลอดภัยและโปร่งใสทั้งหมดเป็น 5.6 ปัญหาเฉพาะหลังจากการอัพเกรดอาจเป็นรายการ TIMESTAMP ตอนนี้แม้หลังจากอัพเกรด do-release เป็น 16.04 แล้ว mysql ก็ยังคงอยู่ที่ 5.6 และปัญหาที่อยู่รอบ ๆ การอัพเกรดที่ไม่รองรับจาก 5.5 เป็น 5.7 โดยตรงระหว่างการอัพเกรดไม่เคยปรากฏให้เห็นเลยแม้แต่น้อย

หวังว่าจะช่วยได้

Kailee

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.