Falha na conexão c/MySQL Erro 1045 [RESOLVIDO]

1. Falha na conexão c/MySQL Erro 1045 [RESOLVIDO]

Berto
berto_juridico

(usa Slackware)

Enviado em 30/09/2009 - 12:50h

Olá pessoal! Mais um propleminha racha cuca! Aeeeeee!

O cenário é o seguinte:
Tenho um serve que é Firewall (iptables), Proxy (squid), Samba e agora já esta instalado o MySQL e esta rodando "normalmente"... normalmente como localhost no server, pq o meu problema é quando eu tento me conectar de uma maq da rede.
ip servidor: 192.168.0.1
ip maq cli: 192.168.0.7

Usando o MySQL Adminitrator ele acusa : MySQL error number 1045.


quando eu estou num terminal do server, consigo me conectar normalmente:
mysql -u root -p
password:

shasan! Me conecto! aeeeee...
Mas agora, rodando o mysql administrator na maq cliente, não vai!
já tentei regras de firewall, portas pelo squid e conf do mysql...

vejam se algo errado
-----------------------------------------------------------------
firewall:
# Liberando porta do Mysql
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A FORWARD -p tcp --dport 3306 -j ACCEPT

-----------------------------------------------------------------
proxy:
acl SSL_ports port 443
acl Safe_ports port 80 # http
.
.
.
.
acl Safe_ports port 3306 # mysql
acl CONNECT method CONNECT

# Deny requests to unknown ports
http_access deny !Safe_ports

# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports


-----------------------------------------------------------------
my.cnf:
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0

[mysqld]
#
# * Basic Settings
#
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 = 127.0.0.1

#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
#log = /var/log/mysql/mysql.log
#
# Error logging goes to syslog. This is a Debian improvement :)
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * BerkeleyDB
# Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
skip-bdb
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
#skip-innodb
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M

#
# * NDB Cluster
#
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
#
# The following configuration is read by the NDB Data Nodes (ndbd processes)
# not from the NDB Management Nodes (ndb_mgmd processes).
#
# [MYSQL_CLUSTER]
# ndb-connectstring=127.0.0.1


#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/


-----------------------------------------------------------------

Dados adicionais!!!

tcpdump -i eth0 # no momento em que tentei fazer a conexão om Mysql... esse comando eu dei no servidor
08:29:04.593148 IP 192.168.0.7.1421 > kacique.mysql: S 2308914559:2308914559(0) win 65535 <mss 1460,nop,nop,sackOK>
08:29:04.593237 IP kacique.mysql > 192.168.0.7.1421: S 803913112:803913112(0) ack 2308914560 win 5840 <mss 1460,nop,nop,sackOK>
08:29:04.593334 IP 192.168.0.7.1421 > kacique.mysql: . ack 1 win 65535

# eth0 é a interface da minha rede

-----------------------------------------------------------------

Estou tentando fazer uma migração de Oracle -> MySQL usando o MySQL Migration Toolkit...
O oracle esta nessa maq 192.168.0.7, junto com MySQL Administrator.

A conexão com o Oracle é tranquila, mas quando eu vou me conectar com MySQL
ele dá esse ERRO:

Initializing JDBC driver ...
Driver class MySQL JDBC Driver 5.0
Opening connection ...
Connection jdbc:mysql://192.168.0.1:3306/?user=root&password=MINHA_SENHA&useServerPrepStmts=false&characterEncoding=UTF-8
The connection to the target database could not be established (error: 0).
ReverseEngineeringMysqlJdbc.getVersion :Access denied for user 'root'@'192.168.0.7' (using password: YES)
Details:
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:812)
com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3269)
com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1182)
com.mysql.jdbc.Connection.createNewIO(Connection.java:2670)
com.mysql.jdbc.Connection.<init>(Connection.java:1531)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
com.mysql.grt.modules.ReverseEngineeringGeneric.establishConnection(ReverseEngineeringGeneric.java:141)
com.mysql.grt.modules.ReverseEngineeringGeneric.getVersion(ReverseEngineeringGeneric.java:161)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.mysql.grt.Grt.callModuleFunction(Unknown Source)

-----------------------------------------------------------------

Espero que alguém possa me ajudar, me dar uma luz
ou somente comentar se já teve uma experiência parecida, numa dessa pode estar uma resposta...

Desde já, muito obrigado!

by
berto





  


2. Usuário e Permissão MySQL

Allan Mendes Silva Baliberdin
baliberdin

(usa RedHat)

Enviado em 30/09/2009 - 15:58h

Mano berto, antes de mais nada, achu que seria um bom começo vc criar um usuário no banco mysql
e dar permissão de conexão indicando o ip do cliente, +/- assim:

# primeiro cria uma base
mysql> create database DATABASE_NAME;

# cria um usuário
mysql> create user USER_NAME;

# Atribui direitos ao usuário com permissão de acesso ao database vindos do ip 192.168.0.7
mysql> grant all privileges on DATABASE_NAME.* to USER_NAME@192.168.0.7 identified by 'SENHA';


# Atribui direitos ao usuário com permissão de acesso ao database vindos de qualquer ip
mysql> grant all privileges on DATABASE_NAME.* to USER_NAME@'%' identified by 'SENHA';

ou se preferir, execute
$>mysql_secure_installation

e vai seguindo as instruções na tela, nesse modo vc pode liberar a conexão do usuário root de máquinas externas.


3. Aeeeeeeeeeeeeeeeeee

Berto
berto_juridico

(usa Slackware)

Enviado em 01/10/2009 - 07:28h

Muito obrigado!

Era isso mesmo! Bateu em cima!

Muito obrigado, mesmo!

se eu puder te ajudar co malguma coisa?

qq coisa, to aqui tbm

t+

by berto







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts