新版mysql搭建多线程主从复制
mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar
tar xf mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar
yum install -y mysql-community-client-5.7.11-1.el6.x86_64.rpm mysql-community-common-5.7.11-1.el6.x86_64.rpm mysql-community-libs-5.7.11- 1.el6.x86_64.rpm mysql-community-libs-compat-5.7.11-1.el6.x86_64.rpm mysql-community-server-5.7.11-1.el6.x86_64.rpm
启动:
/etc/init.d/mysqld start
[root@vm10 mnt]# /etc/init.d/mysqld start
Initializing MySQL database: [ OK ]
Installing validate password plugin: [ OK ]
Starting mysqld: [ OK ]
获得初始密码:
grep 'temporary password' /var/log/mysqld.log
mysql -p 回车之后输入初始密码
改密码:
ALTER USER root@localhost identified by 'Redhat007!'
密码规则:必须大于八位 ,有大写,小写,数字,特殊字符
然后在里面创建数据库 xp1 后面测试要用
mysql> create database xp1;
然后我在 /mnt底下创建了add.sql (方便后面使用)代码如下:
<ol style="margin:0 1px 0 0px;padding-left:40px;" start="1" class="dp-css"><li>CREATE TABLE usertb (<br /> </li><li>id serial,<br /></li><li>uname varchar(20),<br /></li><li>ucreatetime datetime ,<br /></li><li>age int(11)<br /></li><li>)<br /></li><li>ENGINE=MYISAM<br /></li><li>DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci<br /></li><li>AUTO_INCREMENT=1<br /></li><li>ROW_FORMAT=COMPACT;<br /></li><li><br /></li><li>delimiter $$<br /></li><li>SET AUTOCOMMIT = 0$$<br /></li><li><br /></li><li>create procedure test1()<br /></li><li>begin<br /></li><li>declare v_cnt decimal (10) default 0 ;<br /></li><li>dd:loop<br /></li><li>insert into usertb values<br /></li><li>(null,'用户1','2010-01-01 00:00:00',20),<br /></li><li>(null,'用户2','2010-01-01 00:00:00',20),<br /></li><li>(null,'用户3','2010-01-01 00:00:00',20),<br /></li><li>(null,'用户4','2010-01-01 00:00:00',20),<br /></li><li>(null,'用户5','2011-01-01 00:00:00',20),<br /></li><li>(null,'用户6','2011-01-01 00:00:00',20),<br /></li><li>(null,'用户7','2011-01-01 00:00:00',20),<br /></li><li>(null,'用户8','2012-01-01 00:00:00',20),<br /></li><li>(null,'用户9','2012-01-01 00:00:00',20),<br /></li><li>(null,'用户0','2012-01-01 00:00:00',20)<br /></li><li>;<br /></li><li>commit;<br /></li><li>set v_cnt = v_cnt+10 ;<br /></li><li>if v_cnt = 10000000 then leave dd;<br /></li><li>end if;<br /></li><li>end loop dd ;<br /></li><li>end;$$<br /></li><li><br /></li><li>delimiter ; </li></ol>然后在新创建的那个数据库中执行那段代码

触发代码中的存储过程
call test1 会在usertb 表中插入一千万行数据
如下证明数据已经插入

修改代码,在向其中创建表usertb1 ,然后继续触发,往里面写入一千万行数据
(创建两个表主要想让mysqldump和mysqlpump的差别更明显)
如下证明创建成功

测试mysqldump 和mysqlpump
mysqldump:

mysqlpump:
time mysqlpump -p xp1 > xp1.sql

如上,明显快了十秒,这还使用的是mysqlpump的默认线程数 2
time mysqlpump -pRedhat006! --default-parallelism=4 db1 > db1.sql
--default-parallelism=4 使用线程数 可以自己修改
做个mysql的A -- B复制
配置环境: master: 172.25.254.10
slave: 172.25.254.11
首先在master主机里
vim /etc/my.cnf
server-id=1
log-bin=mysql-bin
binlog-do-db=test
/etc/init.d/mysqld restart
mysql -pRedhat007!
用如下命令查看一下,看是否成功

新建test库: create database test;
授权:
mysql> grant replication slave on *.* to xpp@'172.25.254.11' identified by 'Redhat007!';
Query OK, 0 rows affected, 1 warning (0.40 sec)
/etc/init.d/mysqld restart
slave端: 172.25.254.11
vim /etc/my.cnf
server-id=2 与master不同即可
然后再slave上面安装最新版的mysql
首先验证master是否授权成功
mysql -pRedhat007! -uxpp -h172.25.254.10 如果可以登录进去的话就证明成功
mysql -pRedhat007!
新建test库,因为在做同步之前两个数据库中的内容必须一致
然后:chang master to master_host='172.25.254.10', master_user='xpp' , master_password='Redhat007!', master_log_file='mysql-bin.000001', master_log_pos=154;
/etc/init.d/mysqld restart
在master端:
MySQL 的新特性之一,是加入了全局事务 ID (GTID) 来强化数据库的主备一致性,故障恢复,以及容错能力
vim /etc/my.cnf 加如下两行,开启gtid模式
gtid-mode=on
enforce-gtid-consistency=on
/etc/init.d/mysqld restart
然后再slave上
vim /etc/my.cnf 加如下
gtid-mode=on
enforce-gtid-consistency=on
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON
/etc/init.d/mysqld restart
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

本文討論了PHP中的crypt()和password_hash()的差異,以進行密碼哈希,重點介紹其實施,安全性和對現代Web應用程序的適用性。

文章討論了通過輸入驗證,輸出編碼以及使用OWASP ESAPI和HTML淨化器之類的工具來防止PHP中的跨站點腳本(XSS)。

自動加載PHP會在需要時自動加載類文件,從而通過減少內存使用和增強代碼組織來提高性能。最佳實踐包括使用PSR-4和有效組織代碼。

本文討論了在PHP中管理文件上傳大小的管理,重點是2MB的默認限制以及如何通過修改PHP.INI設置來增加它。

本文討論了PHP 7.1中引入的PHP中的無效類型,允許變量或參數為指定類型或NULL。它突出顯示了諸如提高可讀性,類型安全性和明確意圖的好處,並解釋瞭如何聲明

本文討論了unset()和unlink()功能在編程中的差異,重點關注其目的和用例。 unset()從內存中刪除變量,而unlink()從文件系統中刪除文件。兩者都對效率至關重要


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前ByDDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前ByDDD
Inzoi:如何申請學校和大學
4 週前ByDDD
如何修復KB5055518無法在Windows 10中安裝?
2 週前ByDDD
Roblox:Dead Rails - 如何召喚和擊敗Nikola Tesla
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器