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...