Hướng dẫn cài đặt mysql server 5.7
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở và miễn phí, phổ biến nhất thế giới và được các developer ưa chuộng nhất trong quá trình phát triển ứng dụng. Mình đi deploy nhiều quá, nên tiện viết lại bài viết này để gửi cho bên triển khai luôn cho đỡ mất công viết lại docs hướng dẫn lần nữa. Trong bài viết này mình sẽ hướng dẫn step by step bằng các command để các bạn cài đặt MySQL trên CentOS 7, Show Trong bài viết này mình sẽ hướng dẫn càu đặt hai phiên bản phổ biến nhất và hay được sử dụng nhất là phiên bản 8.0 và phiên bản 5.7. Chú ý tuỳ từng nhu cầu để chọn phiên bản phù hợp nhất nhé. 1. Cài đặt MySQLVới MySQL 8.0 trên CentOS 7.
Thêm repositorysudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm Cài đặt sau khi thêm repositorysudo yum install mysql-community-server Với MySQL 5.7 trên CentOS 7.
Thêm repositorysudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm Cài đặt sau khi thêm repositorysudo yum install mysql-community-server 2. Khởi động MySQL
Kích hoạt MySQL khởi động cùng systemsudo systemctl enable mysqld Khởi động MySQLsudo systemctl start mysqld Kiểm tra MySQL service đã hoạt động chưa?sudo systemctl status mysqld 2. Đặt lại MySQL Root PasswordVới MySQL 5.7Khi MySQL khởi chạy lần đầu, một mật khẩu tạm sẽ được sinh ra ngẫu nhiên cho root user của MySQL. Bạn có thể tìm mật khẩu đó bằng câu lệnh bên dưới: Tìm mật khẩu tạm được gen ngẫu nhiên lần đầu:sudo grep 'temporary password' /var/log/mysqld.log Ouput lệnh trên sẽ hiện ra password2021-09-22T17:33:40.984983Z 1 [Note] A temporary password is generated for root@localhost: odG*hI-hn9Rx Giờ chúng ta cần đi thay đổi mật khẩu này bằng một mật khẩu dễ nhớ hơn, bằng cách chạy lệnh mysql_secure_installation để cải thiện tính bảo mật của MySQL sudo mysql_secure_installation Nhập mật khẩu tạm thời của bạn. Sau đó làm theo hướng dẫn: Enter password for user root: odG*hI-hn9Rx New password: Nhập mật khẩu Mysql mới Re-enter new password: Nhập lại mật khẩu Mysql mới Change the password for root? y Remove anonymous users? y Disallow root login remotely? y Remove test database and access to it? y Reload privilege tables now? y Với MySQL 8.0
Dừng service MySQL trước tiênsudo systemctl stop mysqld Restart lại MySQL trong safe mode, để bỏ qua mật khẩu.sudo mysqld_safe --skip-grant-tables Sau khi và safe mode sẽ đơ một chút và chờ để login với root user.mysql -uroot Để đổi mật khẩu root thành "newpassword", nhập lệnh saumysql> USE MYSQL; mysql> UPDATE USER SET PASSWORD=PASSWORD("newpassword") WHERE USER='root'; mysql> FLUSH PRIVILEGES; mysql> EXIT Khởi động lại MySQLsudo systemctl start mysqld 2. Tạo một user cho phép remote login.Mặc định user: root chỉ cho phép đăng nhập qua localhost để đảm bảo tính bảo mật, và không cho phép đăng nhập từ xa, vì vậy để dễ dàng có thể login từ một tools ở client hay để test các database riêng biệt, chúng ta sẽ tạo một user riêng biệt. Nếu bạn làm nhiều project sử dụng các phiên bản MySQL khác nhau, có thể bạn sẽ nghĩ đến cách chuyển đổi giữa các phiên bản MySQL mỗi khi làm việc với project sử dụng phiên bản MySQL khác. Tuy nhiên, điều này khá bất tiện. Bài viết này sẽ giúp bạn giải quyết vấn đề đó. Các bạn có thể xem thêm Hướng dẫn cài đặt nhiều phiên bản PHP chạy đồng thời với Apache trên Ubuntu. Trong bài viết này, giả định chúng ta cần sử dụng MySQL 5.6 và MySQL 5.7 trên cùng server, và phiên bản MySQL 5.7 được sử dụng nhiều hơn sẽ được chọn làm phiên bản chính. Chúng ta sẽ cài đặt MySQL 5.7 trước. Sau đó, sử dụng Docker để cài đặt phiên bản MySQL 5.6. Cài đặt MySQL 5.7Chạy các lệnh sau để cài đặt mysql 5.7:
Lúc này, MySQL 5.7 được cài đặt và chạy ở port 3306 (port mặc định). Cài đặt DockerChạy lệnh sau để cài đặt docker:
Cài đặt MySQL 5.6Chạy lệnh sau để cài đặt MySQL 5.6 trong docker container.
Lưu ý: rootpassword là password của user root, có thể thay đổi tuỳ ý. Container này chứa MySQL 5.6 được cài đặt với port 3306. Nhưng máy chủ sẽ sử dụng port 3310 để chuyển tiếp. 8. Câu lệnh mysql_secure_installation cho phép bạn thiết lập bảo mật cho MySQL (cài đặt mật khẩu cho tài khoản root, xóa tài khoản vô danh (anonymous users), không cho phép tài khoản root đăng nhập trực tiếp ) |