I wondered what's the best way to get an online database. I have a localhost/phpmyadmin db, but it only works on my computer. Is it any way to get it online?
You need a server(host) which supports databases. Usually the admin-part of that host will have a database interface; Otherwise you can upload phpmyadmin to that server via FTP(Filezilla)
Related
So I have an SQLite3 database with Sequelize on a VPS and a Website I hosted on Hostinger.
Is it possible to access and edit the data in the database from the website?
Any help is appreciated.
[my code is in nodejs]
Yes and No.
Easy and simple answer - now;
Longer - yes, but you would need to map the directories, so server running your sequelize will think it accesses normal directory.
You can download the database, edit it and then send it back. sqlite3 is file database, you dont really connect to it (usually)
SQLite is a database format based on a single file. It's simple but not massively performant. It has no networking features.
The SQLite client needs to have access to the filesystem that the database lives on.
If they are on different computers, then you could do it by using some kind of network filesystem (e.g. via fuse) but this would be really slow.
A better approach would be to run a webservice on the computer the file is stored on, and access the database through there.
I am having a MySQL database in my local machine (in XAMPP) that I access using phpmyadmin. I also have a website hosted on Godaddy. I generally stay offline and make changes into data stored into database.
I want to know how can I auto replicate the changes in local database to the one in Godaddy's server or can replicate using click of a button.
I have seen some answers that told about replication but I am unable to replicate data from my local machine to the Godaddy's server.
Can anyone please tell me the steps to replicate database in simplest way.
Thank you in advance!
After lot of searching and learning, I finally found an answer to this question.
On shared hosting, Godaddy do not provide access to the configuration files of mysql (my.ini). So the replication of data is not possible using master slave replication from local(master) to remote(slave) MySQL.
The only thing that can be done is, one can create a log file of all the data that are being entered into database while the user is offline (maybe a XML file) which contains the data that is not transfered to the global database, and can upload the file when connected to the internet and parse the XML to send data to the global database.
I have made a database locally using Xampp and now i want that database to be hosted on webserver. i have no idea how to do so i have also searched but i'm unable to get any proper tutorial or detailed guide for this. Really looking forward for some guideline, Thanks.
If you have access to PhpMyAdmin on the target Webserver, you could create a Database dump of your local Database via PhpMyAdmin (select your Db, then Click "Export") which you can then import into the target Server.
export your database and save.
Upload into webserver.
Create database,user and setting user previlages in remote host.
import the sql.
Done.
if the sql file is large, better process with ssh.
At first I searched in Stack Overflow about the difference between MySQL and SQLite. So there is some answers but still I want to know something. When accessing MySQL I need to give host, username, password and database parameters. But when accessing SQLite I just give database name. Can anyone explain me this why, and for security reasons also, should not be there password for SQLite database, can not be it just downloaded for example from server, so I am totally stuck. So need your help.
The difference is that MySQL is a database server, while SQLite is a database engine that works against single database files.
You are correct that the SQLite database file could just be downloaded if it's placed right in the web application where anyone can reach it.
Most server providers offer a folder where you can place files like this, so that the web application itself can reach it, but it's not directly downloadable.
You can also optionally add protection to the SQLite database file. See this question:
Password Protect a SQLite DB. Is it possible?
SQLite is mainly used for mobile and tablet apps.So they are just used for a single system.
But in MySql its a complete database and can be used from multiple system. So for increasing security ,we have to give all these. So that no one can misuse the data...
SQLite is just a file. If you have read access to the file that is the implicit security model (as well as the possibility to use database encryption).
MySQL is a network service. It can listen on an internet facing socket, meaning anyone in the world can access it if they have the right authentication credentials.
SQLite is file based, MySQL is a service which runs on the server. With SQLite you don't need to enter the database name, but actually the database file.
If you put the database file at an inaccessible location, you should be totally fine and the user will not be able to download the file.
I was wondering if the is a way or tool that will enable me to have access history/report to my MySQL database (I have no root/shell access on the server). I would like to be able to know when and what user accessed the database, and which table, if possible.
Thanks!
The mysql general query log is used for this but you need access to the server and database to enable it. Be aware, even with connections logged like this, if requests are made from scripts on the server, I ain't sure this will give you the ip as the request is made from localhost.