Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thiết lập MySQL 8 từ Binary Tarball

Trong bài viết này, chúng tôi sẽ thảo luận về cài đặt MySQL tarball nhị phân. Chúng ta sẽ thảo luận về việc cài đặt MySQL 8 bằng cách sử dụng bóng nhị phân và cài đặt MySQL 8 trên CentOS 7 bằng cách sử dụng bóng nhị phân. Cài đặt dựa trên tarballs nhị phân có ưu và nhược điểm riêng, chúng ta sẽ cùng tìm hiểu kỹ điều đó. Cài đặt từ tarballs nhị phân độc lập với bản phân phối Linux hoặc hệ thống init mà bản phân phối sử dụng. Điều này có nghĩa là phương pháp cài đặt tương tự hoạt động trên RPM và các hệ thống đã chết chẳng hạn, nhưng nó cũng sẽ hoạt động trên các bản phân phối kỳ lạ hơn như Gen 2. Có một tarball nhị phân cho macOS cũng có sẵn và quy trình cài đặt không khác nhiều, phương pháp này cần một từ thủ công hơn. Tập lệnh mysql_install_db không được chấp nhận trong MySQL 5.7 và bị xóa khỏi MySQL 8. Việc tạo cơ sở dữ liệu ban đầu có thể được thực hiện bằng lệnh mysqld –initialize. Bây giờ chúng ta sẽ cài đặt MySQL theo cách thủ công, chúng ta sẽ sử dụng lệnh mysqld –initialize để tạo một cơ sở dữ liệu trống.

Đầu tiên chúng ta hãy làm một số công việc dọn dẹp. Chúng tôi sẽ xóa phiên bản mariadb-libs rất cũ, cung cấp my.cnf sẽ xung đột với phiên bản của chúng tôi.

Xóa Mariadb libs:

 [[email protected] ~] # sudo yum xóa -y mariadb-libs 

Tải xuống tarball nguồn của khảo sát cộng đồng MySQL 8.0

 [[email protected] ~] # curl -L -O https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar .gz% Tổng% Đã nhận% Xferd Tốc độ trung bình Thời gian Thời gian Hiện tại Tải lên Tổng chi phí Tốc độ còn lại0 0 0 0 0 0 0 0 -:-:- 0:00:01 -:-:- 0100 575M 100 575 triệu 0 0 7726k 0 0:01:16 0:01:16 -:-:- 8516 nghìn 
 [[email protected] ~] # ll-rw-r - r--. 1 root root 603019898 23 Tháng 7 10:31 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz 

Tarball không được tải xuống vì vậy hãy giải nén nó vào usr / local

 [[email protected] ~] # sudo tar xvfz mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C / usr / local / 

Hoàn thành các yêu cầu trước

hãy cài đặt libaio.

 [[email protected] ~] # sudo yum -y install libaio 
 Tạo một nhóm MySQL, điều này thường được thực hiện bởi các gói nhưng vì chúng tôi đang cài đặt nó theo cách thủ công từ nhị phân tarball nên bây giờ chúng tôi cần thực hiện điều đó. 
 [[email protected] ~] # sudo groupadd mysql 

Hãy tạo một người dùng MySQL bạn

 [[email protected] ~] # sudo useradd -r -g mysql -s / bin / false mysql 

xác minh người dùng mysql có ở đó không

 [[email protected] ~] # getent passwd | grep mysqlmysql:x:988:1001 ::/ home / mysql:/ bin / false 

got / usr / local và tạo một liên kết tượng trưng rồi kiểm tra nó

 [[email protected] ~] # cd /usr/local[[email protected] local] # sudo ln -s mysql-8.0.11-linux-glibc2.12-x86_64 mysql [[email protected] cục bộ] # ls -la mysqllrwxrwxrwx. 1 root root 35 Jul 23 15:08 mysql -> mysql-8.0.11-linux-glibc2.12-x86_64 

tạo thư mục tệp MySQL sẽ giữ quyền sở hữu và quyền của tập dữ liệu khi đứng trong / usr / local /

 [[email protected] local] # sudo mkdir mysql-files [[email protected] local] # sudo chown mysql:mysql mysql-files [[email protected] local] # sudo chmod 750 mysql-files 

Khởi tạo MySQL

