- 关闭防火墙和selinux
systemctl stop firewalld
systemctl disabled firewalld
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
cat /etc/selinux/config >> ${tmplog_dir}/base.log 2>&1
setenforce 0
getenforce
- 安装gcc
yum -y install centos-release-scl
sudo yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
- 下载mysql压缩包,下载地址:https://pan.baidu.com/s/1wt-yjjvaYcN3UahapuPs1Q ,提取码:p59a,上传并解压mysql压缩包
tar -zxvf mysql-8.0.27-el7-x86_64.tar.gz -C /usr/local
mv /usr/local/mysql-8.0.27-el7-x86_64 /usr/local/mysql
- 创建用户及目录
-- 创建用户
groupadd mysql
useradd -d /home/mysql -g mysql -m mysql
passwd mysql
-- 授权
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
- 移动my.conf到etc目录下
mv /usr/local/mysql/my.cnf /etc
文件内容如下
[mysqld]
server-id=2
default_authentication_plugin=mysql_native_password
skip-name-resolve
explicit_defaults_for_timestamp
basedir=/usr/local/mysql
port=3306
socket=/usr/local/mysql/tmp/mysql.sock
datadir=/usr/local/mysql/data
tmpdir=/usr/local/mysql/tmp
max_allowed_packet=16M
bind-address=0.0.0.0
pid-file=/usr/local/mysql/tmp/mysqld.pid
log-error=/usr/local/mysql/logs/mysqld.log
character-set-server=UTF8
collation-server=utf8_general_ci
[client]
port=3306
socket=/usr/local/mysql/tmp/mysql.sock
default-character-set=UTF8
plugin_dir=/usr/local/mysql/lib/plugin
[manager]
port=3306
socket=/usr/local/mysql/tmp/mysql.sock
pid-file=/usr/local/mysql/tmp/mysqld.pid
- 初始化,进入/usr/local/mysql目录下执行如下命令
cd /usr/loca/mysql
./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
- 设置开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start
- 配置环境变量
echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
source /etc/profile
- 修改密码
mysql -uroot -e "alter user user() identified by '123456';"
- 主库配置
登陆主库
mysql -uroot -p123456
创建同步用户
create user 'slave'@'%' identified with mysql_native_password by '123456';
grant replication slave on *.* to 'slave'@'%';
update mysql.user set host = '%' where user ='root';
flush privileges;
查看主库状态,记住下图标注的File和Position,设置从库时需要使用
show master status;
- 设置从库
登陆从库
mysql -uroot -p
加入主库同步
-- 设置从库向主库同步数据,参数说明:
-- master_host的值是你的主库IP
-- master_port的值是你的主库端口
-- master_user就是创建的slave用户
-- master_password就是创建的slave用户的密码
-- master_log_file的值就是前面记录的file的值
-- master_log_pos的值就是前面记录的position的值
change master to master_host='192.168.30.74',master_port=3306,master_user='slave',
master_password='123456',master_log_file='binlog.000001',master_log_pos=1164;
start slave;
查看从库状态
show slave status \G;
- 设置主主,切换主备身份,重复步骤10和步骤11