Mysql 需要通过单个Magento安装写入多个数据库的帮助吗

Mysql 需要通过单个Magento安装写入多个数据库的帮助吗,mysql,database,magento,magento-1.7,Mysql,Database,Magento,Magento 1.7,我是Magento的新手(我很喜欢),正在开发一个桌面应用程序,与我们的Magento CE 1.7商店并行运行。桌面应用程序将有自己的数据库,但我们需要从magento获取几乎所有的信息 因此,我已经复制了magento的整个数据库,并将其用于应用程序的数据库中。当通过magento的站点在magento的数据库中写入某些内容时,我需要在应用程序的数据库中写入。我们不需要从应用程序的数据库中读取,只需要写入 我需要做哪些更改?在哪里?如果有人能给我提供一些深入的指导,我将不胜感激。请帮帮我 谢

我是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吗??谢谢你的帮助。