准备环境
- 两台安装了CentOS7的主机 官网下载
虚拟机也可以
- MySQL离线包 官网下载
mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
安装MySQL
- 解压MySQL到目录/usr/local/bin
tar –xvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
- 添加环境变量
vim /etc/profile
export MYSQL_PATH=/usr/local/bin/mysql-8.0.12-linux-glibc2.12-x86_64
export PATH=${MYSQL_PATH}/bin:$PATH
source /etc/profile
- 修改配置文件 /etc/my.cnf
[mysql_safe]一栏是为集群部署准备的配置
log-error 错误日志路径,需要自己事先新建${MYSQL_PATH}/log/error.log。如果不需要,请删除这一项配置,否则安装不成功。
- 初始化MySQL,切记拷贝好初始密码
${MYSQL_PATH}/bin/mysqld --initialize --user=xiaoming
- 添加MySQL服务,并设置成开机启动
cp ${MYSQL_PATH}/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
service mysql start
- 登录MySQL,修改密码
mysql -uroot -p
alter user \'root\'@\'localhost\' identified with mysql_native_password by \'123456\'
- 创建通用用户,赋予权限
create user \'root\'@\'%\' identified by \'123456\'
alter user \'root\'@\'%\' identified with mysql_native_password by \'123456\'
grant all privileges on *.* to \'root\'@\'%\' with grant option
flush privileges
配置主从
- 在另一台主机上安装MySQL,步骤如上,并修改配置文件
注意server_id和auto-increment-offset配置
- 登录MySQL,配置两个MySQL互为主从
show master status;
change master to master_host="192.168.9.57", master_user="root", master_port=3306, master_password="123456", master_log_file="binlog.000001", master_log_pos=155
start slave;
show slave status \G
show master status;
change master to master_host="192.168.9.58", master_user="root", master_port=3306, master_password="123456", master_log_file="binlog.000001", master_log_pos=155
start slave;
show slave status \G
注意master_host
注意master_log_file和master_log_pos,并不是每个MySQL服务安装后都会是一样的值,通过show master status可以查看
- 几个可选的MySQL调优参数
skip-name-resolve
innodb_write_io_threads=8
innodb_read_io_threads=8
max_connections=1024
mysqlx_max_connections=1024
slow_query_log=1
long_query_time=1
log_bin_trust_function_creators=1
max_allowed_packet=128M
read_buffer_size=8M
read_rnd_buffer_size=8M
sort_buffer_size=8M
innodb_buffer_pool_size=3G
innodb_buffer_pool_instances=8
- 重启MySQL
service mysql restart
安装keepalived
keepalived-2.0.7.tar.gz
- 离线安装
# 解压安装包
tar –zxvf keepalived-2.0.7.tar.gz
# 配置安装地址
./configure –prefix=/usr/local/bin/keepalived/svr
# 离线安装示例:openssl-devel
rpm –ivh openssl-devel-1.0.2k-12.el7.x86_64.rpm
# 安装
make && make install
其他离线包
- 配置keepalived开机启动
# 拷贝启动文件和配置文件
cp /usr/local/bin/keepalived/keepalived-2.0.7/keepalived/etc/init.d/keepalived /etc/init.d/
cp /usr/local/bin/keepalived/svr/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/bin/keepalived/keepalived-2.0.7/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
# 添加开机启动服务
chkconfig –add keepalived
- 修改配置文件
注意注释掉vrrp_strict,否则会导致虚拟IP无法PING通
- 编写上图中mysql.sh脚本
# 赋予脚本可执行权限
chmod +x /etc/keepalived/bin/mysql.sh
# 启动keepalived
service keepalived start
# 重启网络
service network restart
- 查看服务器虚拟IP信息:
ip addr show dev ens33
- 修改mysql启动脚本
vim /etc/init.d/mysql
另一台主机上的配置大同小异
# 选择master优先级
priority 50
# 真实服务地址
real_server 192.168.9.58 3306