Linux開啟mysql遠端連線的設定步驟

2021-06-21 22:43:10 字數 3209 閱讀 9754

mysql預設root使用者只能本地訪問,不能遠端連線管理mysql

資料庫,linux

如何開啟mysql遠端連線?設定步驟如下:

1、grant命令建立遠端連線mysql授權使用者itlogger

mysql -u root -p

flush privileges;

mysql>grant all privileges on *.* to itlogger@localhost identified by 『www.itlogger.com』 with grant option;

mysql>grant all privileges on *.* to itlogger@」%」 identified by 『www.itlogger.com』 with grant option;

第一句增加itlogger使用者授權通過本地機(localhost)訪問,密碼「www.itlogger.com」。第二句則是授與itlogger使用者從任何其它主機發起的訪問(萬用字元%)。

2、設定防火牆

允許3306埠

vi /etc/sysconfig/ip

tables

新增-a rh-firewall-1-input -m state –state new -m tcp -p tcp –dport 3306 -j accept

(注意新增在-a rh-firewall-1-input -j reject –reject-with icmp-host-prohibited之前,否則可能導致規則不生效)

重啟防火牆service iptables restart

3、附:mysql無法遠端連線的常見問題

1)檢視mysql的埠是否正確,通過netstat -ntlp檢視埠占用情況,一般情況下埠是3306。

2)報錯:error 2003 (hy000): can』t connect to mysql server on 』192.168.51.112′ (111)

檢視/etc/my.cnf中,skip-networking 是否已被注掉,需要注掉。

3)報錯:error 2003 (hy000): can』t connect to mysql server on 』192.168.51.112′ (113)

檢視是否iptables沒有允許mysql連線,通過:service iptables stop臨時關閉測試是否可以正常遠端訪問,如果可以,按上面方面設定iptable允許3306埠

4)遠端訪問mysql速度很慢的解決方法

修改/etc/my.cnf或my.ini

[mysqld]下新增

skip-name-resolve

skip-grant-table

max_allowed_packet 修改

cp /usr/share/mysql/my-default.cnf   /etc/my.cnf

max_allowed_packet=100m

lower_case_table_names=1 表明不區分大小寫

安裝msyql查詢

#rpm -qa | grep -i mysql  

刪除# rpm -ev mysql-server-5.0.22-0.i386

刪除出錯強制刪除

rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64 安裝

# rpm -ivh /opt/mysql-server-5.5.15-1.linux2.6.x86_64.rpm 

修改的使用者都以root為列。

一、擁有原來的myql的root的密碼;

方法一:

在mysql系統外,使用mysqladmin

# mysqladmin -u root -p password "test123"

enter password: 【輸入原來的密碼】

方法二:

通過登入mysql系統,

# mysql -uroot -p

enter password: 【輸入原來的密碼】

mysql>

use mysql;

mysql> 

update user set password=password("test") where user='root';

mysql> 

flush privileges;

mysql> 

exit;

二、忘記原來的myql的root的密碼;

首先,你必須要有作業系統的root許可權了。要是連系統的root許可權都沒有的話,先考慮root系統再走下面的步驟。

類似於安全模式登入系統,有人建議說是

pkill mysql

,但是我不建議哈。因為當你執行了這個命令後,會導致這樣的狀況:

/etc/init.d/mysqld status

mysqld dead but subsys locked

這樣即使你是在安全模式下啟動mysql都未必會有用的,所以一般是這樣

/etc/init.d/mysqld stop

,如果你不幸先用了pkill,那麼就start一下再stop咯。

# mysqld_safe --skip-grant-tables &

&,表示在後台執行,不再後台執行的話,就再開啟乙個終端咯。

# mysql

mysql> 

use mysql;

mysql> 

update user set password=password("test123") where user='root'; 

mysql> 

flush privileges;

mysql> 

exit;

##本來mysql是不分大小寫的,但是這個是修改的mysql中的mysql資料庫的具體的值,要注意到。

mysql加入到系統服務裡面

cp  /usr/local/mysql/share/mysql/mysql.server 

/etc/init.d/mysql 

#把msql的指令碼檔案拷到系統的啟動目錄下

cd /etc/init.d/

chkconfig --add mysql 

#將mysql加到啟動服務列表裡

chkconfig mysql on 

#讓系統啟動時自動開啟mysql服務

Linux系統下如何開啟Mysql遠端連線服務

開發過程中難免會遇到遠端訪問mysql資料庫的問題,這裡通過改變user表中一條記錄資料就可以了,下面為大家簡單說一說解決的方案,首先訪問本機的mysql 用ssh登入終端,輸入如下命令 輸入登入mysql資料庫命令如下 mysql uroot p 輸入密碼登陸進去後,輸入如下的語句 use mys...

linux 開啟mysql遠端

etc mysql my.cnf 修改 bind address 127.0.0.1 為 允許任何機器訪問,也可以設定成固定的ip bind address 0.0.0.0 修改資料庫mysql的user表 update user set host where user username 代表任何位...

如何開啟MySQL遠端訪問許可權 允許遠端連線

部署專案時需要安裝資料庫。安裝完成後需要能夠允許遠端訪問,這裡講一下如何開啟mysql遠端訪問的許可權。1 改表法。可能是你的帳號不允許從遠端登陸,只能在本機 localhost 登入。這個時候只要在localhost的那台電腦,登入mysql 後,更改 mysql 資料庫裡的 user 表裡的 h...