7. SpringBoot 整合MySQL高可用数据库
📕 Centos 7 安装mysql
1. 查看是否已经安装了MySQL
rpm -qa | grep mysql
2. 卸载 MySQL
rpm -e mysql-libs-5.1.71-1.e16.x68_64 --nodeps
3. 下载安装MySQL 包
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
4. 安装MySQL的RPM包
yum -y install mysql57-community-release-el7-10.noarch.rpm
5. 安装MySQL
yum -y install mysql-community-server
6. 出现报错,更换安装命令
yum -y install mysql-community-server --nogpgcheck
7. 启动MySQL
systemctl start mysqld.service
8. 查看MySQL运行状态
service mysqld status
9. 连接MySQL
mysql -u root -p
10. MySQL安装以后有初始密码,查看初始密码
grep 'password' /var/log/mysqld.log
11. 连接MySQL
mysql -u root -p
12. 重置密码
//这个错误是MySQL5.7之后有初始化密码,需要先修改初始化密码,修改MySQL配置文件my.cnf,该文件在/etc目录下,输入命令
vim /etc/my.cnf
在配置文件添加skip-grant-tables
按ESC,输入:wq保存退出
然后关闭MySQL服务
service mysqld stop
重启MySQL
service mysql start
而后再次连接MySQL,输入任意密码即可进入
选择指定数据库
use mysql
重新设置你想要设置的密码即可
update user set authentication_string=password('root@1234') where user='root';
设置完成后,删除my.cnf文件中添加的skip-grant-tables,重启MySQL服务,重新登录即可
13. 重新启动
systemctl start mysqld.service
14. mysql5.7进去以后执行任何命令需要再设置一次密码
设置mysql 密码策略
set global validate_password_policy=LOW;
设置密码
SET PASSWORD = PASSWORD('root@1234');
查看user表的信息
use mysql;
select host,user from mysql.user;
允许所有ip访问mysql
update mysql.user set host = '%' where user = 'root';
刷新权限
flush privileges;
📕 linux 克隆虚拟机
-
关闭虚拟机,右键虚拟机->管理
-
克隆虚拟机向导
-
修改Mac地址
-
修改IP地址和UUID
生成uuid =>
uuidgen
vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改UUID 和 IPADDR添加
-
重启网络 :systemctl restart network
📕 搭建MySQL集群
-
主服务器my.cnf配置
vim /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 binlog-format=ROW server-id=15 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
-
创建一个用户仅授权可读供从服务器连接
create user 'rzleyou2'@'%' identified by 'root@1234'; // 创建普通用户,可以远程连接 grant select on *.* to 'rzleyou'@'%'; //授权所有库,只能查询操作
-
从服务器my.cnf设置
server-id=17 relay-log=mysql-relay-bin log-bin=mysql-bin binlog-format=ROW
-
从服务器设置账号连接主服务器
CHANGE MASTER TO MASTER_HOST='192.168.150.15', MASTER_USER='rzleyou', MASTER_PASSWORD='root@1234', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=320;
-
查看主从连接状态
SHOW SLAVE STATUS\G; // 下面都为yes 则代表集群搭建成功 Slave_IO_Running: Yes Slave_SQL_Running: Yes
-
Slave_IO_Running: NO 解决方案
chmod -R 777 /var/lib/mysql/auto.cnf //账号授权 vim /var/lib/mysql/auto.cnf // server-uuid 账号和克隆主服务器相同,需要修改 然后登录mysql stop slave; reset slave; start slave;
-
Slave_SQL_Running: NO 解决方案
mysql-> stop slave; mysql-> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; mysql-> start slave;