主页 >> 数据库 > MySql数据库操作与主从配置

2014/10/07 | 星期二 分类:数据库 | 没有评论 标签: | 作者: | 988 views

MySql数据库操作与主从配置

MySql数据库操作与主从配置,整理日志

#清空数据表 query TRUNCATE TABLE 表名
TRUNCATE TABLE table
#创建数据库 CREATE DATABASE MYSQLDATA
#删除数据库 DROP DATABASE MYSQLDATA.

#MySql 数据导出 用mysqldum 命令行
#导出整个数据库 命令格式
mysqldump -u 用户名 -p 数据库名 >路径+数据库名.sql
mysqldump -u root -p paddy >d:\paddy.sql

#导表,数据库 paddy 表 users
#mysqldump -u 用户名 -p 数据库名 表名 >导出路径+文件名
mysqldump -u root -p paddy users >d:\users.sql

#导数据库结构 说明 1).”-d 没数据”
2).”–add-drop-table 每create 语句前增加drop table”
musqldump -u root -p -d –add-dorp-table users > d:\users.sql

#导入数据库 用source命令
#进入mysql数据库控制台
mysql -u root -p
#mysql use 选择数据库mysqlDB
use mysqlDB

#查看数据库表结构三个方法 数据表table
SHOW FULL COLUMNS table;
DESC table;
SHOW CREATE TABLE table;

#MySql主从复制配置.
数据库主从复制:一般来说是由一台主数据服务器(实际上是可以多台的)和若干台从数据库服务器组成,从服务器不断从主服务器获取bin-log日志,并执行,从而保持与主服务器数据同步。

#主从服务器复制有如下优点:
1)如果主服务器出现了问题,可以快速切换到从服务器继续提供服务器;
2)负载均衡,可以在从服务器执行数据查询操作,降低主服务器的压力(对更新不频繁的数据或对实时性要求不高的数据可以通过从服务器查询);
3)可以在从服务器上执行备份,以避免在主服务器上执行备份而影响数据服务;

#bin-log日志
#开启 bin-log 日志,配置文件(/etc/my.cnf)增加一行
log-bin = mysql-bin #可自定义路径,可写绝对路径名比如: “D:/mysql.log”
#查看 bin-log 是否开启,登录mysql 命令
mysql> show variables like ‘%bin%’;
#log-bin = ON 说明 bin-log 日志已开启

#主从配置步骤
1.设置对从服务器的数据库授权.
#方法一
grant all on *.* to slave_user1@192.168.1.101 identified by ‘123456’
#方法二
grant replication slave on *.* slave_user2@192.168.1.102 identified by ‘123456’
#赋予从机权限,有多台从机,就执行多次 slave_user1 slave_user2 是用户名,’123456′ 是密码
#刷新权限
flush privileges;
#测试登录服务器,(从服务器)101 或 102 登录主服务器100
mysql -u slave_user1 -p 123456 -h 192.18.1.100
#若能登录,说明数据库授权成功

2.修改主服务器配置my.cnf
server-id = 1 #主机标示,整数
log-big = /var/log/mysql/mysql-bin.log #确保此文件可写,二进制文件
#read-only = 0 #主机,读写都可以.
binlog-do-db = test #需要同步的数据库,多个写多行
binlog-ignore-db = mysql #不需要同步的数据库,多个写多行

3.从服务器配置my.cnf
server-id = 2;
log-bin = var/log/mysql/mysql-bin.log
replicate-do-db = test #只复制某个库
replicate-ignore-db = mysql #不复制某个库
mysql> change master to master_host=’192.168.1.100′,master_user=’slave_user1′,master_password=’123456′,master_port=3306,master_log_file=’mysql-bin.000001′,master_log_pos=100;
#仅支持5.1以上版本
#注意:(master_log_file 和 master_log_pos) 的值可以主服务器上运行 show master status 来得到

4.同步数据库
#不用太费事,先后启动主从服务器即可。

5.(从服务器)查看slave状态,使用本地账户进入数据库
show slave status\G;
若在输出中看到 Slave_IO_Running = Yes 和 Slave_SQL_Running = Yes 则说明mysql 数据库主从配置成功.
#说明:1)Slave_IO_Running 进程负责从服务器到主服务器读取binlog 日志,并写入从服务器的中继日志。
2)Slave_SQL_Running 进程负责读取并执行中继日志中的binlog日志
3)从服务器常用命令
start slave –启动复制进程.
stop slave –停止负责进程
show slave status –查看从服务器复制状态
show master logs –查看主数据库数据库状态
change master to –动态改变到主服务器的配置
show processlist –查看从服务器运行进程
4)解决服务器冲突的方法
mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
mysql> slave start;

#命令解释
mysql> flush logs;
#mysql系统会自动生成一个最新的 bin-log 日志,可记录当前时刻后的所有数据库操作
mysql> reset master;
#清空所有的 bin-log 日志 (清除后剩余mysql-bin.index 和 mysql-bin.000001)
mysql> flush privileges;
#刷新权限

  • 本文目前尚无任何评论.
    1. 本文目前尚无任何 trackbacks 和 pingbacks.