Nâng cấp MySQL 5.5 lên MySQL 5.6 trên Ubuntu 14.04 LTS


17

Tôi đã cài đặt LAMP của mình với các lệnh sau:

sudo apt-get update
sudo apt-get install apache2 apache2-suexec mysql-server php5-mysql
sudo mysql_secure_installation
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
sudo apt-get install phpmyadmin

Đã gần một năm rồi. Bây giờ trong PHPMyAdmin, tôi thấy như sau:

Server: Localhost via UNIX socket
Server type: MySQL
Server version: 5.5.43-0ubuntu0.14.04.1 - (Ubuntu)
Protocol version: 10
Web server
Apache/2.4.7 (Ubuntu)
Database client version: libmysql - 5.5.43
PHP extension: mysqli Documentation

Phiên bản MySQL là 5.5.43-0ubfox0.14.04.1 . Làm thế nào tôi có thể một cách an toàn và an toàn cài đặt và sử dụng mysql 5.6.4+ như tôi cần phải sử dụng FULLTEXTvới INNODB. Tôi thấy các gói trong kho lưu trữ Ubuntu, nhưng tôi thực sự nên tránh mọi sự cố xung đột hoặc cài đặt.

Cảm ơn vì bất kì sự giúp đỡ.

Câu trả lời:


22

Làm thế nào tôi có thể cài đặt an toàn một cách an toàn

Nó sẽ luôn luôn là khó khăn.

Vui lòng đọc trang tương thích 5.5 / 5.6 trước khi làm bất cứ điều gì. Tâm trí 1 sự khác biệt lớn giữa 2:

Bắt đầu với MySQL 5.6.6, một số tham số Máy chủ MySQL có mặc định khác với các phiên bản trước. Động lực cho những thay đổi này là cung cấp hiệu suất vượt trội hơn và giảm nhu cầu quản trị viên cơ sở dữ liệu thay đổi cài đặt theo cách thủ công. Những thay đổi này có thể được sửa đổi trong các bản phát hành trong tương lai khi chúng tôi có được phản hồi.

1 trong những thay đổi lớn là 5.5 sử dụng 1 tệp lớn làm nhật ký giao dịch và 5.6 sử dụng một số:

Do đó, nếu bạn đang nâng cấp cài đặt MySQL hiện có, chưa thay đổi giá trị của các tham số này từ các mặc định trước đó và khả năng tương thích ngược là mối quan tâm, bạn có thể muốn đặt rõ ràng các tham số này thành mặc định trước đó. Ví dụ: đặt các dòng này trong tệp tùy chọn máy chủ:

 [mysqld] 
 innodb_file_per_table=0 
 innodb_checksum_algorithm=INNODB
 binlog_checksum=NONE

Nếu bạn sử dụng nhân rộng, hãy chú ý đến phần này của liên kết:

Để nâng cấp máy chủ được sử dụng để nhân rộng, trước tiên hãy nâng cấp nô lệ, sau đó là chủ. Việc sao chép giữa chủ và nô lệ của nó sẽ hoạt động với điều kiện là tất cả đều sử dụng cùng một giá trị của tường minh_defaults_for_timestamp:

Hạ gục các nô lệ, nâng cấp chúng, định cấu hình chúng với giá trị mong muốn của Rõ ràng_efaults_for_timestamp và đưa chúng trở lại.

Các nô lệ sẽ nhận ra từ định dạng của các bản ghi nhị phân nhận được từ bản gốc mà bản gốc cũ hơn (có trước phần giới thiệu của tệp_d_daults_for_timestamp) và các hoạt động trên các cột TIMESTAMP đến từ bản gốc sử dụng hành vi TIMESTAMP cũ.

Đưa xuống bản gốc, nâng cấp nó và định cấu hình nó với cùng giá trị tường minh_bảng_for_timestamp được sử dụng trên các nô lệ và đưa nó trở lại.

Nếu đây là một máy chủ sản xuất, tôi sẽ khuyên bạn nên thử đầu tiên trên máy thử nghiệm. Chúng tôi đã có một quá trình chuyển đổi khá khó khăn từ 5.5 sang 5.6 và đã chọn cài đặt một máy khác được cài đặt với 5.6 và sử dụng mysldump để tạo bản sao lưu và tải chúng vào cơ sở dữ liệu của chúng tôi trên máy đó. Mặc dù điều này sẽ mất nhiều thời gian nếu bạn có một cơ sở dữ liệu lớn (do việc giải trí các tệp giao dịch innodb).

Một phương pháp chung:

  • sử dụng mysqldump để tạo bản sao lưu cơ sở dữ liệu của bạn (người dùng, cấu trúc có thể truy cập và dữ liệu bảng) và tệp cấu hình của bạn (có thể là /etc/mysql/my.cnf)
  • Xóa 5.5. Sau khi xóa 5.5, hãy kiểm tra xem các tệp giao dịch innodb đã biến mất (ibdata1, ib_logfile0 và ib_logfile1). Vì 5.6 sử dụng phiên bản giao dịch tốt hơn nên tôi cho rằng bạn cũng sẽ sử dụng ...
  • Cài đặt 5.6
  • Thay đổi tệp cấu hình mới và thêm vào những gì bạn đã thay đổi cho 5.5 (lưu ý liên kết ở trên và kiểm tra xem có bất kỳ thay đổi nào đã trở thành không hợp lệ không).
  • Tải lên bản sao lưu của bạn thành 5.6 (người dùng đầu tiên). Lưu ý rằng điều này có thể mất một chút thời gian vì nó sẽ tạo lại các tệp giao dịch mới.

Trong các lệnh (sau khi thực hiện sao lưu):

sudo apt-get remove mysql-server
sudo apt-get autoremove
sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
sudo apt-get install mysql-server-5.6

2
Để biết thông tin của bạn, tôi đã sao lưu trước rồi cài đặt thành công bằng lệnh này:sudo apt-get remove mysql-server;sudo apt-get autoremove;sudo apt-get install mysql-client-5.6 mysql-client-core-5.6;sudo apt-get install mysql-server-5.6
YahyaE

2
Có vẻ tốt đấy: D Gratz! Ở đó tôi đã chỉnh sửa nó trong ;-)
Rinzwind

Liệu thủ tục đó xóa cơ sở dữ liệu trong máy chủ này?
Xin vui lòng_Dont_Bully_Me_SO_Lords

@EASI Không nhưng câu hỏi là ... xấu. Khi nâng cấp mysql, bạn cần tạo một bản sao lưu và khôi phục nó để quét mysql cho các chức năng / tham số / tùy chọn / cài đặt không dùng nữa.
Rinzwind
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.