Forum Moderators: open
Normally, i am very good in developping databases running on a single computer or on the internet. But i have no knowledge in creating an intranet. How can I go from here?
Next question, since this database will soon be accessible from the internet, i thought it would be a good idea to create that database using MySQL. Is this a good choice?
Please, tell me what should be the different steps starting from what i know.
Kind regards
There is little to no difference in an Internet accessible db and one available on a LAN.
First, make sure your database is multithreaded and can handle multiple users and requests. So basically not MS.Access unless it is an enterprise version. MYSql should be fine.
The networking part of it you should talk to their network admin. If it is only available on their Intranet you will have to be assigned a host machine that is on the network currently.
I assume someone set up the Intranet they want this placed on. They will know which host computer to install the DB on and can set up the access rules on the host computer and the database itself.
It would be an error to not consult with whoever set up the network or is in charge of maintaining it.
However one more question:
The user of the machine hosting the DB will probably be different from the mysql user. How shall I reconcile this?
And also this: The MySQL db i am planning to install on the server machine is the one available free from the MySQL download page. When one is installing this downloaded version, there is a warning stating that the software has no guaranty and they stipulate that someone can change the software and redistribute it. This has always made me afraid concerning the perfomance of MYSQL. However, I must admitted that despite this warning, i have seen any misbehavior from this very good software. What do you think about this?
Thank you again,
dbarasuk
For the db, I wouldn't worry about that warning. The part about being able to change and redistribute the code base sounds like something from a public license agreement or the GPL. I wouldn't worry about it.
The user of the machine hosting the DB will probably be different from the mysql user. How shall I reconcile this?
mySQL was designed to be connected to remotely, so it's all thought out. :-) There are two "levels" of user, root and mySQL user, although you can have many mySQL users with different permissions: read only, read/write, etc., Any user can be restricted to specific functions on the database.
You never want to set all users to user name root. Always set up a mySQL user. In fact, most web site control panels don't allow you to create a user as root.
It doesn't really matter what the user name of the computer is. Your scripts connect to the database via the user name you create, so for all your LAN users, you can use the same user name in your scripting. The exception is if you only want certain scripts to connect for read only, and others to "do anything."
The way this is done is via the create user [dev.mysql.com] and grant [dev.mysql.com] syntax (just GRANT for older versions [dev.mysql.com]), which generally does have to be done via the command line of the host mySQL server.
Your security will be based on the sysadmin, the host computer, and any users/access to that machine. Some you can control, some you cannot. Do all best work in setting up and coordinating with the client and their IT, but don't fear using MySQL. It is a very solid distributed level database with good security, which can be made even more secure by diligent coding and access permissions.