Cập nhật:
Như đã đề cập trong phần nhận xét, vì MySql 8 trước tiên bạn cần tạo người dùng một cách rõ ràng, vì vậy lệnh sẽ giống như sau:
CREATE USER 'root'@'%' IDENTIFIED BY 'root'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Câu trả lời ban đầu:
Có hai bước trong quy trình đó:
a) Cấp đặc quyền. Khi người dùng root thực thi với 'password'
thay thế này với mật khẩu gốc hiện tại của bạn:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
b) liên kết với tất cả các địa chỉ:
Cách dễ nhất là nhận xét dòng trong my.cnf
của bạn tệp:
#bind-address = 127.0.0.1
và khởi động lại mysql
service mysql restart
Theo mặc định, nó chỉ liên kết với localhost, nhưng nếu bạn nhận xét dòng nó sẽ liên kết với tất cả các giao diện mà nó tìm thấy. Nhận xét ra dòng tương đương với bind-address=*
.
Để kiểm tra nơi dịch vụ mysql đã liên kết thực thi dưới dạng root:
netstat -tupan | grep mysql
Cập nhật cho Ubuntu 16:
Tệp cấu hình là (bây giờ)
/etc/mysql/mysql.conf.d/mysqld.cnf
(ít nhất là trên Ubuntu 16 tiêu chuẩn)