windows系统单机安装mysql两实例并配置为主从关系

安装

本机已经安装了一个mysql,采用的是默认安装。我的版本是5.7。 MYSQL的程序目录是C:\Program Files\MySQL\MySQL Server 5.7 。配置文件目录是C:\ProgramData\MySQL\MySQL Server 5.7\。下面是安装另一个实例的步骤
1.拷贝程序目录。将C:\Program Files\MySQL\MySQL Server 5.7 \拷贝至F:\MySqlSlave\
2.拷贝配置文件,将C:\ProgramData\MySQL\MySQL Server 5.7\下的my.ini 拷贝至F:\MySqlSlaveData\,并在目录下新建data目录
3.配置新实例(从数据库)的my.ini 。主要是端口和目录。

[mysqld]
#skip-grant-tables
basedir=F:\MySqlSlave\
datadir=F:\MySqlSlaveData\Data\
bind-address=127.0.0.1
port=3307
server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index

4.打开CMD,在新的实例目录bin下运行 (必须以管理员身份运行cmd,这样命令才会成功)
注册服务:mysqld install MySQL4 --defaults-file="F:\MySqlSlave\my.ini"  # 这里的MySQL4是注册的MySQL的服务名

删除注册的服务名:mysqld remove MySQL4(如果注册错了可以删除)
执行net start MySQL4

方法一(此方法会把数据库数据删除,不建议使用):

如果失败就先清空data目录,再执行mysqld --initialize-insecure --user=MySQL4
再试试启动。

方法二:

如果失败,进入任务管理器中,查看mysql进程,关掉已经开启的mysql进程,重新执行net start MySQL4

5.更改MySQL的服务名(必须以管理员身份运行cmd,这样命令才会成功):

sc config MySQL4 DisplayName=mysqlslave 

以下是非管理员身份下运行的命令报的错:

主备同步

Master上的配置my.ini

[mysqld]

#skip-grant-tables
basedir=F:\Program Files\MySQL\MySQL Server 5.7
datadir=F:\ProgramData\MySQL\MySQL Server 5.7\Data
bind-address=127.0.0.1
port=3306
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index

Slave上配置my.ini

[mysqld]
#skip-grant-tables
basedir=F:\MySqlSlave\
datadir=F:\MySqlSlaveData\Data\
bind-address=127.0.0.1
port=3307
server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index

#log-bin=mysql-bin //[不是必须]启用二进制日志

#server-id=2 //[必须]服务器唯一ID,默认是1,一般取IP最后一段

cmd登陆到主实例

mysql -u root -P3306 -p

输入密码,回车进入mysql客户端

重启主从数据库。登录master,运行一下命令, 表示所有客户端都可以连接,只要帐号,密码正确

mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456'; 

    #mysync是master数据库服务名;%是指任何地址都可以通过后面的密码和前面的主数据就名称连接主数据库;如果只是要指定从数据库可以连接主数据库的话,可以设置成从数据库的IP地址

接着执行show master status,记录file和position。

clipboard.png

登录slave,运行以下命令,设置该从实例的主服务器,

change master to master_host='127.0.0.1',master_port=3306,master_user='mysync',master_password='q123456',

master_log_file='mysql-bin.000001',master_log_pos=2553;

#这里的master_log_pos可以设置成0,因为一开始是还没有同步(也就是从第0步开始同步,这里会自动记录成2553),而这里的2553是指从这个指针位置开始同步主数据库的数据。

接着运行命令:

start slave;#开始启动从数据库同步主数据库的数据。

运行show slave status\G 。

#注意Slave_IO_Running和Slave_SQL_Running如果其中之一不是YES,就是同步失败。具体错误可以从Last_SQL_Error中获得。

clipboard.png

注意:MYSQL只能进行整个数据库实例的同步,新建数据库,新建表,增删改等操作都可以进行同步。

修改mysql数据库的用户名和密码

更改密码

 

常用方式一:

首先登录MySQL。

mysql> set password for 用户名@localhost = '新密码'; #亲试

常用方式二:

mysqladmin -u用户名 -p旧密码 password 新密码 

常用方式三:

首先登录MySQL。 
mysql> use mysql; 
mysql> update user set password='123' where user='root' and host='localhost'; 
mysql> flush privileges; 

更改用户名: 

查看用户名语句:select user from mysql.user;

MySQL原来的默认用户名叫root

+------------------+
| user             |
+------------------+
| mysql.infoschema |
| mysql.session    |
| mysql.sys        |
| root             |
+------------------+

修改用户名:首先,输入use mysql;

其次输入修改语句:update user set user =’harcker’ where user =’root’;

+------------------+
| user             |
+------------------+
| harcker          |
| mysql.infoschema |
| mysql.session    |
| mysql.sys        |
+------------------+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值