首页
人工智能
网络安全
手机
搜索
登录
搜索
golden81
累计撰写
154
篇文章
累计收到
0
条评论
首页
栏目
首页
人工智能
网络安全
手机
包含标签 【sed】 的文章
2025-4-24
生产环境部署mysql8.0.28 主从同步
资源规划 IP 系统 资源 主机规划 备注 192.168.116.145 centos7.9 2C4G master 192.168.116.135 centos7.9 2C4G slave 环境部署 修改主机名 #修改主机名 hostnamectl set-hostname master hostnamectl set-hostname slave 关闭防火墙和内核安全机制 #关闭防火墙和selinux systemctl stop firewalld && systemctl disable firewalld sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config setenforce 0 清理环境 #删除mariadb数据库,mariadb是mysql的孪生兄弟 rpm -qa | grep mariadb #删除mysql8的冲突包 rpm -e --nodeps mariadb-libs #查看是否安装过mysql rpm -qa | grep -i mysql #如果安装过mysql需要删除mysql并备份数据 find / -name mysql # 查询是否存在二进制文件 whereis mysql #如果安装过需要删除配置文件 rm /etc/my.cnf #确认是否全部删除mysql rpm -qa |grep -i mysql 时间同步和资源信息查询 #时间同步 chronyc sources |grep '*' #查看服务的x86_64架构还是arm架构 uname -m #或者用这个查看 arch #创建mysql用户 useradd -M -s /sbin/nologin mysql #安装依赖包 yum -y install gcc vim wget net-tools lrzsz libaio 部署mysql8 #上传mysql-8.0.28-el7-x86_64.tar.gz并解压数据包 tar zxvf mysql-8.0.28-el7-x86_64.tar.gz #移动二进制文件并重命名为mysql mv mysql-8.0.28-el7-x86_64 /usr/local/mysql #创建挂在目录 mkdir /data 获取初始密码 #为创建的目录给用户权限 chown -R mysql:mysql /data #切换到mysql的执行文件目录中 cd /usr/local/mysql/bin #初始化mysql数据库,最后会有随机密码 ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data --initialize 继续另外一台msyql8 #写配置文件 cat>/etc/my.cnf<<EOF [client] socket=/data/mysql.sock [mysqld] socket=/data/mysql.sock bind-address = 0.0.0.0 skip-name-resolve port = 3306 basedir=/usr/local/mysql datadir=/data max_connections=2048 character-set-server=utf8 default-storage-engine=INNODB lower_case_table_names=0 max_allowed_packet=16M log-bin=master-bin binlog_format=MIXED server-id=$(openssl rand -base64 4|cksum |cut -c 1-8) EOF #设定systemctl管理脚本 cat>/lib/systemd/system/mysqld.service<<'EOF' [Unit] Description=mysqld After=network.target [Service] Type=forking ExecStart=/etc/rc.d/init.d/mysqld start ExecReload=/etc/rc.d/init.d/mysqld restart ExecStop=/etc/rc.d/init.d/mysqld stop PrivateTmp=true [Install] WantedBy=multi-user.target EOF #设定环境变量 echo 'export PATH=$PATH:/usr/local/mysql/bin'>> /etc/profile #创建mysql的执行文件 cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld #给执行文件添加可执行权限 chmod +x /etc/rc.d/init.d/mysqld #添加到config文件中 chkconfig --add mysqld #刷新环境变量 source /etc/profile #启动mysql systemctl start mysqld && systemctl enable mysqld #创建软连接 ln -s /usr/local/mysql/bin/mysql /usr/local/bin/ 数据库修改密码 #初始化密码 #登录数据库 mysql -uroot -p #修改密码为123456 alter user 'root'@'localhost' identified with mysql_native_password by '123456'; #查看密码 use mysql; # 查看用信息 select host,user,authentication_string from user; #创建远程登录数据权限本地登录数据库 use mysql; #授权root远程登录 update user set host = '%' where user = 'root'; #查看权限 select host,user from user; #刷新表 flush privileges; 主从备份 #主节点,远程同步用户 CREATE USER 'master'@'192.168.116.%' IDENTIFIED WITH mysql_native_password BY '123456'; GRANT REPLICATION SLAVE ON *.* TO 'master'@'192.168.116.%'; #刷新库 flush privileges; # 查看binlog名字和位置编号 show master status; 从节点 CHANGE MASTER TO MASTER_HOST='192.168.116.145', # 主服务器IP MASTER_USER='master', # 主服务器用户 MASTER_PASSWORD='123456', # 主服务器用户密码 MASTER_LOG_FILE='master-bin.000001', # 主服务器 MASTER_PORT=3306, # 端口号默认3306 MASTER_LOG_POS=1156; # 位置 CHANGE MASTER TO MASTER_HOST='192.168.116.145', MASTER_USER='master', MASTER_PASSWORD='123456', MASTER_LOG_FILE='master-bin.000001', MASTER_PORT=3306, MASTER_LOG_POS=1328; # 互为主从 CHANGE MASTER TO MASTER_HOST='192.168.116.136', MASTER_USER='master', MASTER_PASSWORD='123456', MASTER_LOG_FILE='master-bin.000001', MASTER_PORT=3306, MASTER_LOG_POS=1749; #查看集群状态 show slave status\G # 启动主从 start slave; #查看binlog的编号 show variables like 'server_id'; #修改binlog的编号 set global server_id=2; #此处的数值和my.cnf里设置的一样就行 插入测试数据 create database sqw ;
2025年-4月-24日
12 阅读
0 评论
网络安全