mysql的安装与主从复制

cd /usr/local/mysql
mkidr data

本文所用到的两台机器(一主一丛)

主机:192.168.118.4

从机:192.168.118.5

在两台机器上安装mysql

一:安装前准备

1.检测本机上是否安装过,或者系统自带mysql

 rpm -qa | grep mysql

如果有,使用下面命令加上文件名称进行删除

rpm -e --nodeps  

2.查找mysql的文件夹

 find / -name mysql
 whereis mysql

有的话全删了

rm -rf 

3.创建mysql用户组

groupadd mysql
useradd -r -g mysql mysql

4.去官网下载安装包并上传到linux上

 二:开始安装

将mysql安装包上传到此目录下

cd /usr/local

解压

 tar -zxvf  压缩包名称 

重命名

mv 压缩完的文件名 mysql

查看mysql目录下有没有data文件,没有的话创建一个

 编译安装

cd /usr/local/mysql/bin
./mysqld  --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

启动mysql

/usr/local/mysql/support-files/mysql.server start

添加软连接,并重启mysql服务

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart

修改/etc/my.cnf文件(没有的话创建一个) 下面的主从复制也是这样的(配置完成重启服务)

[mysqld]
datadir=/usr/local/mysql/data
port = 3306
server-id=1
log-bin=mysql-bin
symbolic-links=0
skip-grant-tables #跳过密码验证
character-set-server=utf8

登录mysql,不用输入密码直接回车

mysql -u root -p

修改密码我的改为root,设置完成之后就可以把配置文件中的skip-grant-tables给删了,这样的话需要密码才能登录

set password for root@localhost = password('root');

开放远程连接

use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

这样mysql就安装完成了

从机的my.cnf

[mysqld]
datadir=/usr/local/mysql/data
port = 3306
symbolic-links=0
server-id=2
character-set-server=utf8
skip-grant-tables

主从复制配置

一:在主机上创建一个用户

 grant replication slave on *.* to 'mstest'@'192.168.118.%' identified by 'root';

查看主机状态

SHOW MASTER STATUS;

记住图中的两个参数,这个会有变化的

 从机上配置

MYSQL中执行如下命令

CHANGE MASTER TO
MASTER_HOST='192.168.118.4',
MASTER_USER='mstest',
MASTER_PASSWORD='root',
MASTER_LOG_FILE='mysql-bin.000006',  
MASTER_LOG_POS=474;

最后两个参数为上图查看的

启动从机

start slave;

查看状态

SHOW SLAVE  STATUS/G;

都是YES代表配置成功了

原文地址:https://www.cnblogs.com/yjc1605961523/p/12345213.html