Mysql安装及主从复制配置

1.下载 mysql数据库

wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz

2.解压

tar -xvf mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz -C /app/servers/mysql-5.7.9

3.建立软连接

ln -s mysql-5.7.9  mysql

4.创建mysql用户和修改软件的权限

useradd -r -M -s /sbin/nologin mysql

chown -R mysql.mysql /app/servers/mysql-5.7.9/
chown -R mysql.mysql /app/servers/mysql

chgrp -R mysql /app/servers/mysql-5.7.9

5.安装和初始化数据库

cd /app/servers/mysql-5.7.9/

bin/mysqld --initialize --user=mysql --basedir=/app/servers/mysql-5.7.9/ --datadir=/app/servers/mysql-5.7.9/data/

 6.拷贝配置文件到etc下

cp -a ./support-files/my-default.cnf /etc/my.cnf

7.启动脚本 设置基本路径和数据路径

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

vi /etc/init.d/mysqld

basedir=/app/servers/mysql-5.7.9/
datadir=/app/servers/mysql-5.7.9/data/

8.设置后台启动

cd bin/
./mysqld_safe --user=mysql & 

9.启动服务

/etc/init.d/mysqld start

10.设置开机启动

chkconfig --level 35 mysqld on

11.初始化密码

mysql5.7会生成一个初始化密码,而在之前的版本首次登陆不需要登录
#查看初始密码
cat /root/.mysql_secret 

#使用初始化密码登陆
mysql -uroot -p

(备注:如果遇到mysql -uroot -p

-bash: mysql: command not found )
ln -s /app/servers/mysql/bin/mysql /usr/bin
####################3
#修改root密码为root
#alter user 'root'@'localhost' identified by 'root';
 update mysql.user set authentication_string=password('root') where user='root' ;
flush privileges;

12.设置远程连接mysql

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在 localhost 的那台电脑,登入MySQL后,更改 “MySQL” 数据库里的 “user” 表里的 “Host” 项,从“localhost”改称“%”,%表示所有机器都允许。

mysql> use mysql 
mysql> update user set Host='%' where User='root'; 
mysql> FLUSH PRIVILEGES;

13.主从配置

1.master配置
在主服务器的my.cnf配置文件中,增加
[mysqld]
log-bin=mysql-bin
server-id=1


2.master创建复制用户
在master上,root登录mysql,执行
CREATE USER 'repl'@'192.168.8.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.8.%';

3.获取Master日志坐标
连接mysql,执行
FLUSH TABLES WITH READ LOCK;

再开一个会话,连接mysql,执行
SHOW MASTER STATUS;
======================================
1.slave配置
在从服务器的my.cnf配置文件中,增加
[mysqld]
server-id=2

2.设置master信息
CHANGE MASTER TO
 master_host='192.168.8.110',
 master_user='repl',
 master_password='123456',
 master_port=3306,
 master_log_file='mysql-bin.000001',
 master_log_pos=617; 
3.启动从数据库同步
在客户端命令执行:start slave;

4.查看主从复制执行状态。
在从服务器查看从服务状态:show slave status;
原文地址:https://www.cnblogs.com/huacw/p/6085491.html