1、环境准备

序号

主机ip

用途

1

192.168.52.15

MySQL主库

2

192.168.52.16

MySQL从库

2、下载安装包

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.42-linux-glibc2.17-x86_64.tar.xz 

tar -xf mysql-8.0.42-linux-glibc2.17-x86_64.tar.xz 

mv mysql-8.0.42-linux-glibc2.17-x86_64 /usr/local/mysql

3、创建Mysql用户

groupadd mysql          
useradd -r -g mysql -s /bin/false mysql


mkdir -p /data/mysql/{data,log}          
chown -R mysql:mysql /data/mysql/{data,log}          
chmod 750 /data/mysql/{data,log}

4、修改MySQL配置文件

192.168.52.15配置:

    cat > /etc/my.cnf <<EOF[mysqld]server-id=15bind-address = 0.0.0.0port = 3306user=mysqldatadir=/data/mysql/datasocket=/tmp/mysql.socklog-error=/data/mysql/log/mysql-error.logslow_query_log=1slow_query_log_file=/data/mysql/log/mysql-slow.loglong_query_time=10log-bin=/data/mysql/log/mysql-bin.logexpire_logs_days=7pid-file=/data/mysql/data/mysql.pid [client]socket=/tmp/mysql.sockEOF

    192.168.52.16配置:

      cat > /etc/my.cnf <<EOF[mysqld]server-id=16bind-address = 0.0.0.0port = 3306user=mysqldatadir=/data/mysql/datasocket=/tmp/mysql.socklog-error=/data/mysql/log/mysql-error.logslow_query_log=1slow_query_log_file=/data/mysql/log/mysql-slow.loglong_query_time=10log-bin=/data/mysql/log/mysql-bin.logexpire_logs_days=7pid-file=/data/mysql/data/mysql.pid [client]socket=/tmp/mysql.sockEOF

      5、初始化mysql

      cd /usr/local/mysql/

      ./bin/mysqld --initialize --user=mysql --datadir=/data/mysql/data

      ./bin/mysql_ssl_rsa_setup --datadir=/data/mysql/data

      grep 'temporary password' /data/mysql/log/mysql-error.log

      6、配置mysql服务

        cat > /etc/systemd/system/mysqld.service <<EOF[Unit]Description=MySQL ServerAfter=network.target [Service]User=mysqlGroup=mysqlExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnfExecReload=/bin/kill -HUP $MAINPIDRestart=on-failureRestartSec=5s [Install]WantedBy=multi-user.targetEOF

        7、MySQL启动服务

        systemctl daemon-reload

        systemctl start mysqld

        systemctl enable mysqld

        systemctl status mysqld

        8、配置mysql环境变量

        echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc

        source ~/.bashrc

        mysql --version

        9、修改mysql密码

        mysql -uroot -p%ofbIRCiB4,d

        ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123';

        CREATE DATABASE IF NOT EXISTS mydb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

        CREATE USER 'root'@'%'IDENTIFIED BY 'Admin@123';

        GRANT ALL PRIVILEGES ON mydb.* TO 'root'@'%' WITH GRANT OPTION;

        FLUSH PRIVILEGES;

        10、创建复制用户

        mysql -uroot -p'Admin@123'

        CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'Admin@123';

        GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

        FLUSH PRIVILEGES;

        11、配置从库连接主库

        主库执行:

        show master status;

        从库执行:

        stop slave;

        change master to 

        master_host='192.168.52.15',

        master_user='repl',

        master_password='Admin@123',

        master_log_file='mysql-bin.000003',

        master_log_pos=157;

        start slave;

        show slave status\G;

        Logo

        汇聚全球AI编程工具,助力开发者即刻编程。

        更多推荐