MySQL是一種廣泛使用的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),可以在各種不同的操作系統(tǒng)上運行。默認(rèn)情況下,MySQL只允許本地主機(jī)上的客戶端訪問數(shù)據(jù)庫服務(wù)器。但是,有時候需要允許遠(yuǎn)程客戶端連接到MySQL服務(wù)器以訪問數(shù)據(jù)。
要允許MySQL的遠(yuǎn)程訪問,需要進(jìn)行以下步驟:
#1、編輯MySQL配置文件 sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
在打開的文件中找到并注釋掉這一行:
bind-address = 127.0.0.1
這個配置會將MySQL服務(wù)器限制在本地主機(jī)上。注釋掉它可以允許其他主機(jī)上的客戶端連接到服務(wù)器。
#2、重啟MySQL服務(wù)器 sudo service mysql restart
確保MySQL服務(wù)器已經(jīng)重新啟動,才能繼續(xù)進(jìn)行下一步操作。
#3、為遠(yuǎn)程訪問創(chuàng)建一個用戶 mysql -u root -p GRANT ALL ON *.* to 'username'@'%' IDENTIFIED BY 'password';
這個命令會創(chuàng)建一個名為“username”的用戶,并向這個用戶授權(quán)可以訪問服務(wù)器上的所有數(shù)據(jù)庫。%符號代表允許來自任何主機(jī)的客戶端連接到服務(wù)器。注意,在調(diào)用GRANT命令時必須指定一個密碼。如果不想設(shè)置密碼,可以用空字符串代替。但這并不是一個好習(xí)慣,因為沒有密碼的用戶很容易受到攻擊。
完成這些步驟后,MySQL就會接受來自任何主機(jī)的客戶端連接。為了連接到MySQL服務(wù)器,遠(yuǎn)程主機(jī)上的客戶端需要提供服務(wù)器的IP地址,用戶名和密碼(如果有的話),然后就可以使用標(biāo)準(zhǔn)的SQL查詢語句來訪問數(shù)據(jù)庫了。