mysql安装主从配置_mysql安装及主从库配置

一、搭建单个实例

1.安装依赖包

yum install cmake make gcc gcc-c++ biso ncurses ncurses-devel

2.手动创建创建数据目录

cd /usr/local/

mkdir mysql

cd mysql/

3.新建mysql用户组和用户,并改变新建数据目录的属组和属主:

groupadd mysql

useradd -r -g mysql mysql

cd /usr/local/

chown -R mysql:mysql ./mysql/

4、下载、解压安装包

mkdir -p /usr/local/soft

cd /usr/local/soft

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

解压:

tar -zxf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

5、将解压的复制到/usr/local/mysql目录

cp -r mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

6、安装数据库

切到mysql目录

cd /usr/local/mysql

安装数据库

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

494131358fb7f25773d232d639666de8.png

将生成的临时密码记录下来

执行以下命令创建RSA private key

bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

7、修改文件目录权限

修改当前目录拥有者为mysql用户

chown -R mysql:mysql ./

修改当前data目录拥有者为mysql用户

chown -R mysql:mysql data

8、配置文件修改

vi /etc/my.cnf

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

#不区分大小写

lower_case_table_names = 1

#不开启sql严格模式

sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

log-error=/var/log/mysqld.log

pid-file=/usr/local/mysql/data/mysqld.pid

修改vim /etc/init.d/mysqld添加路径 在46行

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

9、添加开机启动

cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

加入开机启动

chkconfig --add mysqld

10、启动mysql

service mysqld start

11、登录mysql,修改root密码

登录

mysql -uroot -p 上面初始化时的密码

如果出现错误需要添加软连接

ln -s /usr/local/mysql/bin/mysql /usr/bin

修改root密码

alter user 'root'@'localhost' identified by 'root';

flush privileges;   #刷新权限

设置允许远程连接数据库

update user set user.Host='%' where user.User='root';

flush privileges;

二、搭建主从

1、从库也先搭建单个实例

2、修改主从库配置文件vi /etc/my.cnf

log-bin=//usr/local/mysql/binlog

server-id=1 ##主从库设置不一样即可

修改配置文件后,重启服务

service mysqld restart

同时,主库上创建主从同步账号

mysql -uroot -proot123

grant replication slave on *.* to 'repl'@'%' identified by 'repl123';

flush privileges;

验证:

mysql -urepl -prepl123

3、查看主库当前的二进制日志pos:

mysql -uroot -proot123

mysql> show master status;

mysql> show master status;

+---------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------+----------+--------------+------------------+

| binlog.000001 | 1304 | cmdb | |

+---------------+----------+--------------+------------------+

row in set (0.00 sec)

4、在从库上mysql命令行执行

mysql> CHANGE MASTER TO

MASTER_HOST='192.168.**.**',

MASTER_USER='repl',

MASTER_PASSWORD='repl123',

MASTER_PORT=3306,

MASTER_LOG_FILE='0.000001',   #主数据库日志文件名

MASTER_LOG_POS=1304,     #主数据库Position

MASTER_CONNECT_RETRY=60;

启动slave

mysql>start slave;

查看slave同步状态

mysql>show slave status \G;

d7a58d02327eef0f7eaccc3cc944a64b.png

在这里主要是看

Slave_IO_Running=Yes

Slave_SQL_Running=Yes

Second_Behind_Master=0

注意:Slave_IO_Running出现错误的原因有3个(Slave_IO_Running:Connecting)

1.网络不通

2.密码不对(去主库验证下能否登录)

3.pos不对(第3步的查看结果)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值