Table of Contents
1. Cài đặt mysql
2. Đổi mật khẩu cho root
Xem status của mysql
systemctl status mysql.service
# nếu mysql chưa chạy thì dùng câu lệnh sau để kích hoạt “sudo systemctl start mysql”
3.Cài php myadmin
Trong quá trình cài đặt, hãy chọn apache2
Tiếp theo nó hỏi có muốn cấu hình database không, thì bấm vào có. Điền pass phpmyadmin vào
(Điền luôn pass giống của root trong mysql cho nhanh)
Cài xong vào thử trang web sau để xem php cài thành công hay chưa : ip_vps/phpmyadmin/
Nếu nó hiện ra trang đăng nhập phpmyadmin nghĩa là bạn đã cài đặt thành công
4. Cho phép truy cập mysql từ xa
Sửa file config mysql tại đường dẫn sau (dùng vim để sửa nhé):
/etc/mysql/mysql.conf.d/mysqld.cnf
Sửa bind-address 127.0.0.1 thành 0.0.0.0
Lưu lại file và restart lại mysql
sudo systemctl restart mysql
Mở port 3306 từ ubuntu firewall
sudo ufw allow 3306/tcp
Mở 1 máy ubuntu khác, dùng câu lệnh sau để check xem đã mở port thành công hay chưa
nmap ip_vps
Nếu kết quả hiện ra state của cổ 3306 open là bạn đã mở cổng thành công
5. Tạo user db cho phép truy cập từ xa
Sau khi mở port, bạn cần tạo một user và trao nó quyền truy cập từ xa
Vào vps, gõ sql và gõ câu lệnh sau (user và pass do bạn) ( mysql -u root -p)
Cho phép user này có thể truy cập 1 database nào đó hoặc truy cập tất cả
Ví dụ khi muốn tạo mới user thuylv6 và cho phép nó truy cập db auto-dictionary
CREATE USER ‘thuylv5’@’%’ IDENTIFIED BY ‘20101997’;
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON auto-dictionary
.* TO ‘thuylv5’@’%’;
Ok đến đây bạn đã set up thành công 1 mysql trên 1 vps và tạo được 1 account cho phép truy cập database từ xa
bonus:
Để dùng python kết nối với mysql, hãy dùng peewee và pymysql
Bonus: Trong quá trình các bạn dùng django, các bạn muốn kết nốt với mysql. Khổ nỗi phiên bản 8 của mysql user của mysql mặc định dùng plugin caching_sha2_password. Trong khi django lại dùng mysql_native_password.
Vì vậy chúng ta cần tạo user kết nối mysql từ xa và dùng mysql_native_password: