Sau khi cài đặt mysql lên server xong, ở đây mình cài mysql server lên ubuntu 18.04
Dùng các lệnh sau đây:
- sudo apt update
- sudo apt install mysql-server
- sudo mysql_secure_installation
Cũng khá dễ để cài đặt....
Khi thiết lập Secure_installation sẽ có bước cài password cho user root.
Đăng nhập mysql từ máy server( máy cài mysql) như sau:
mysql -u root -p (Enter)
Sẽ hỏi nhập password root:
Nhập Password root của mysql vào...
User lúc này sẽ có dạng root@localhost
Nếu đăng nhập thành công thì dùng lệnh này để check user trong database
SELECT user,authentication_string,plugin,host FROM mysql.user;
Sẽ hiện ra cái bảng tất cả các user.
Thường thì nếu các user không được cấp quyền để truy cập các database sẽ không connect được các ứng dụng remote.
Cách tạo user remote full quyền như sau:
Bước 1: Tạo mới 1 User
ALTER USER 'mathang'@'192.168.1.52' IDENTIFIED WITH mysql_native_password BY 'password';
Đây là mình tạo một user là mathang
Truy cập từ máy tính có địa chỉ IP là 192.168.1.52
Với password là 'password'
Bước 2: Tạo full quyền cho User ....
GRANT ALL PRIVILEGES ON *.* TO 'mathang'@'192.168.1.52' WITH GRANT OPTION;
Ok giờ user mathang được truy cập từ ip 192.168.1.52 đang có full quyền rồi đấy.
Lúc này nếu các bạn vẫn chưa thể truy cập mySQL được từ xa thì kiểm tra lại những bước sau:
1. Kiểm tra xem port mySQL (3306) đã mở chưa?
Cách mở như sau:
sudo ufw allow myslq
sudo ufw enable
sudo ufw status
Xong thử truy cập lại...
Thường thì sẽ hiện lỗi này.
1. Kiểm tra xem port mySQL (3306) đã mở chưa?
Cách mở như sau:
sudo ufw allow myslq
sudo ufw enable
sudo ufw status
Xong thử truy cập lại...
Thường thì sẽ hiện lỗi này.
Lỗi này là mysql Server của chúng ta đã nhập đúng user và password nhưng không có quyền truy cập từ Host '192.168.1.66'
Cách giải quyết như sau:
- Đầu tiên ta sẽ đăng nhập vào ubuntu server của chúng ta
- sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Tìm dòng bind-address = 127.0.0.1
Sửa IP server lại thành IP của máy tính.
VD: 192.168.1.236
Sau đó lưu file lại và restart lại service mysql với lệnh:
sudo systemctl restart mysql
Thử truy cập lại xem được chưa?
Nếu chưa tiếp tục tạo user mới như sau:
CREATE USER 'mathang'@'113.161.220.166' IDENTIFIED BY '@51209267192Cvv'; GRANT ALL ON *.* TO 'mathang'@'113.161.220.166';
Cách giải quyết như sau:
- Đầu tiên ta sẽ đăng nhập vào ubuntu server của chúng ta
- sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Tìm dòng bind-address = 127.0.0.1
Sửa IP server lại thành IP của máy tính.
VD: 192.168.1.236
Sau đó lưu file lại và restart lại service mysql với lệnh:
sudo systemctl restart mysql
Thử truy cập lại xem được chưa?
Nếu chưa tiếp tục tạo user mới như sau:
CREATE USER 'mathang'@'113.161.220.166' IDENTIFIED BY '@51209267192Cvv'; GRANT ALL ON *.* TO 'mathang'@'113.161.220.166';
Không có nhận xét nào:
Đăng nhận xét