
可道云部署+MySQL主从复制
可道云部署
两台机器 一台装数据库,一台装nginx服务
1.准备MySQL数据库
# 设置主机名
[root@myx ~]#hostnamectl set-hostname db
[root@db /etc/yum.repos.d]#cat mysql.repo
[mysql-5.7-community]
name=MySQL 5.7 Community Server
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
[root@db ~]#yum install -y mysql-community-server
[root@db ~]#systemctl enable --now mysqld
[root@db ~]#grep 'password' /var/log/mysqld.log | head -n 1
[root@db ~]#mysql -uroot -p'j.aKx/uue3Jn'
mysql>set global validate_password_policy=LOW; #关闭检查密码复杂性
mysql>set global validate_password_length=6; #设置管理员密码长度
mysql>ALTER USER USER() IDENTIFIED BY '123456';
mysql> create database kodbox;
Query OK, 1 row affected (0.00 sec)
mysql> create user kodbox@'10.0.0.%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on kodbox.* to kodbox@'10.0.0.%';
Query OK, 0 rows affected (0.00 sec)
mysql>quit
2. 准备 Redis 服务
[root@db ~]#cd /etc/yum.repos.d/
[root@db ~]#rm -rf epel*
[root@db ~]#yum install wget -y
[root@db ~]#wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
[root@db ~]#yum -y install redis
[root@db ~]#vim /etc/redis.conf
bind 0.0.0.0 #修改此行
[root@db ~]#systemctl enable --now redis
3.准备 Nginx 服务
# 设置主机名
[root@myx ~]#hostnamectl set-hostname lnp
[root@lnp ~]#cd /etc/yum.repos.d/
[root@lnp ~]#rm -rf epel*
[root@lnp ~]#yum install wget -y
[root@lnp ~]#wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
[root@lnp ~]#yum -y install nginx
[root@lnp ~]#mkdir -pv /data/html
#创建配置文件
[root@lnp ~]#vim /etc/nginx/conf.d/kod.conf
[root@lnp ~]#cat /etc/nginx/conf.d/kod.conf
server {
listen 80;
server_name 10.0.0.90;
root /data/html;
client_max_body_size 200M;
location / {
index index.php index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
[root@lnp ~]#systemctl --now enabled nginx
4.CentOS7 php 支持 redis
[root@lnp ~]#yum -y install https://mirror.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm
#安装必要的包
[root@lnp ~]#yum -y install php74-php-fpm php74-php-mysqlnd php74-php-pecl-redis5 php74-php-mbstring php74-php-xml php74-php-gd
[root@lnp ~]#vim /etc/opt/remi/php74/php-fpm.d/www.conf
user = nginx
group = nginx
listen = 127.0.0.1:9000
#文件最后修改下面两行,IP地址写安装redis服务器的地址
php_value[session.save_handler] = redis
php_value[session.save_path] = "tcp://IP:6379"
5.准备可道云程序
[root@lnp ~]#wget https://static.kodcloud.com/update/download/kodbox.1.42.zip
[root@lnp ~]#unzip kodbox.1.42.zip -d /data/html
[root@lnp ~]#chown -R nginx.nginx /data/html
#启动php服务
[root@lnp ~]#systemctl start php74-php-fpm
#在浏览器输入IP查看
出现问题排查流程:配置文件(是否有执行权限) -> 数据库 (用户是否创建,是否有权限..) -> 防火墙(是否关闭)
查看端口信息
[root@lnp /etc/nginx/conf.d]#ss -ntlp
MySQL主从复制
再开一台机器装MySQL数据库
永久设置主机名:
[root@db2 ~]#hostnamectl set-hostname db2
Ctrl+D 登出
主节点配置:
(1) 启用二进制日志
vim /etc/my.cnf
#[mysqld]下新增下面两行
server-id=8
log-bin
重启MySQL :restart
开机自启动 :enable
(2) 查看二进制文件和位置
mysql> show master logs;
+----------------+-----------+
| Log_name | File_size |
+----------------+-----------+
| myx-bin.000001 | 154 |
+----------------+-----------+
1 row in set (0.00 sec)
(3) 创建复制用户
mysql> grant replication slave on *.* to myx@'10.0.0.%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
从节点配置:
(1) 启动中继日志
vim /etc/my.cnf
#[mysqld]新增一行
server_id=21
重启MySQL :systemctl restart mysqld
(2)登录数据库
mysql> CHANGE MASTER TO
-> MASTER_HOST='10.0.0.13',
-> MASTER_USER='kod',
-> MASTER_PASSWORD='123456',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='db-bin.000001',
-> MASTER_LOG_POS=1458;
Query OK, 0 rows affected, 2 warnings (0.02 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
#新建数据库测试
主: 新建test数据库
mysql> CREATE DATABASE test;
Query OK, 1 row affected (0.00 sec)
从:查看test数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| kodbox |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)
#测试
主: 删除test数据库
mysql> drop DATABASE test;
Query OK, 0 rows affected (0.00 sec)
从:再次查看
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| kodbox |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 梦缘羲
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果