Re:ROOT user also fails to create new DB 14 Years, 10 Months ago
|
Karma: 1
|
Here's the perverse part:
When I create a new slave site with the template settings above, here's what we get:
Settings seen in Site Manager list:
ID wireless9001
Site name {taken from master site}
Domains {as expected}
db server localhost
DB wireless9001
Prefix jos_
User {taken from master site}
status Confirmed
Expiration
Owner
Settings as seen in site's own detail page:
Site ID (*): wireless9001
Status (*): Confirmed
Payment reference:
Owner: - Owners -
List of domain names (*): {as expected}
Expiration date:
(*) Fields mandatory
Replicate the tables from an existing DB prefix into a new tables prefix using the same DB
Templates: ALU ( : => jos_ )
Share the whole site:
Template DB Server name: localhost
New DB Server name:
Template DB name: {site_id}
New DB name:
Template DB User:
New DB User:
Template DB Password:
New DB Password:
New DB table Prefix:
New site title:
New admin email:
New admin password:
Master site directory: D:\inetpub\integration
Template Media folder: {site_dir}\multisites\{site_alias}\images
New Media folder:
Template Images folder: {site_dir}\multisites\{site_alias}\images\stories
New Images folder:
Template Themes folder: {site_dir}\multisites\{site_alias}\templates
New Themes folder:
Gray fields corresponds to information that are stored into the new DB.
To replicate a DB, select either a template having a "to" prefix rule or enter a new DB prefix here.
When there is no DB defined in the template, this is the master DB that is used for the replication.
New FTP Parameters
Template FTP enable: Default
New FTP enable: Default
Template FTP host:
New FTP host:
Template FTP port:
New FTP port:
Template FTP user:
New FTP user:
Template FTP password:
New FTP password:
Template FTP root path:
New FTP root path:
Parameters that come from standard Joomla configuration
DB host name: localhost
DB: wireless9001
DB prefix: jos_
DB user: {taken from master site}
DB password: {taken from master site}
Do you see why I say it's perverse? These details indicate that a new DB is present and is being used. Well, a new DB is NOT present, the master site's DB is being used. I confirmed it in a variety of ways, including looking for the wireless9001 DB with phpMyAdmin (it's not there), by editing the master site and observing the changes in the new slave site, by editing the slave site and observing the changes in the master site, and by changing the master DB with phpMyAdmin and observing the change in both master and slave sites.
And, I'll just repeat, from an earlier post:
If I manually create the DB with name of {site_id} before I create the slave site, everything works as expected. So I'm doing this in the lab in order to learn the software, but it's not an acceptable permanent condtion.I repeat it here in case it's diagnostically helpful.
So, I hope any of these details can help you see what's wrong wth my configuration. I'm perplexed that a DB which doesn't exist is stated to be used by the new slave site. Is that a surprise? Is it normal?
Is it starting to look like this isn't a problem with the DB user's permission at all, and is looking like some other kind of mis-configuration?
In good faith, I'll tell you that I have watched all of your tutorial videos, I have read the entire 1.2.X manual from start to finish, repeatedly, and I'm either in need of real personal help with the standard configuration OR I'm the victim of some very unusual condition which triggers an obscure defect in the JMS extension. Either way, here's to progress and success! Thanks again.
|
|
|
Last Edit: 2010/02/15 01:51 By jmsalazarjr.Reason: indicate what happens when I manually create the DB with name of {site_id}
|
|
DB loaded from master, but not used by slave site 14 Years, 10 Months ago
|
Karma: 1
|
I wrote:
"If I manually create the DB with name of {site_id} before I create the slave site, everything works as expected"
OK, it's not true. The new DB does get the master DB copied into it, but the slave site doesn't use the new DB, it still uses the master DB.
One more piece of information. I hope you can help. I hope, whatever the problem is, that it's pretty obvious to you based on the information I provided, and that there is a simple answer about what's wrong with my JMS settings.
I'm completely stuck, I don't have any way at all right now to have a slave site use a separate DB. That's unacceptable, because as I said before, it's necessary for my sites to use the jos_ prefix due to the presence of other extensions which require it.
|
|
|
Last Edit: 2010/02/15 02:09 By jmsalazarjr.
|
|
Re:ROOT user also fails to create new DB 14 Years, 10 Months ago
|
Karma: 54
|
First in your template, you have defined an URL with port 9001.
The port is not supported by JMS.
This will always show the master website.
I suppose that you environment does not support the Symbolic Links as I don't see any "deploy folder" field.
The JMS templates that you have defined seems to define the rule to replicate the master website into a slave site with a domain name having the port "9001" (not supported) into a new DB using the site ID as name and where the table prefix is "jos_".
The DB user login and password is identical to the one of your master website.
So you have to check the privileges that you MySQL user that you are using for the master website is granted for the other DB.
JMS try to grant the user but does not succeed.
I remember you that using "jos_" as table prefix is NOT recommended because you can delete your master website when you make a mistake.
In your template, you have used both "jos_" table prefix for the master and also when you create the slave site DB. In general a rule like "{site_id}_" is better to avoid destroy a skave sute.
When you have a MySQL error during the website creation, you should have this message reported. The MySQL error gives all the detail of the error.
|
|
|
Last Edit: 2010/02/15 11:55 By edwin2win.
|
|
Re:ROOT user also fails to create new DB 14 Years, 10 Months ago
|
Karma: 1
|
Thanks again, I will stop using :9001 in the lab and use :80
Is there a list of supported ports? Is it limited to :80 and :443?
And:
• "If JMS can not create dynamically the DB you should have a MySQL error message that will tell you if this is a user or a DB problem"
Where will this message appear? It doesn't show up in the admin interface for Multisites, when I run "new site from template". It also doesn't show up in PHP errors log. I want to look for it in order to find out what's going on with my user, can you help with this?
And:
• "You can also use the PHPMyAdmin to check if the DB is created and also to check if the MySQL user have correct privileges."
The DB does not get created. My user as defined in my JMS site template has CREATE. What privilege should the user have in order to create DB as necessary under JMS?
And:
• "A key element can also be the "DB host" that you may have to specified in the "multisites.cfg.php" file to ensure that the MySQL user that will be potentially created by JMS or granted will be attached to the correct host name or IP address."
I'm not going to create new users for each DB. The original user is to be used for master DB as well as for separate DBs in slave sites. This is the user who has CREATE privilege. Is that user missing something?
|
|
|
|
|
Re:ROOT user also fails to create new DB 14 Years, 10 Months ago
|
Karma: 54
|
YES for the moment, it only accept http and https.
You can not enter a port.
I have a fixed that will be delivered in next release when you enter the port :80 in the URL or other port.
It will be ignored.
See forum concerning the XMLRPC that provide the port ":80" and that is redirected on the master website.
Theorically, JMS enqeu the "message" in the top of the screen.
Perhaps you have a plugin or something that hidden the info or you have a specific admin templates that does not show this part.
As I don't know the reason that is specific to your environemnt, I have told you which tool and how to identify the reason yourself.
If you want that I investigate on your server the exact reason, we have billable support that you can order at www.jms2win.com/download?page=shop.produ...35&category_id=1
All I can tell you is the possible reason why the DB is not created automatically.
The reason is that you don't have provided a user that has enough privileges to access and create DB dynamically.
|
|
|
Last Edit: 2010/02/15 14:03 By edwin2win.
|
|
Re:ROOT user also fails to create new DB 14 Years, 10 Months ago
|
Karma: 1
|
Thanks, Edwin,
Now I use port 80 everywhere.
And, I have hostname and root credentials in cfg.php
And, I defined the password and username pattern in the template - instead of re-using the user from the master DB, I let new DB's have their own user.
Finally, I re-installed the default admin template Kephri.
Here's the good news:
• Now JMS can create DB, also can create user for new DB.
• Now I can see SQL error messages.
Here's the bad news:
The new DB doesn't get any data loaded into it. There are hundreds of SQL errors
Some say
"DB Error: ANY command denied to user '[{site_id} user]]'@'localhost' for table 'jos_users' SQL=CREATE OR REPLACE VIEW jos_users AS SELECT * FROM `[masterDB]]`.`jos_users`"
OK, this one I understand, because of the follwoing error:
Some say
"You must have privileges to update tables in the mysql database to be able to change passwords for others SQL=GRANT ALL PRIVILEGES ON `[masterDB]]`.`jos_users` TO `[{site_id} user]]`@`localhost` IDENTIFIED BY '[password]]' WITH GRANT OPTION;"
OK, this one I don't understand, because the user on the master DB has all privileges - that user should be able to GRANT.
What has to happen, in order that the new DB user gets the privilege it needs on the master DB?
This has to be related to my trying to share users and JomSocial. It does not happen when I remove all sharing options from the JMS template.
But the whole reason I'm using JMS at all is to take advantage of user sharing and JomSocial sharing.
Many thanks here
|
|
|
|
|
|