CONFIGURAR SERVIDOR MYSQL

RMARCONE 20/08/2007 15:30:40
#231682
BOA TARDE, PESSOAL,

SEMPRE TRABALHEI COM APLICAÇÕES DESKTOP E BASES LOCAIS; AGORA, CONSIDERANDO QUE VÁRIAS PESSOAS IRÃO ACESSAR A MESMA BASE DE DADOS AQUI DO NOSSO DEPARTAMENTO, ESTOU QUERENDO DEFINIR UM SERVIDOR (UM DOS COMPUTADORES AQUI DO DEPARTAMENTO) PARA QUE TODOS O ACESSEM.

SEI QUE é PRECISO PASSAR O IP DO SERVIDOR QUANDO FOR CONECTAR AO MYSQL, MAS TENHO DÃÅ¡VIDAS, POIS QUANDO INSTALEI O MYSQL NO SERVIDOR, DEFINI ESTE COMO LOCALHOST E CREIO QUE ISSO é APENAS PARA ACESSO LOCAL (ACHO QUE é AQUI QUE ESTÁ O ERRO!!).

NA MÁQUINA CLIENTE, ESTOU TENTANDO DA SEGUINTE FORMA, MAS ESTÁ DANDO ERRO DE SERVIDOR NÃO ENCONTRADO:

Dim rs As New ADODB.Recordset
Const server = "10.70.33.232" 'IP DO SERVIDOR
Const username = "root"
Const password = "123345"
Const database = "bd_dados"

Set conn = New ADODB.Connection
conn.Open "driver={MySQL ODBC 3.51 Driver};server=" & server & ";uid=" & username & ";pwd=" & password & ";database=" & database

NO SERVIDOR, CONSIGO ACESSAR NORMALMENTE, USANDO O SERVER "localhost", MAS DE OUTRA MÁQUINA, PASSANDO O IP, DÁ ERRO.




[S59][S59][S59]
USUARIO.EXCLUIDOS 20/08/2007 15:44:30
#231685
CARA VC VAI TER QUE INSTALAR O MYSQL ADMINSTRATOR E DENTRO DO MYSQL ADMINSTRATOR VC VAI DAR AS PERMISS̉ۢES PARA QUE OUTRAS MAQUINAS POSSAM ACESSAR O BD QUE VC QUER!!
INSTALE ESSA FERRAMENTA E DEPOIS DA UM TOQUE QUE TE EXPLICO COM FAZ !!

LCSD 20/08/2007 16:23:23
#231697
Amigo, é até importante que vc permita o acesso do usuário root apenas do servidor mesmo....ou seja a sua intalação esta correta.

Oq esta acontecendo é justamente isso......vc tentando acessar o server de uma outra maquina, que naum foi liberada para acessar....

Para resolver esse problema, vc tera que criar uma função que adicione os usuários e que possa acessar de qualquer máquina......

Entaum vamos lá......


Na retaguarda do seu projeto, crie um form com os seguintes objetos.:::

5 textbox e seus respectivos labels.......
2 COMMANDBUTTON. (Novo e Salvar)

txtUsuario = NOME PARA LOGIN
txtNomeCompleto = NOME COMPLETO DO USUARIO (OPCIONAL)
txtDescricao = DESCRIÇÃO DO USUARIO (OPCIONAL)
txtEmail = EMAIL DO USUARIO (OPCIONAL)
txtSenha = SENHA DO USUÁRIO.(OBRIGATÓRIO).

no Botão NOVO vc deverá chamar a função acessoRoot

ou criar como quiser o acesso ao server. Isso apartir do server.

sub acessoRoot()
[c]Sub acessoRoot()

sRootMaster = "root"
sPwdMaster = "12345"
sBaseMaster = "mysql"
sServerMaster = "localhost"

On Error GoTo tratErroConex
Set bd = New ADODB.Connection
bd.ConnectionTimeout = 60
bd.CommandTimeout = 400
bd.CursorLocation = adUseClient
bd.Open "DRIVER={MySQL ODBC 3.51 Driver};" _
& "user=" & sRootMaster _
& ";password=" & sPwdMaster _
& ";database=" & sBaseMaster _
& ";server=" & sServerMaster _
& ";option=" & (1 + 2 + 8 + 32 + 2048 + 16384)
tratErroConex:
Select Case Err.Number
Case -2147467259

If Err.Description = "[Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado" Then
MsgBox "Não foi detectado o drive ODBC para conexão como o banco de dados." & Chr(10) & "O sistema irá instalar este recurso, responda Sim as telas seguintes !!!"
frmConfigOdbc.Show 1
ElseIf Err.Description = "O driver especificado não pÃÂ'de ser carregado devido ao erro de sistema 126 (MySQL ODBC 3.51 Driver)." Then

End If

End Select

End Sub

[/c]

Agora vamos criar os usuários........


No botão GRAVAR coloque o seguinte codigo.




[c]Private Sub cmdGrava_Click()
bd.BeginTrans: sStatusTrans = True
cmdNovo.Enabled = False
cmdNovo.Enabled = True
cmdExclui.Enabled = True
cmdProcura.Enabled = True

'NESSE PROCEDIMENTO VC DA TODOS PRIVILéGIOS DE ACESSO A TODOS OS BANCOS E TODAS AS TABELAS DE QUALQUER MAQUINA DA REDE.

SQL = "GRANT ALL PRIVILEGES ON *.* TO " & txtUsuario & "@'%' IDENTIFIED BY '" & txtSenha & "';"
bd.Execute (SQL)


SQL = "INSERT INTO mysql.db ('Host', 'Db', 'User', 'Select_priv', 'Insert_priv', 'Update_priv', 'Delete_priv', 'Create_priv', 'Drop_priv', 'Grant_priv', 'References_priv', 'Index_priv', 'Alter_priv', 'Create_tmp_table_priv', 'Lock_tables_priv', 'Create_view_priv', 'Show_view_priv', 'Create_routine_priv', 'Alter_routine_priv', 'Execute_priv', 'Event_priv', 'Trigger_priv') VALUES " & _
"('%','" & Text6.Text & "','" & txtUsuario & "','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');"
bd.Execute (SQL)


SQL = "UPDATE 'mysql'.'user' SET ACESSO =" & txtAcesso & ", Grant_priv = 'Y' WHERE USER ='" & txtUsuario & "'"
bd.Execute (SQL)


SQL = "INSERT INTO mysql.user_info (User, Full_name, Description, Email,Acesso) VALUES ('" & txtUsuario & "','" & txtNomeCompleto & "','" & txtDescricao & "','" & txtEmail & "','" & txtAcesso & "')"
bd.Execute (SQL)



If Err.Number <> 0 Then
bd.RollbackTrans: sStatusTrans = False
Else
bd.CommitTrans: sStatusTrans = False
MsgBox "Usuário registrado com sucesso !!!", vbInformation
Form_Load
SQL = "GRANT RELOAD,PROCESS ON *.* TO " & txtUsuario & "@'%'"
bd.Execute (SQL)
End If

End Sub


[/c]


DE UMA OLHADINHA AKI......

QUALQUER DUVIDA POSTA AE.......



RMARCONE 20/08/2007 17:04:33
#231702
Caraca!!

Vocês são mesmos rápidos e eficientes!!

Funcionou direitinho.

Valeu galera!!
Tópico encerrado , respostas não são mais permitidas