Mon entreprise a mis en place un serveur différent pour l'accès en lecture et écriture de MySQL DB. Auparavant, nous utilisons un script php personnalisé. Cependant, on m'a récemment confié la tâche de créer des outils en tirant parti de CI. Je l'ai fait sur le serveur de test. Maintenant, je suis confus, comment l'implémenter sur un serveur live.CodeIgniter configure une adresse IP différente pour les données MySQL READ et WRITE
Répondre
configurer plusieurs « groupes de connexion » pour chaque serveur dans votre fichier de configuration database.php, puis dans le modèle:
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
//read from DB1
$DB1->query();
//write to DB2
$DB2->insert();
Voir exemples: Connecting to Multiple Databases
Pourrait-il être plus facile, plutôt que de le faire par IP, de le faire en utilisant des utilisateurs de MySQL.
Vous pourriez avoir deux utilisateurs différents, un avec tous les privilèges d'écriture comme INSERT
et UPDATE
, puis un autre utilisateur avec tous les privilèges de lire comme SELECT
, ou ce que vous souhaitez.
Alors quel code est en cours d'exécution sur votre serveur Web d'écriture utilise l'utilisateur d'écriture et vice-versa?
J'ai fait simple libary que étendre la fonctionnalité de base de données. Vous pouvez le modifier en fonction de ce dont vous avez besoin. http://rangga.net/splitting-read-write-codeigniter-database/
pouvez-vous élaborer plus? parce que, nous avons un serveur différent pour lire et écrire. De ce que vous écrivez, je pense que ne s'applique qu'à un seul serveur, CMIIW – ariefbayu
Je suis confus quant à ce que votre configuration est maintenant - peut-être réécrire votre question? –