saving database on phpMyAdmin - mySQL - mysql

I have created a database with two tables on my phpMyAdmin account, and I'm using 000webhost for a web hosting. Once I logged out of my account, and re logged in, everything was deleted. Does anyone know how I can save the database I have re added? thanks so much

Normally a database would persist across login sessions. The only possible exception would be if you log in as different users (which could be different usernames or if you use fine-grained IP-based access controls, for instance, two different users both with username natasha, one host 192.0.2.1 and another with host 192.0.2.50). If those users don't have full access, they might not be able to see the database owned by the other user.
Other than that, I can't think of any reason your data wouldn't persist and suggest you contact your hosting provider's support for further assistance.

Related

Cannot open access database after importing the backend database, originally connected over the network

I am just a beginner, as such, humbly request you to be as basic as possible.
below are the steps that I had taken while creating a split access database:
Originally created an access database in access 2013, which had a login form as default form on load, and it was mandatory to log in.
Split the database into back-end and front-end.
stored the back end database over the network in one of the computers (all systems are linked via LAN/wi-fi) and distributed the front end to different users.
This setup had worked fine so far. Users were able to operate the database perfectly fine. However, it was required that the database be imported back again (merge front-end and back-end). Below are the steps that I took.
Logged in as a superuser (there is a feature where I can bypass the login form by using shift+enter key, which then asks for superuser credentials. Once logged in, simply close the database and again open using shift+enter) and gained access to database design.
deleted the linked table, and imported the back-end database.
Now, when I connect my system to the network, and try opening the database, everything works fine. But if I disconnect from the network and try to open the database, IT JUST WON'T OPEN. Only the access software gets opened, and not the database.
What I fail to understand is why is my database still dependent on network when there clearly is no need for that?
Please help me understand where I am wrong, and also, how can I open the database without being connected to the said network.
(As per this meta post, I should repost my comment as an answer).
There were still linked hidden tables present. See here how to unhide them.

Want to Store and Access Live Access Database Online

I have been trying to make an Inventory Management System. I have made the database on Access but I want the database to run online so that people from remote areas with different access levels can modify it in real time.
Is there a way I can store the .accdb file with access restriction? Or is there any online service hosting live databases of MS Access?
It depends on your infrastructure. The simplest (but worst as far as performance) is to set up VPN connections for remote users. Event better if you have the capability use Remote Web Workplace or a Remote Desktop server. Finally put all the tables on SQL Server or MySQL and distribute the front end. With any of these, as with any Internet facing service, you have to be very careful with your security precautions but it is possible to do any of these with adequate security.
If you know only one user will be working at it at a time you can use something like DropBox, Google drive or SkyDrive but that will not work if you want more than one user at a time. Access will not be able to "combine" the changes from multiple user accessing it this way.

Encrypt mysql database so not even system admin can access data

Im looking for a way to encrypt a mysql DB so that only a logged in user can access their data, any other user will not be able to access the data, even if they are the system admin and are able to download the .sql file and browse it locally.
Is there a way to implement this ?
Background / Why I would want to do this - Someone was talking to me the other day about creating a web application for use in their industry, they wanted to produce the web app, use it in house, but also offer it to other companies in their industry as a SaaS platform, as a point of trust they wanted to setup their DB so that they could not access the data of what would be their users (which may also happen to be their competitors)
If each user/account holder has to provide a cryptographic key at login, which is stored in the session (not the database) then all their data could be encrypted (hashed) so that anyone with admin access would look at the tables and not see data.
There's no way to guarantee that the administrator, already having database access, couldn't get webserver access and intercept the key, however.

How can I protect a MySQL user from being deleted and modified?

I would like to create a MySQL user with permissions to create and remove other users, but prevent my own (superuser) account from being deleted or modified.
The user seems to need CREATE USER to be able to manage users, and this seems to allow deletion of all accounts.
Goal is to provide MySQL as a service with the possibility to do some user management, while keeping an administrative user on the database protected from users.
Edit: Users will be connecting to MySQL directly using the CLI mysql client or a third party database tool. Of course this problem could be eliminated by providing the user a custom system to do user management and do custom access control in there, but I'd prefer to give direct access to the DB.
MySQL does not provide this level of control over user management. But I can imagine a small application of your own that would let your authorised users to manage only users you allow.
Only the application would connect to the database as a privileged user.
Only the application would issue the actual CREATE USER and DROP USER statements, and only on accounts that you allow.
Having manipulated these actual MySQL system users via this application, these accounts would become available for direct connection.

connect database table with the local username id password of the system

how to connect database table with the local username id and password of the system?. When user logs into the machine. opens up the software, he gets only the assets alloted to him. asset information is contained in the database table..anyone has any idea on how to implement this.I'm using mySQLdb with pyqt4.(creating an asset manager, user gets only the assets alloted to him )
As has been stated in the comments, the tables should not be any different between users. Also, there is no way to get the users password without them entering it again. And once you do have them enter it, you would have to use some method to authenticate them, such as checking it against an LDAP server.
Otherwise, if you simply want to base the delivery of database information of the current logged user and assume that them being logged in is enough of an authentication, you could simple get the login name with os.getlogin()
Most likely what you would just be doing is selecting on your table, data that has that username as matching criteria of some column. You wouldn't be using any sort of database-level authentication to filter the data. The authentication comes from some other earlier layer.
In pseudo-code: select * from assets where user is <result of os.login()>
With regards to the reason you are getting downvotes... People would like to see more context about your problem to understand the solution you are after. What is the structure of your database tables? Are you associating asset records with users? Is there a specific need for security or simply automatically identifying a user that is running the software? People on SO that take a little more time to outline their problem, the context, and what they have tried, tend to get better responses and upvotes.