linuxmysql外部訪問
假設本地計算機IP為192.168.1.100,遠程計算機IP為192.168.1.244。為了允許從本地計算機訪問遠程計算機上的MySQL資料庫,首先在遠程計算機上執行以下步驟:
1. 啟動MySQL伺服器:/etc/init.d/mysql.server start。
2. 登錄MySQL伺服器:bin/mysql -u root -p。
3. 切換到mysql資料庫:mysql> use mysql。
4. 創建遠程登陸用戶並授權:mysql> grant all PRIVILEGES on test.* to andy@'192.168.1.100' identified by '123456';。
這條語句表示授予andy用戶對test資料庫中所有表的所有許可權,並允許andy用戶通過IP地址192.168.1.100遠程連接,同時設置了andy用戶的密碼為123456。參數解析如下:
- all PRIVILEGES:表示授予所有許可權,也可以指定具體許可權,如select, insert, update, delete, create, drop等,各許可權間用逗號分隔。
- test.*:表示授權范圍,test為資料庫名,*表示所有表,可以進一步細化,例如:*.*表示所有資料庫的所有表,資料庫名.*表示指定資料庫的所有表,資料庫名.表名表示指定資料庫的指定表。
- andy:表示要授權的用戶,可以是已存在的用戶或新創建的用戶。
- 192.168.1.100:表示允許遠程連接的IP地址,如需不限制連接IP則設置為%。
- 123456:為用戶的密碼。
執行完上述語句後,需執行> flush privileges;以使更改立即生效。
接下來在本地計算機上執行以下命令:
3. 連接到遠程MySQL伺服器:./mysql -h 192.168.1.244 -u andy -p 123456。
至此,你便可以使用本地計算機訪問遠程計算機上的MySQL資料庫了。
② linux系統中如何設置mysql外部登錄訪問
在Linux系統中設置MySQL以支持外部登錄訪問,需要通過幾個關鍵步驟操作。以下是詳細過程:
首先,找到並編輯MySQL的配置文件,通常位於/etc/mysql/、/etc/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf,使用`sudo find / -name my.cnf`查找。在[mysqld]部分,將bind-address設置為0.0.0.0或伺服器IP地址,以允許外部連接。保存後,重啟MySQL服務,如`sudo systemctl restart mysql`或`sudo service mysql restart`。
接下來,創建或更新用戶許可權,例如創建用戶remoteuser並授予許可權,如`CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;`。為了增加安全性,建議使用具體IP地址代替%。同時,確保防火牆允許3306埠的外部訪問,如使用`sudo ufw allow 3306/tcp`。
還需注意,允許外部訪問可能會增加安全風險,務必採取措施,如使用強密碼和限制連接源。如果使用SELinux,可能需要調整策略以支持外部連接。同時,檢查伺服器網路配置,確保外部流量可以到達MySQL埠。
配置完成後,務必在實際連接前進行測試,以確保所有更改按預期工作。現在,你已經具備了在Linux系統中設置MySQL以接受外部登錄訪問的基礎知識。
③ linux 一台伺服器,訪問另外一台伺服器上的 mysql 資料庫怎麼設置。
首先在資料庫伺服器上設置mysql可以遠程訪問,其次打開資料庫伺服器所在的linux系統上的防火牆策略添加3306埠,最後配置網路環境讓2台機器可以進行通信。
其它java工程配置資料庫的ip和用戶名密碼即可。
④ linux系統 #1045 無法登錄 MySQL 伺服器
在Linux系統中嘗試連接MySQL資料庫時,如果遇到1045錯誤,通常表示資料庫拒絕了用戶的訪問。為了修正這個問題,需要確保資料庫用戶具有相應的訪問許可權。
首先,你需要登錄到MySQL資料庫中,使用命令:
mysql -uroot -padmin
輸入用戶名和密碼登錄。然後,你需要在MySQL中切換到資料庫,執行以下命令:
use mysql;
select host,user from user;
這將顯示所有已存在的用戶及其主機名。如果你需要遠程訪問MySQL伺服器,必須為普通用戶增加相應的許可權。使用以下命令:
grant select,update,insert,delete on mas.* to root@localhost identified by "admin";
這句命令新建了一個名為root的用戶,並賦予該用戶在本地(localhost)登錄的許可權,密碼為admin,同時賦予其對名為mas的資料庫中所有表的select,update,insert和delete操作許可權。
確保root用戶能夠遠程登錄MySQL伺服器,需要執行以下更新用戶許可權的命令:
update user set host = '%' where user = 'root';
也可以直接給用戶授權,命令如下:
grant all on *.* to 用戶名@"%" identified by "密碼";
flush privileges;
這將為指定用戶賦予所有許可權,並刷新許可權設置,確保新的許可權配置生效。