| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> MYSQL5.7.23主从安装 -> 正文阅读 |
|
[系统运维]MYSQL5.7.23主从安装 |
目录 pt-table-checksum 和 pt-table-sync. 12 环境??????? 主机: master操作系统:centos 6.8 64位 ?????????????????? IP:192.168.0.1 ?????????????????? MySQL版本:5.7.23 ??????? 从机: slave操作系统:centos 6.8 64位 ?????????????? ????IP:192.168.0.2 ?????????????????? MySQL版本:5.7.23 Mysql安装解压到当前目录: tar -xzvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz ? mysql主目录处理? 在tmp目录下移动文件到/usr/local/下并改名为mysql,在mysql目录下建data目录(可根据实际情况指定目录位置如/data) ? 查看组和用户情况 cat /etc/group | grep mysql 创建mysql组和mysql用户 ? 修改配置文件:/etc/my.cnf,配置不对的话,后面初始化不全,会拿不到默认密码。 vim /etc/my.cnf 修改内容:
:wq! 保存退出。 创建文件/tmp/mysql.sock:设置用户组及用户,授权 cd /tmp touch /tmp/mysql.sock chown mysql:mysql /tmp/mysql.sock chmod 755 /tmp/mysql.sock ? ? 创建文件/tmp/mysqld/mysqld.pid: mkdir -p /tmp/mysqld touch /tmp/mysqld/mysqld.pid chown -R mysql:mysql /tmp/mysqld chmod 755 /tmp/mysqld/mysqld.pid ? ? 创建文件/var/log/mysqld.log: touch /var/log/mysqld.log chown -R mysql:mysql /var/log chmod 755 /var/log/mysqld.log ? 安装和初始化数据库 进入bin目录: cd /usr/local/mysql/bin/ 初始化数据库: ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ? 安全启动: ./mysqld_safe --user=mysql & ? 是否启动成功,可以通过查看mysql进程,ps -ef | grep mysql ? 默认密码在mysqld.log日志里, 找到后保存到安全的地方: cat /var/log/mysqld.log ? 其中root@localhost: 后面的就是默认密码,后面登录用.(如果找不到可能默认是空,登录时密码直接回车,否则可能安装有问题) 进入bin目录: cd /usr/local/mysql/bin/ 登录mysql: ./mysql -u root -p 拷贝或者输入mysqld.log中获得的默认密码,即可进入mysql命令客户端。 但是,若输入相关命令,则会提示你修改用户密码(注意后面一定要加;)。 show databases; 假设密码修 mysql> set password=password("xxxxxxxxxxx"); 设置远程登录权限 mysql>grant all privileges on *.* to 'root'@'%' identified by ' xxxxxxxxxxx '; ? 立即生效: mysql> flush privileges; 退出quit 或者 exit; mysql> quit; 至此,mysql安装流程已结束。 开机服务启动设置: 把support-files/mysql.server 拷贝为/etc/init.d/mysql: cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql chkconfig --add mysql chkconfig mysql on ? 主从配置创建数据库分别登录master机和slave机的mysql:mysql –u root –p 创建数据库:create database eraisuat; master机和slave机的相关配置1、修改master机器中mysql配置文件vi /etc/my.cnf 在[mysqld]配置段添加如下字段 server-id=1 log-bin=mysql-bin log-slave-updates=1 binlog-do-db=eraisuat? #需要同步的数据库,如果没有本行表示同步所有的数据库 binlog-ignore-db=mysql? #被忽略的数据 在master机上为slave机添加一同步帐号 ?MariaDB[(none)]>grant replication slave on *.* to 'repl'@'192.168.0.2' identified by 'xxxxxxxxxxxx'; ?MariaDB[(none)]>flush? privileges; ? 重启master机的mysql服务:service mysqld restart ? 用show master status 命令看日志情况 ? 通过该命令获得File和Position,在slave中有用 。注:基准这里的“mysql-bin.000004”和“154”,在下面 “(3)设置Slave复制”的配置中会用到 2、修改slave机中mysql配置文件(1)修改slave机器中mysql配置文件my.cnf,该文件在/etc目录下 同样在[mysqld]字段下添加如下内容 Server_id=2 log-bin=mysql-bin relay-log=mysql-relay-bin log-slave-updates=1 replicate-do-db=cmxt replicate-do-db=cmxt_log replicate-do-db=mysql slave-parallel-type=LOGICAL_CLOCK??? #并行模式 slave-parallel-workers=16??????????? #并行数 master_info_repository=TABLE relay_log_info_repository=TABLE relay_log_recovery=ON replicate-do-db=repl #要同步的数据库,不写本行表示同步所有数据库 然后重启slave机的mysql:service mysqld restart (2)在slave机上验证对主机连接 mysql –h192.168.0.2 -urepl –pxxxxxxxx MariaDB[(none)]>show grants for repl@192.168.0.2; ? (3)设置Slave复制CHANGE MASTER TO MASTER_HOST='192.168.0.1', MASTER_USER='repl', MASTER_PASSWORD='xxxxxxxxxxxxxxx', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=154, MASTER_CONNECT_RETRY=10; (4)启动Slave? ? 运行SHOW SLAVE STATUS查看输出结果: 主要查看Slave_IO_Running和Slave_SQL_Running 两列是否都为YES ? (5)测试主从服务器是否能同步在主服务器上面新建一个表,必须在repl数据下
2 rows in set (0.00 sec) 在从服务器查看是否同步过来
说明已经配置成功 主从不同步了解决办法方法一:忽略错误后,继续同步 方式二:重新做主从,完全同步
? ? ? ? ? ?10.主库解锁 mysql>?unlock tables; pt-table-checksum 和 pt-table-sync这个两个软件也是很方便,大家可以去了解一下 pt-table-checksum:在主(master)上通过执行校验的查询对复制的一致性进行检查,对比主从的校验值,从而产生结果。DSN指向的是主的地址,该工具的退出状态不为零,如果发现有任何差别,或者如果出现任何警告或错误,更多信息请查看官方资料。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 23:59:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |