PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Thursday, April 21, 2022

[FIXED] How to give permission to other PC to add data to my database in MySQL.in my computer

 April 21, 2022     connection, database, mysql, python, tkinter     No comments   

Issue

I made a python program here and i wanted to send the code to my friend and he was unable to add values through the program to my database, is there a way i can allow his access.

Code:

from tkinter import *
import mysql.connector as mysql

root = Tk()


def flush(*args):
    name = nme.get()
    phone = ph.get()
    emirate = e_id.get()
    con = mysql.connect(host='127.0.0.1', user='root', password='monkey123', database='NZ')
    c = con.cursor()
    c.execute("Insert into gliy VALUES ('"+name+"','"+str(phone)+"','"+str(emirate)+"')")

    c.execute('commit')

    con.close()
    e_1.delete(0, END)
    e_2.delete(0, END)
    e_3.delete(0, END)

nme= StringVar()
ph = IntVar()
e_id = IntVar()

label_1 = Label(root,text='Patient Name',fg='blue')
label_2 = Label(root,text='Phone number',fg='blue')
label_3 = Label(root,text='Emirates ID',fg='blue')

label_1.grid(row=0,column=0)
label_2.grid(row=1,column=0)
label_3.grid(row=2,column=0)

e_1 = Entry(root,borderwidth=2,textvariable=nme)
e_2 = Entry(root,borderwidth=2,textvariable=ph)
e_3 = Entry(root,borderwidth=2,textvariable=e_id)

e_1.grid(row=0,column=1,ipady=10,padx=10,pady=10)
e_2.grid(row=1,column=1,ipady=10,padx=10,pady=10)
e_3.grid(row=2,column=1,ipady=10,padx=10,pady=10)

B_1 = Button(root,text='ENTER',command =flush)
B_1.grid(row=4,column=1)

root.mainloop()

ERROR:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\97513\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mysql\connector\network.py", line 509, in open_connection
    self.sock.connect(sockaddr)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\97513\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 1883, in _call_
    return self.func(*args)
  File "C:/Users/97513/AppData/Local/Programs/Python/Python38-32/new.py", line 14, in flush
    con = mysql.connect(host='127.0.0.1', user='root', password='monkey123', database='NZ')
  File "C:\Users\97513\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mysql\connector\__init__.py", line 179, in connect
    return MySQLConnection(*args, **kwargs)
  File "C:\Users\97513\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mysql\connector\connection.py", line 95, in _init_
    self.connect(**kwargs)
  File "C:\Users\97513\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mysql\connector\abstracts.py", line 716, in connect
    self._open_connection()
  File "C:\Users\97513\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mysql\connector\connection.py", line 206, in _open_connection
    self._socket.open_connection()
  File "C:\Users\97513\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mysql\connector\network.py", line 511, in open_connection
    raise errors.InterfaceError(
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '127.0.0.1:3306' (10061 No connection could be made because the target machine actively refused it)

Solution

This is happening because you are running MySQL locally on your computer (as given by your use of 127.0.0.1). In other words, you have a process/program (MySQL) running in the background of only your computer. For your friend to have access to this database, you will need to either of two things:

  1. Expose your MySQL instance (running on your computer) to the world.
    • This has its limitations. If you turn off your computer, or don't have access to the internet, you are effectively shutting down the MySQL instance from the rest of the world.
    • Involves port-forwarding and the sort -- which can be cumbersome.
  2. Use an external service (website provider) to run an instance of an MySQL database that can be accessed by anyone on the internet.
    • Google: "free mysql provider." You'll find a few results that allows you to create free MySQL databases with limitations (usually size limitation).
    • Instead of connecting to 127.0.0.1, you would connect to a mysql://website.com:33060/path/to/your/database

Method 2 is the easiest. You can use free services online to create a MySQL server that you and your friend can access.



Answered By - Felipe
Answer Checked By - Robin (PHPFixing Admin)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing