一,下载解压(包含全部的rpm包)
如果防火墙有屏蔽,先安装rz
yum install lrzsz -y
二,安装
安装的过程如果和mariadb包有冲突,如果要有先卸载
rpm -qa|grep mariadb
查看已安装的mariadb包
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
rpm-e --nodeps mariadb-5.5.44-2.el7.centos.x86_64
rpm-e --nodeps mariadb-devel-5.5.44-2.el7.centos.x86_64
依次先后安装
rpm -ivh mysql/mysql-community-common-5.7.20-1.el7.x86_64.rpm
rpm-ivh mysql/mysql-community-libs-5.7.20-1.el7.x86_64.rpm
rpm-ivh mysql/mysql-community-client-5.7.20-1.el7.x86_64.rpm
rpm-ivh mysql/mysql-community-server-5.7.20-1.el7.x86_64.rpm
三,配置/etc/my.cnf 文件
[mysqld]
character-set-server=utf8
[mysql]
default-character-set =utf8
[mysql.server]
default-character-set =utf8
[mysqld_safe]
default-character-set =utf8
[client]
default-character-set = utf8
查看修改后的效果
SHOW VARIABLES LIKE 'character%';
四,初始化mysql
mysqld --initialize --user=mysql
如有必要指定路径可以加上下面的参数--basedir=/usr/local/mysql --datadir=/data/mysql
root 用户随机密码保留在/var/log/mysqld.log 文件中
五,启动mysql
systemctl start mysqld (启动mysql)
systemctl restart mysqld (重启mysql)
systemctl status mysqld (查看状态)
六,修改root 初始密码
mysql -u root -p (使用刚才的随机密码)
或者 使用下面命令初始化mysql,则不需要密码登录
mysqld --initialize-insecure --user=mysql
mysql-u root --skip-password
alter user'root'@'localhost' identified by 'pwd456';
如果无法登录,再修改/etc/my.cnf 文件 加入以下参数
skip-grant-tables
再 systemctl restart mysqld (重启mysql) 就可以无密码登录了,修改密码
update user set authentication_string=password("pwd456") where user="root";
flush privileges;
七,配置主从
1,修改master /etc/my.cnf 文件
log-bin=mysql-bin
server-id=1
--------下面可以忽略
binlog-ignore-db=information_schema
binlog-ignore-db=mysql-----------------------
2,登录master
GRANT FILE ON *.* TO replicate@'xx.xx.xx.xx' IDENTIFIED BY 'pwd123';
GRANT REPLICATION SLAVE,RELOAD,SUPER ON*.* TO replicate@'xx.xx.xx.xx' IDENTIFIED BY 'pwd123';
查看状态
SHOW MASTER STATUS \G;
3,修改slave的配置 /etc/my.cnf 文件
log-bin=mysql-bin (非必须项,当slave需要同步的时候才必须)
server-id=2log_slave_updates= 1read_only= 1slave-skip-errors =all
slave-net-timeout = 60
--------下面可以忽略
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
replicate-do-db=ufind_db
replicate-ignore-db=mysql
4,修改同步选项, 重启slave
change master to master_host='xx.xx.xx.01',master_user='replicate',master_password='pwd123',master_log_file='mysql-bin.000001', master_log_pos=760;
查看 slave 状态
START SLAVE;
SHOW SLAVE STATUS \G;
可以看到
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
参考