Mysql 需要通过单个Magento安装写入多个数据库的帮助吗
我是Magento的新手(我很喜欢),正在开发一个桌面应用程序,与我们的Magento CE 1.7商店并行运行。桌面应用程序将有自己的数据库,但我们需要从magento获取几乎所有的信息 因此,我已经复制了magento的整个数据库,并将其用于应用程序的数据库中。当通过magento的站点在magento的数据库中写入某些内容时,我需要在应用程序的数据库中写入。我们不需要从应用程序的数据库中读取,只需要写入 我需要做哪些更改?在哪里?如果有人能给我提供一些深入的指导,我将不胜感激。请帮帮我Mysql 需要通过单个Magento安装写入多个数据库的帮助吗,mysql,database,magento,magento-1.7,Mysql,Database,Magento,Magento 1.7,我是Magento的新手(我很喜欢),正在开发一个桌面应用程序,与我们的Magento CE 1.7商店并行运行。桌面应用程序将有自己的数据库,但我们需要从magento获取几乎所有的信息 因此,我已经复制了magento的整个数据库,并将其用于应用程序的数据库中。当通过magento的站点在magento的数据库中写入某些内容时,我需要在应用程序的数据库中写入。我们不需要从应用程序的数据库中读取,只需要写入 我需要做哪些更改?在哪里?如果有人能给我提供一些深入的指导,我将不胜感激。请帮帮我 谢
谢谢。要处理多个数据库,应执行以下操作: 1°)在/app/etc/local.xml中创建数据库连接: 你有这样的想法:
<default_setup>
<connection>
<host><![CDATA[localhost]]></host>
<username><![CDATA[user]]></username>
<password><![CDATA[password]]></password>
<dbname><![CDATA[dbname]]></dbname>
<active>1</active>
</connection>
</default_setup>
用您需要的连接(比如Pdo_Mysql或类似的东西)替换Firebird。
查询:
$connexion->fetchAll($request);
$connexion->update('table',array('field'=>'value'),$where);
等。要处理多个数据库,应执行以下操作: 1°)在/app/etc/local.xml中创建数据库连接: 你有这样的想法:
<default_setup>
<connection>
<host><![CDATA[localhost]]></host>
<username><![CDATA[user]]></username>
<password><![CDATA[password]]></password>
<dbname><![CDATA[dbname]]></dbname>
<active>1</active>
</connection>
</default_setup>
用您需要的连接(比如Pdo_Mysql或类似的东西)替换Firebird。
查询:
$connexion->fetchAll($request);
$connexion->update('table',array('field'=>'value'),$where);
等等。Magento是否可以本机处理只读从机
Magento本机能够分离对不同数据库服务器的读/写操作(少数已损坏的版本除外,如EE 1.11)-允许您将select
加载到其他(或更多)服务器;并将所有更新/写入
查询转发给单个主机
配置从机
首先配置您的从属设备。我们是Percona实用程序和MySQL分支的大力拥护者——他们有一个理想的工具,可以对现有的DB-innobackupex进行热备份。有一篇很好的评论
在主机上
替换$TIMESTAMP或tab complete
mysql
> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'$slaveip' IDENTIFIED BY '$slavepass';
> quit;
innobackupex --user=username --password=password /path/to/backupdir
innobackupex --user=username --password=password /
--apply-log /path/to/backupdir/$TIMESTAMP/
rsync -avprP -e ssh /path/to/backupdir/$TIMESTAMP TheSlave:/path/to/mysql/
scp /etc/mysql/my.cnf TheSlave:/etc/mysql/my.cnf
从机上的
/etc/init.d/mysql stop
mv /path/to/mysql/datadir /path/to/mysql/datadir_bak
mv /path/to/mysql/$TIMESTAMP /path/to/mysql/datadir
chown -R mysql:mysql /path/to/mysql/datadir
sed -i 's#server-id=1#server-id=2#g' /etc/mysql/my.cnf
/etc/init.d/mysql start
cat /var/lib/mysql/xtrabackup_binlog_info
> TheMaster-bin.000001 481
mysql
> CHANGE MASTER TO MASTER_HOST='$masterip', MASTER_USER='repl', MASTER_PASSWORD='$slavepass', MASTER_LOG_FILE='TheMaster-bin.000001', MASTER_LOG_POS=481;
> START SLAVE;
然后,一旦您的从机可以运行,实际上,只需要几行额外的代码即可实现
在/app/etc/local.xml
<default_read>
<connection>
<use/>
<host><![CDATA[host]]></host>
<username><![CDATA[username]]></username>
<password><![CDATA[password]]></password>
<dbname><![CDATA[dbname]]></dbname>
<type>pdo_mysql</type>
<model>mysql4</model>
<initStatements>SET NAMES utf8</initStatements>
<active>1</active>
</connection>
</default_read>
pdo_mysql
mysql4
设置名称utf8
1.
源文件可以通过Magento本机处理只读从属文件
Magento本机能够分离对不同数据库服务器的读/写操作(少数已损坏的版本除外,如EE 1.11)-允许您将select
加载到其他(或更多)服务器;并将所有更新/写入
查询转发给单个主机
配置从机
首先配置您的从属设备。我们是Percona实用程序和MySQL分支的大力拥护者——他们有一个理想的工具,可以对现有的DB-innobackupex进行热备份。有一篇很好的评论
在主机上
替换$TIMESTAMP或tab complete
mysql
> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'$slaveip' IDENTIFIED BY '$slavepass';
> quit;
innobackupex --user=username --password=password /path/to/backupdir
innobackupex --user=username --password=password /
--apply-log /path/to/backupdir/$TIMESTAMP/
rsync -avprP -e ssh /path/to/backupdir/$TIMESTAMP TheSlave:/path/to/mysql/
scp /etc/mysql/my.cnf TheSlave:/etc/mysql/my.cnf
从机上的
/etc/init.d/mysql stop
mv /path/to/mysql/datadir /path/to/mysql/datadir_bak
mv /path/to/mysql/$TIMESTAMP /path/to/mysql/datadir
chown -R mysql:mysql /path/to/mysql/datadir
sed -i 's#server-id=1#server-id=2#g' /etc/mysql/my.cnf
/etc/init.d/mysql start
cat /var/lib/mysql/xtrabackup_binlog_info
> TheMaster-bin.000001 481
mysql
> CHANGE MASTER TO MASTER_HOST='$masterip', MASTER_USER='repl', MASTER_PASSWORD='$slavepass', MASTER_LOG_FILE='TheMaster-bin.000001', MASTER_LOG_POS=481;
> START SLAVE;
然后,一旦您的从机可以运行,实际上,只需要几行额外的代码即可实现
在/app/etc/local.xml
<default_read>
<connection>
<use/>
<host><![CDATA[host]]></host>
<username><![CDATA[username]]></username>
<password><![CDATA[password]]></password>
<dbname><![CDATA[dbname]]></dbname>
<type>pdo_mysql</type>
<model>mysql4</model>
<initStatements>SET NAMES utf8</initStatements>
<active>1</active>
</connection>
</default_read>
pdo_mysql
mysql4
设置名称utf8
1.
源如果您的DNS支持,您可以使用加权路由策略创建记录集。比如AWS 53号公路。为了避免停机,你可以联系健康检查
例如:如果您的DNS支持,您可以使用加权路由策略创建记录集。比如AWS 53号公路。为了避免停机,你可以联系健康检查
例如:为什么要复制数据库?Magento有一个优秀的API,您可以将应用程序连接到它。为什么要复制db?Magento有一个优秀的API,您可以将应用程序连接到该API。谢谢您的回答。我有一个疑问,希望你能及时得到这个。我想从另一台服务器读取一些cron和报告。这更像是从奴隶到主人。但我们只对所有查询使用master。如果我设置了正确的连接,我是否可以运行cron和报告,而无需进行大量代码更改??e、 g.喜欢无缝地使用Magento ORM吗??谢谢你的帮助。谢谢你的回答。我有一个疑问,希望你能及时得到这个。我想从另一台服务器读取一些cron和报告。这更像是从奴隶到主人。但我们只对所有查询使用master。如果我设置了正确的连接,我是否可以运行cron和报告,而无需进行大量代码更改??e、 g.喜欢无缝地使用Magento ORM吗??谢谢你的帮助。