Đi tới thư mục mysql và Khởi tạo mysqld, trên các phiên bản trước, nó được gọi là mysql_installed_db

 [[email protected] local] # cd mysql [[email protected] mysql] # sudo ./bin/mysqld --initialize --user =mysql2020-07-23T12:12:10.028247Z 0 [Hệ thống] [MY-013169] [Máy ​​chủ] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) đang tiến hành khởi chạy máy chủ trong quá trình 250142020-07-23T12:12 :15.470538Z 5 [Lưu ý] [MY-010454] [Máy ​​chủ] Mật khẩu tạm thời được tạo cho [email protected]:Hqn + jK6lfzNS2020-07-23T12:12:18.875370Z 0 [Hệ thống] [MY-013170] [Máy ​​chủ ] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) khởi tạo máy chủ đã hoàn tất 

Lưu ý rằng mật khẩu gốc tạm thời được tạo trong trường hợp của tôi là ([email protected]:Hqn + jK6lfzNS)

Sao chép tập lệnh init từ tệp hỗ trợ vào /etc/init.d

 [[email protected] mysql] # sudo cp ./support-files/mysql.server /etc/init.d/ 

khởi động máy chủ mysql bằng tệp init mà chúng tôi vừa sao chép

 [[email protected] mysql] # sudo /etc/init.d/mysql.server start Bắt đầu MySQL. Đăng nhập vào '/usr/local/mysql/data/localhost.localdomain.err' .. THÀNH CÔNG!  

Bây giờ hãy kết nối ro mysql bằng cách cung cấp mật khẩu tạm thời được tạo trước đó

 [[email protected] mysql] # ./bin/mysql -uroot -pEnter password:Chào mừng bạn đến với màn hình MySQL. Các lệnh kết thúc bằng; hoặc \ g. Id kết nối MySQL của bạn là phiên bản 8Server:8.0.11Copyright (c) 2000, 2018, Oracle và / hoặc các chi nhánh của nó. Mọi quyền được bảo lưu.Oracle là thương hiệu đã đăng ký của Oracle Corporation và / hoặc các chi nhánh của nó. Các tên khác có thể là thương hiệu của các chủ sở hữu tương ứng của chúng. hoặc '\ h' để được trợ giúp. Nhập '\ c' để xóa câu lệnh nhập hiện tại.mysql> 

Hãy thay đổi mật khẩu tạm thời cho người dùng root.

 mysql> thay đổi người dùng 'root' @ 'localhost' được xác định bởi 'My_root_pass1!'; Truy vấn OK, 0 hàng bị ảnh hưởng (0,07 giây) 

Kiểm tra vị trí tệp socket:

 mysql> hiển thị các biến như 'socket'; + --------------- + ----------------- + | Tên_biến | Giá trị | + --------------- + ----------------- + | ổ cắm | /tmp/mysql.sock | + --------------- + ----------------- + 1 hàng trong bộ (0,01 giây) 

Để tránh phải luôn nhập tên đường dẫn của các chương trình khách khi bạn đang làm việc với MySQL, bạn có thể thêm thư mục / usr / local / mysql / bin vào biến PATH của mình:

 [[email protected] mysql] # export PATH =$ PATH:/ usr / local / mysql / bin 
 [[email protected] mysql] # ps -ef | grep mysqlroot 25130 1 0 15:16 pts / 1 00:00:00 / bin / sh / usr / local / mysql / bin / mysqld_safe --datadir =/ usr / local / mysql / data --pid-file =/ usr /local/mysql/data/localhost.localdomain.pidmysql 25215 25130 1 15:16 pts / 1 00:00:42 / usr / local / mysql / bin / mysqld --basedir =/ usr / local / mysql --datadir =/ usr / local / mysql / data --plugin-dir =/ usr / local / mysql / lib / plugin --user =mysql --log-error =localhost.localdomain.err --pid-file =/ usr / local /mysql/data/localhost.localdomain.pidroot 26171 21375 0 16:21 pts / 1 00:00:00 mysql -uroot -px xxxxxxxxxxxxroot 26191 25365 0 16:23 pts / 2 00:00:00 grep --color =auto mysq 

No
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tên cột và bảng có phân biệt chữ hoa chữ thường trong MySQL không?

  2. JSON_ARRAY_INSERT () - Chèn giá trị vào một mảng JSON trong MySQL

  3. Cách tối ưu hóa cơ sở dữ liệu trang web

  4. Cảnh báo:PDO ::__ construct ():[2002] Không có tệp hoặc thư mục nào như vậy (cố gắng kết nối qua unix:///tmp/mysql.sock) trong

  5. Cách tìm sự khác biệt giữa hai ngày trong MySQL