首先,我们大概罗列一下主从复制的基本步骤,(MySQL主从首先需要在各自服务器配置好)。
1 复制数据库。
mysqldump --master-data --single-transaction -R --databases [db_name] | gzip -9 - | pv > all-db-with-master-datasqlgz
注意:innodb用 –single-transaction, myisam需要用 –lock-all-tables。
2 复制,导入数据。
pv < all-db-with-master-datasqlgz | zcat | mysql
3 启动slave数据库。
slave start
注意:切换到主的语句已经在导出的sql语句里面了,注意查看。change master to master_log_file=’(binlog name in relay_master_log_file)’, master_log_pos=(exec_master_log_pos number)。
那么,在现有的主从复制结构中,如何增加一个新的数据库进去?比如我们要增加一个数据库在master服务器上,比如,名为newdb的数据库。
具体 *** 作如下:
1 从服务上,停掉slave数据库。
stop slave;
2 主服务器上,导出新数据库。
mysqldump --master-data --single-transaction -R --databases newdb > newdbsql
3 主服务器上,修改mycnf文件,添加新库到binlog-do-db参数,重启mysql。
4 在导出的newdbsql里面查找当前的日志文件以及位置(change master to …)
然后让slave服务器执行到这个位置。
start slave until MASTER_LOG_FILE="mysql-bin000001", MASTER_LOG_POS=1222220;
其中MASTER_LOG_FILE以及MASTER_LOG_POS在导出的数据库newdbsql顶部位置查找。
4 导入新库到从服务器上。
mysql < newdbsql
5 start slave
其中比较重要的是在主服务器上导出新库时的日志位置(position A),这个点很重要,以这个点做为分界线,导入新库。
这种方法也同样适用于某个数据库或者某个数据表不同步的情况,比如主从数据库有一个表由于某些原因数据不一致,那么上面的方法只需要去掉重启数据库一步,其他的 *** 作基本
一、 建立数据库 方法一:使用向导,调出方法⑴可采用“文件”菜单“新建” ⑵或采用“工具”菜单“向导” 方法二:使用数据库设计器 1、 使用向导建立数据库 特点:可以方便快捷地创建数据库,但只适用于一般常用的数据库。 2、 使用数据库设计器建立数据库 特点: 最大特点就是灵活性 *** 作步骤:⑴“文件”菜单“新建”,显示新建对话框 ⑵选择“数据库”和单击“新建文件”钮 ⑶在创建对话框中输入新数据库的名称和单击“保存”钮 效果:数据库文件已经建立完成。 显示出“数据库设计器”窗口和“数据库设计工具” 打开“数据库设计器”工具方法:“显示”菜单“工具栏” 选择“数据库设计器” 三、建立表 1、 数据库与数据表 可以先建立自由表,然后再添加到数据库中 建立新的数据库表,系统会将其自动加入到数据库中。 2、 建立自由表 注意:自由表独立于任何数据库,如需要课添加到数据库中,但不能同时 将一个表添加到多个数据库。 预备知识:建立表必须首先建立表的结构 即要描述各个字段的字段名、字段类型、字段宽度、如果是数 值型还有小数位数,以及索引、是否再字段中允许空值(选择NULL) 3、 建立数据库表 有三种方法: 法一、“文件”菜单“新建”,显示新建对话框 选择“表”和单击“新建文件”钮 在创建对话框中输入新数表名称和单击“保存”钮 法二、再建立完数据库后,不关闭“数据库设计器”窗口,单击鼠标右键后 选择快捷菜单种的“新表”,单击“新表”钮,再创建对话框输入表 名 后“保存” 法三、使用数据库设计器工具栏 (“显示”菜单“工具栏”) 选择“数据库设计器”工具栏种的第一个钮“新建表” 二、使用命令建立数据库、数据库表 1、 建立数据库 CREATE DATABASE 数据库名称 2、 建立数据库表 CREATE TABLE │DBF 表名 [FREE] (字段名1 字段类型 [(字段宽度 [,小数位数] )] [(字段名2……] 二、使用向导建立查询 1、查询形式分类:查询向导:标准查询 交叉表向导:以电子表格形式输出查询结果 图形向导:以电子图形形式输出查询结果 2、使用查询向导建立查询步骤: [0]使用查询向导前必须先打开用到的库表或自由表 ⑴字段选取 ⑵记录筛选 ⑶选择排序方式 ⑷查询完成(选择保存并运行)(浏览查询) ⑸打开查询设计器,修改查询
有两种方法来为数据库创建一个新表,
1 我们可以用 ADONET 写出并执行 T-SQL 语句来创建表:
private void CreateTableBtn_Click(object sender, SystemEventArgs e)
{
// 打开连接
if (connState == ConnectionStateOpen)
connClose();
ConnectionString = "Integrated Security=SSPI;" +
"Initial Catalog=mydb;" +
"Data Source=localhost;";
connConnectionString = ConnectionString;
connOpen();
sql = "CREATE TABLE myTable" +
"(myId INTEGER CONSTRAINT PKeyMyId PRIMARY KEY," +
"myName CHAR(50), myAddress CHAR(255), myBalance FLOAT)";
cmd = new SqlCommand(sql, conn);
cmdExecuteNonQuery();
}
2 我们可以引用 SMO 库并用 SMO 函数来创建一个表
private void CreateTableBtn_Click(object sender, SystemEventArgs e)
{
// 建立数据库服务器
string connectionString = "";
SqlConnection connection =
new SqlConnection(connectionString);
Server server =
new Server(new ServerConnection(connection));
// 在我的个人数据库中创建表
Database db = serverDatabases["mydb"];
// 建立 TestTable 的新表
Table newTable = new Table(db, "TestTable");
// 添加主键 ID 列
Column idColumn = new Column(newTable, "ID");
idColumnDataType = DataTypeInt;
idColumnNullable = false;
idColumnIdentity = true;
idColumnIdentitySeed = 1;
idColumnIdentityIncrement = 1;
// 添加 "Title" 列
Column titleColumn = new Column(newTable, "Title");
titleColumnDataType = DataTypeVarChar(50);
titleColumnNullable = false;
// 为 Table 对象添加列
newTableColumnsAdd(idColumn);
newTableColumnsAdd(titleColumn);
// 为表创建一个主键的索引
Index index = new Index(newTable, "PK_TestTable");
indexIndexKeyType = IndexKeyTypeDriPrimaryKey;
// 主键索引包括 1 列 "ID"
indexIndexedColumnsAdd(new IndexedColumn(index, "ID"));
// 表中添加一个新的索引
newTableIndexesAdd(index);
// 在数据库中实际创建一个表
newTableCreate();
}
以上就是关于如何添加新数据库到mysql主从复制列表全部的内容,包括:如何添加新数据库到mysql主从复制列表、怎么在excel中建立数据表、如何用C#为SQL Server数据库创建一个新表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)