The db_server class is used to manage individual servers. When an instance of db_server is created, the control node connects to one of the nodes in the cluster specified by its IP address. The connection is stored as a variable in the db_server class, and it's used to execute SQL queries and commands.
conn - database connection object
curs - database cursor object
ip_addr - the IP address of the server
Create a server object and connect to a physical server
Arguments
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, cluster.root_password)Close the connection to the database.
Initialize a MySQL server as either a master or slave.
Arguments
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, cluster.root_password)
server.init_server ("some_db", "usrpword", "slvpword")Create a database.
Argument
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, cluster.root_password)
server.create_db (db_name)Create users for the database. Each server has two users, db_user, which is for general data access, and slave_user, which is used for replication.
Arguments
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, cluster.root_password)
server.create_users (usr_pass, slv_pass)Create a database user.
Arguments
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, cluster.root_password)
server.create_user ('slave_user', slave_passwd)Remove the database and users.
Argument
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (slave, self.root_password)
server.stop_slave ()
server.wipe (db_name)
Delete a user from this server.
Argument
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (slave, self.root_password)
server.drop_user (user_name)Delete a datbase from this server.
Argument
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (slave, self.root_password)
server.drop_database (db_name)Get the name of the log file and the log position of a server.
Return the name of the log file and the log position of a server.
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (ip_address, root_password)
server.init_server (cluster.database_name, cluster.db_user_pw, cluster.slave_user_pw)
mysqlbin, binlog = server.get_master_status ()Make a host a master.
Arguments
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (ip_address, root_password)
server.set_as_master (cluster.slave_ip_list, cluster.slave_user_pw)Grant replication privileges on the master to a slave.
Arguments
Example:
import db_cluster_utils
master_server = db_cluster_utils.db_server (host, cluster.root_password)
master_server.grant_replication ('slave_user', host, cluster.slave_user_pw)Make a host a slave.
Arguments
Example:
import db_cluster_utils
master_server = db_cluster_utils.db_server (cluster.master_ip, cluster.root_password)
master_server.demote_master (cluster.slave_ip_list, cluster.slave_user_pw)Revoke slave replication privileges on the master.
Arguments
Example:
import db_cluster_utils
master_server = db_cluster_utils.db_server (host, cluster.root_password)
master_server.revoke_replication ('slave_user', host)Make a database server read only.
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, cluster.root_password)
server.set_read_only()Clear read only status from database.
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, cluster.root_password)
server.clear_read_only()Tell a slave which server to use as a master.
Arguments
Example:
import db_cluster_utils
slave_server = db_cluster_utils.db_server (host, cluster.root_password)
slave_server.use_master (cluster.master_ip, cluster.slave_user_pw, cluster.master_mysqlbin, cluster.master_binlog)Start the slave thread.
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, root_password)
server.start_slave ()Stop the slave thread.
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, root_password)
server.stop_slave ()Reset the slave.
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, cluster.root_password)
server.reset_slave ()Import data from a file.
Arguments
Example:
import db_cluster_utils
server = db_cluster_utils.db_server (host, cluster.root_password)
server.import_db(dump_file, self.database_name)Share this page: