web-dev-qa-db-ja.com

CentOSでmysqlのリモートアクセスを有効にする方法

Apacheは8113ではなく80ポートで実行されています。

Mysqlデータベースにリモートでアクセスしたい。次の手順を試しました。

Bind-address XXX.XX.XX.XXX in /etc/my.cnf
Create Database 
and run the command 
GRANT ALL PRIVILEGES ON *.* TO  'USERNAME'@'IP'  IDENTIFIED  BY  'PASSWORD';

しかし、接続できません。接続にはheidi sqlを使用しています。

13
Puneet

次のmy.cnfを編集します。

[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/English
bind-address = xxx.xxx.xxx.xxx
# skip-networking

編集後service mysqld restart

mysqlにログインして、次のクエリをヒットします。

GRANT ALL ON foo.* TO bar@'xxx.xxx.xxx.xxx' IDENTIFIED BY 'PASSWORD';

それはあなたのiptablesが3306からの接続を許可することを確認します

iptables -A INPUT -i lo -p tcp --dport 3306 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 3306 -j ACCEPT

13
matanco

/etc/my.cnfのバインドアドレスXXX.XX.XX.XXX

コメント行:

スキップネットワーキング

または

スキップ外部ロック

編集後service mysqld restart

mysqlにログインして、次のクエリをヒットします。

GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'%' IDENTIFIED BY 'password';

FLUSH PRIVILEGES;
quit;

ファイアウォールルールを追加します。

iptables -I INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
13
Alexander T

MysqlサーバーLinuxマシンにIPを許可する場合。次のコマンドを実行できます-

 nano /etc/httpd/conf.d/phpMyAdmin.conf  and add Desired IP.

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8
   Order allow,deny
   allow from all
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>

    Require ip 192.168.9.1(Desired IP)

</RequireAny>
   </IfModule>
 <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     #Allow from All

     Allow from 192.168.9.1(Desired IP)

</IfModule>

更新後、次のコマンドを使用して再起動してください-

Sudo systemctl restart httpd.service
0
N Islam