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   

将生成的临时密码记录下来
执行以下命令创建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;

在这里主要是看    

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步的查看结果)   
 


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值