ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

搭建mysql主从数据库

搭建mysql主从数据库 一台机器做主数据库、另外一个机器做从数据库。假设‌Master (主库)‌: 192.168.40.120‌Slave (从库)‌: 192.168.40.121主数据库和从数据库都安装wget https://dev.mysql.com/get/mysql80-community-release-el7-9.noarch.rpmsudo rpm -ivh mysql80-community-release-el7-9.noarch.rpmsudo yum install mysql-server -ymysqld --initializechown mysql:mysql -R /var/lib/mysqlsudo chmod 750 /var/lib/mysql #注意这个权限不能设置成777否则会启动失败chown mysql:mysql -R /var/log/mysql/sudo chmod 750 /var/log/mysql/systemctl start mysqldsystemctl enable mysqldsystemctl status mysqld获取密码grep temp /var/log/mysql/mysqld.logmysql -u root -pALTER USER rootlocalhost IDENTIFIED BY 新密码123!;CREATE USER root% IDENTIFIED BY 新密码123!;GRANT ALL PRIVILEGES ON *.* TO root%;在主数据库修改vim /etc/my.cnf在文件末尾追加# --- 以下是新增/修改的配置 ---[mysqld]# 1. 解决日志权限报错指定明确的日志路径# 确保 /var/log/mysql 目录存在且归属为 mysql:mysqllog-error/var/log/mysql/mysqld.log# 2. 基础数据目录配置根据实际安装情况确认通常为默认值datadir/var/lib/mysqlsocket/var/lib/mysql/mysql.sock# 3. 字符集配置避免中文乱码游戏业务必备character-set-serverutf8mb4collation-serverutf8mb4_unicode_ci# 4. 主从复制核心配置如果是主库server-id 设为 1从库设为 2 或其他唯一值server-id1log-binmysql-binbinlog-formatROW# 5. 其他常用优化可选max_connections1000innodb_buffer_pool_size1G # 根据服务器内存大小调整建议为物理内存的 50%-70%校验配置文件是否修改正确执行sudo mysqld --validate-config重置失败启动次数sudo systemctl reset-failed mysqld重新启动sudo systemctl restart mysqld查看启动是否成功sudo systemctl status mysqld登录主库mysql -uroot -p新密码123!-- 创建用于主从复制的用户CREATE USER repl_user% IDENTIFIED BY ReplPass123!;-- 授予复制权限GRANT REPLICATION SLAVE ON *.* TO repl_user%;FLUSH PRIVILEGES;-- 查看主库状态记录 File 和 Position后续从库配置需要用到SHOW MASTER STATUS;配置从库vim /etc/my.cnf文件追加[mysqld]# 服务器唯一ID必须与主库不同从库通常设为2,3...server-id 2# 开启中继日志relay-log relay-bin# 字符集统一character-set-server utf8mb4collation-server utf8mb4_unicode_ci# 可选如果从库只读防止误写read-only 1super-read-only 1重启sudo systemctl restart mysqld登录从库 MySQL执行以下 SQL替换为主库的实际 IP、用户、密码及之前记录的 File/Positionmysql -uroot -p新密码123!登录后执行-- 停止奴隶线程STOP SLAVE;-- 配置主库信息CHANGE MASTER TOMASTER_HOST192.168.40.120,//主数据的地址MASTER_USERrepl_user,//主数据建立的登录账号MASTER_PASSWORDReplPass123!,//主数据建立的登录账号的密码MASTER_LOG_FILEbinlog.000001,//上面记录的File 文件名MASTER_LOG_POS1410;//上面记录的Position-- 启动奴隶线程START SLAVE;验证同步状态SHOW SLAVE STATUS\G测试现在在主数据创建一个数据从数据库也会出现一条数据
返回列表