CentOS安装与配置MySQL
- 安装rz命令的工具包,为了更加方便的传输文件到Linux服务器
yum install lrzsz
```
2. 安装MySQL-Server
```bash
yum install mysql-server
```
3. 运行与设置权限
```bash
systemctl start mysqld # 启动MySQL服务
mysql -uroot # 直接登录
use mysql -- 切换到mysql数据库
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'Password'; -- 注意这里最后的Passoword是密码哦
exit; -- 退出MySQL
systemctl restart mysqld # 重新启动MySQL服务
# 此时此刻,登录MySQL就需要使用密码登录了
```
# 集群准备
## 主机
1. 创建测试数据库
```bash
mysql -uroot -p
mysql> create database db1;
Query OK, 1 row affected (0.00 sec)
mysql> create database db2;
Query OK, 1 row affected (0.00 sec)
mysql> create database db3;
Query OK, 1 row affected (0.00 sec)
```
2. 配置my.cnf
```bash
cd /etc # 切换到配置目录
vim my.cnf # 编辑my.cnf
#--------------添加如下配置--------------
[mysqld]
server-id=233
log-bin=mysql-bin
binlog-do-db=db1
binlog-do-db=db2
binlog-do-db=db3
#--------------添加以上配置--------------
# 如果不写binlog-do-db,那就是所有库
```
3. 重启服务
```bash
service mysqld restart
```
4. 创建同步用户,授予用户slave REPLICATION SLAVE权限和REPLICATION CLIENT权限
```sql
CREATE USER 'slave'@'%' IDENTIFIED BY 'Password';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
```
5. :warning: 记录配置
```sql
show master status;
```
此时要记录File和Pos的值,后面会用到。
## 从机
1. 在my.cnf配置中新增如下配置
[mysqld]
server-id=134
log-bin=mysql-slave-bin
relay_log=mysql-relay-bin
```
2. 重启mysql服务
service mysqld restart
```
3. 指定主机
```sql
change master to master_host='192.168.40.133', master_user='slave', master_password='Password', master_port=3306, master_log_file='mysql-bin.000015', master_log_pos=437, master_connect_retry=60;
```
4. 查看主从同步状态以及开启主从复制
```sql
show slave status \G;
start slave;
show slave status \G;
```
# 测试
主机中插入几个数据试试看喽
# :warning: 异常错误解决方案
1. Slave_IO_Running 和 Slave_SQL_Running 总是 Connecting
> 1、网络不通,检查ip端口
> 2、密码不对,检查用于同步的用户名和密码
> 3、pos不对,检查Master的Position
> 4、mysql8特有的密码规则问题引起
2. Slave_IO_Running: No Slave_SQL_Running: Yes
> 修改server-uuid
>
> ```bash
> cd /var/lib/mysql
> vim auto.cnf
> ```
3. Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.
> 修改密码规则
>
> ```sql
> ALTER USER'slave'@'%' IDENTIFIED WITH mysql_native_password BY 'Password';
> ```
# 测试




# 注意
从机不要进行增删改操作,否则会影响复制进度。
# 命令汇总
## 设置从机的主机配置
```sql
change master to master_host='192.168.40.133', master_user='slave', master_password='Password', master_port=3306, master_log_file='mysql-bin.000015', master_log_pos=7869, master_connect_retry=60;
查看主机和从机的状态
SHOW MASTER STATUS; # 这样看舒服
SHOW SLAVE STATUS\G # 这样看舒服
不会说,; 和 \G 的区别还有同学不知道叭。🤭

评论 0
还没有评论,来说点什么吧。