时间:2021-07-01 10:21:17 帮助过:18人阅读
4)注意需要开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload firewall-cmd --list-ports
1) 在/etc/my.cnf中修改以下内容
[root@centos3 ~]# vim /etc/my.cnf
server-id = 22 //不能与其他实例重复
log-bin=master-bin //二进制日志文件名 修改
relay-log=relay-log-bin //复制过来的二进制文件名,增加
relay-log-index=slave-relay-bin.index //中继日志存放的文件名称,增加
注意server-id不能与主服务器相同,但是从服务器要相同。
2) 重启mysql服务
3) 登录mysql,配置同步(按照主服务器结果更改下面命令中
master_file和master_log_pos参数)
change master to master_host=‘192.168.1.131‘,master_user=‘root‘, master_password=‘Pass1234!‘,master_log_file=‘master-bin.000001‘,master_log_pos=467;
4)启动同步
5) 查看slave状态,确保以下两个值为YES
5、 验证主从复制效果
1) 在主服务器上新建数据库“IT”
2) 在从服务器上查看数据库,如果和主服务器相同,说明主从复制成功。
从库多线程复制:
https://blog.csdn.net/punk_lover/article/details/78424896
https://blog.csdn.net/demonson/article/details/80774899
#!/bin/bash ############ 一键安装 MySQL 8.0 脚本 ############ # Updates:可以在安装的时候更改root初始密码 # ####################### END ###################### function install(){ #先把多余的卸载了 unload cd ~ U_mysqlUrl=https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm #下载MySQL8.0的rpm包 if [ -e "./mysql80-community-release-el7-1.noarch.rpm" ] then echo -e "\033[1;32m正在解压~~~\033[0m" else wget ${U_mysqlUrl} if [ $? -ne 0 ] then echo -e "\033[1;31m下载 MySQL 安装包失败,请检查您的网络!\033[0m" exit fi fi #解压rpm包 ##*/ 表示删除最后一个/ 及其左边的字符 rpm -Uvh ${U_mysqlUrl##*/} #安装MySQL8.0 yum install mysql-server -y #启动MySQL echo -e " ************ \033[1;33m正在启动 MySQL\033[0m *****************" systemctl start mysqld.service #查看状态 a=$(systemctl status mysqld.service | grep Active) b=${a##*active} c=${b%% since*} d="(running)" if [ "$c" = "$d" ] then echo -e " ************** \033[1;32mMySQL 启动成功\033[0m ******************" fi #找出初始密码,建立登录脚本 findpass=$(grep ‘temporary password‘ /var/log/mysqld.log) initpass=${findpass##* } rm -rf ~/.my.cnf touch ~/.my.cnf echo "[client]" > ~/.my.cnf echo "user=root" >> ~/.my.cnf echo "password=\"${initpass}\"" >> ~/.my.cnf #设置此登录文件只有所有者可以读写 chmod 770 ~/.my.cnf #修改密码 chose_pass } #修改密码 function chose_pass() { declare -i settime=0 while [ ${settime} -lt 3 ] do read -p "是否现在修改 MySQL 的 root 密码?[y/n] " chose if [[ "$chose" = "n" || "$chose" = "N" ]] then notchk_pass exit elif [[ "$chose" = "y" || "$chose" = "Y" ]] then modify_pass ((settime+=3)) exit else echo -e "\033[1;33m请输入 y 或 n\033[0m" fi settime=$((++settime)) done } #不修改密码提示函数 function notchk_pass() { echo -e "\033[1;34;40mMySQL安装成功!!" echo "############### 请在输入命令 mysql 后进入数据库 ######################" echo "## 输入语句:ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘新密码‘; #" echo "## 并在 ~/.my.cnf 文件中更新你的密码,以方便日后免密登录 #" echo "########################################################################" echo -e "\033[0m" } #修改密码操作函数 function modify_pass() { #如果密码格式不符合3次则退出 declare -i chktime=0 while [ ${chktime} -lt 3 ] do echo -e "\033[1;32m请输入您的新密码" read -p "至少一个大写字母、一个小写字符、数字和符号:" NEWPASS echo -e "\033[0m" SQL="ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY \"${NEWPASS}\";flush privileges;" mysql --connect-expired-password -e "${SQL}" if [ $? -eq 0 ] then #修改登录脚本 rm -rf ~/.my.cnf touch ~/.my.cnf echo "[client]" > ~/.my.cnf echo "user=root" >> ~/.my.cnf echo "password=\"${NEWPASS}\"" >> ~/.my.cnf chmod 0600 ~/.my.cnf echo -e "\033[1;34;40mMySQL安装成功!!" echo "############### 请在输入命令 mysql 后进入数据库 ######################" echo "## 自动登录脚本:~/.my.cnf #" echo "########################################################################" echo -e "\033[0m" rm -rf transfer.txt #设置对了直接退出 ((chktime+=4)) exit fi chktime=$((++chktime)) #第三次的时候提示并退出 if [ ${chktime} -eq 3 ] then echo -e "\033[1;31m密码修改失败,请自行修改密码\033[0m" exit fi done } #卸载 function unload() { #停掉 MySQL 数据库 systemctl stop mysqld.service #卸载各项服务 yum remove mysql mysql-server mysql-libs compat-mysql51 -y #删除各个目录 rm -rf /var/lib/mysql rm -rf /etc/my.cnf rm -rf /usr/share/mysql-8.0/ touch list.txt #查一下继续卸载 rpm -qa | grep mysql > list.txt for a in `cat list.txt` do yum remove $a -y done rm -rf list.txt #删除自动登录配置文件 rm -rf ~/.my.cnf #删除日志文件 rm -rf /var/log/mysqld.log #删除安装包 #rm -rf ~/mysql80-community-release-el7-1.noarch.rpm } clear echo -e "\033[1;36m############ 欢迎使用一键安装 MySQL 8.0 脚本 ############\033[0m" echo -e "\033[1;36m# #\033[0m" echo -e "\033[1;36m# 请保持网络畅通··· #\033[0m" echo -e "\033[1;36m# #\033[0m" echo -e "\033[1;36m# 1、安装 MySQL #\033[0m" echo -e "\033[1;36m# 2、卸载 MySQL #\033[0m" echo -e "\033[1;36m# 3、退出 #\033[0m" echo -e "\033[1;36m# #\033[0m" echo -e "\033[1;36m###########################################################\033[0m" declare -i style read -p "请输入选项 [ 1 | 2 | 3 ]:" style case "$style" in 1) #检查目录是否存在 if [ -e "/var/lib/mysql80" ] then echo -e "\033[1;33m您的系统已安装 MySQL 数据库,请检查目录\033[0m" else install fi ;; 2) unload ;; 3) exit ;; *) echo -e "\033[5;32;40m参数错误!!!\033[0m" ;; esac
原博客:https://www.w3cschool.cn/timlc/timlc-u3xg24y8.html
mysql-主从复制
标签:dex 参数错误 || sdn 启动 temporary ip地址 mysql 启动 slave