From 36197403bb817cdd21d380d954b5b2305ffd1b89 Mon Sep 17 00:00:00 2001 From: diandian Date: Thu, 6 Jul 2023 17:40:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20'mysql=5Finstall'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mysql_install | 311 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 311 insertions(+) create mode 100644 mysql_install diff --git a/mysql_install b/mysql_install new file mode 100644 index 0000000..62b5027 --- /dev/null +++ b/mysql_install @@ -0,0 +1,311 @@ +##### 1.yum安装数据库 + +​ 下载mysql的yum仓库 + +```shell +[root@xingdian ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm +``` + +​ 安装mysql的yum仓库 + +```shell +[root@xingdian ~]# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm +``` + +​ 修改安装版本: + +```shell +方法一:命令方式 +[root@xingdian ~]# yum repolist all | grep mysql +[root@xingdian ~]# yum -y install yum-utils +[root@xingdian ~]# yum-config-manager --enable mysql57-community +[root@xingdian ~]# yum-config-manager --disable mysql80-community + +方法二:修改文件 +[root@xingdian ~]# vim /etc/yum.repos.d/mysql-community.repo +``` + +​ 安装mysql + +```shell +[root@xingdian ~]# yum -y install mysql mysql-server +``` + +​ 查看初始密码 + +```shell +[root@xingdian ~]# grep 'password' /var/log/mysqld.log +2019-07-13T15:14:31.176905Z 1 [Note] A temporary password is generated for root@localhost: k12zPB1r;2Ta +``` + +​ 修改密码 + +```shell +[root@xingdian ~]# mysqladmin -u root -p'k12zPB1r;2Ta' password 'QianFeng@123' +密码:大小写有特殊字符数字 +``` + +##### +#### 2.主从部署 + +​ 注意:实验之前环境初始化,不要有残留的数据 + +##### 环境准备 + +| 节点 | IP地址 | +| :----: | :--------: | +| Master | 10.0.0.128 | +| Slave | 10.0.0.42 | + +注意: + +​ 所有节点关闭防火墙和selinux + +​ 保证yum仓库可用 + +​ 保证网络畅通 + +​ 如果是克隆的服务器需要修改每台数据库的server-uuid + +修改主机名:(所有节点)(可选操作) + +```shell +[root@xingdian ~]# hostnamectl set-hostname master +[root@xingdian ~]# hostnamectl set-hostname slave +``` + +添加本地解析:(所有节点)(可选操作) + +```shell +[root@master ~]# cat /etc/hosts +127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 +::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 +10.0.0.128 master +10.0.0.42 slave + +[root@slave ~]# cat /etc/hosts +127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 +::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 +10.0.0.128 master +10.0.0.42 slave +``` + +##### Master部署 + +安装数据库:(略) + +启动数据库:(略) + +修改数据库初始密码:(略) + +主服务器部署: + +```shell +[root@master ~]# vim /etc/my.cnf +log-bin +server-id=1 +gtid_mode = ON +enforce_gtid_consistency=1 +``` + +创建授权用户: + +```shell +[root@master ~]# mysql -u root -pQianFeng@123 +mysql: [Warning] Using a password on the command line interface can be insecure. +Welcome to the MySQL monitor. Commands end with ; or \g. +Your MySQL connection id is 3 +Server version: 5.7.39 MySQL Community Server (GPL) + +Copyright (c) 2000, 2022, Oracle and/or its affiliates. + +Oracle is a registered trademark of Oracle Corporation and/or its +affiliates. Other names may be trademarks of their respective +owners. + +Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. + +mysql> grant all on *.* to slave@'%' identified by 'QianFeng@123'; +Query OK, 0 rows affected, 1 warning (0.00 sec) + +mysql> flush privileges; +Query OK, 0 rows affected (0.00 sec) + +mysql> exit +Bye +``` + +重启服务: + +```shell +[root@master ~]# systemctl restart mysqld +``` + +##### Slave部署 + +安装数据库:(略) + +启动数据库:(略) + +修改数据库初始密码:(略) + +从服务器部署: + +```shell +[root@slave ~]# vim /etc/my.cnf +log-bin +server-id=2 +gtid_mode = ON +enforce_gtid_consistency=1 +relay_log_recovery = on +master-info-repository=TABLE +relay-log-info-repository=TABLE +//这两个参数会将master.info和relay.info保存在表中,默认是Myisam引擎,官方建议用 +``` + +重启服务: + +```shell +[root@slave ~]# systemctl restart mysqld +``` + +配置连接主服务器: + +```shell +[root@slave ~]# mysql -u root -pQianFeng@123 +mysql: [Warning] Using a password on the command line interface can be insecure. +Welcome to the MySQL monitor. Commands end with ; or \g. +Your MySQL connection id is 2 +Server version: 5.7.39-log MySQL Community Server (GPL) + +Copyright (c) 2000, 2022, Oracle and/or its affiliates. + +Oracle is a registered trademark of Oracle Corporation and/or its +affiliates. Other names may be trademarks of their respective +owners. + +Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. + +mysql> change master to + -> master_host='master', + -> master_user='slave', + -> master_password='QianFeng@123', + -> master_auto_position=1; +Query OK, 0 rows affected, 2 warnings (0.00 sec) +``` + +启动Slave: + +```shell +mysql> start slave; +Query OK, 0 rows affected (0.00 sec) +``` + +主从状态验证: + +```shell +mysql> show slave status\G +*************************** 1. row *************************** + Slave_IO_State: Waiting for master to send event + Master_Host: master + Master_User: slave + Master_Port: 3306 + Connect_Retry: 60 + Master_Log_File: master-bin.000001 + Read_Master_Log_Pos: 154 + Relay_Log_File: slave-relay-bin.000002 + Relay_Log_Pos: 369 + Relay_Master_Log_File: master-bin.000001 + Slave_IO_Running: Yes + Slave_SQL_Running: Yes + Replicate_Do_DB: + Replicate_Ignore_DB: + Replicate_Do_Table: + Replicate_Ignore_Table: + Replicate_Wild_Do_Table: + Replicate_Wild_Ignore_Table: + Last_Errno: 0 + Last_Error: + Skip_Counter: 0 + Exec_Master_Log_Pos: 154 + Relay_Log_Space: 576 + Until_Condition: None + Until_Log_File: + Until_Log_Pos: 0 + Master_SSL_Allowed: No + Master_SSL_CA_File: + Master_SSL_CA_Path: + Master_SSL_Cert: + Master_SSL_Cipher: + Master_SSL_Key: + Seconds_Behind_Master: 0 +Master_SSL_Verify_Server_Cert: No + Last_IO_Errno: 0 + Last_IO_Error: + Last_SQL_Errno: 0 + Last_SQL_Error: + Replicate_Ignore_Server_Ids: + Master_Server_Id: 1 + Master_UUID: 00813e87-4321-11ed-a33c-000c29311164 + Master_Info_File: mysql.slave_master_info + SQL_Delay: 0 + SQL_Remaining_Delay: NULL + Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates + Master_Retry_Count: 86400 + Master_Bind: + Last_IO_Error_Timestamp: + Last_SQL_Error_Timestamp: + Master_SSL_Crl: + Master_SSL_Crlpath: + Retrieved_Gtid_Set: + Executed_Gtid_Set: + Auto_Position: 1 + Replicate_Rewrite_DB: + Channel_Name: + Master_TLS_Version: +1 row in set (0.00 sec) +``` + +数据验证: + +主服务器创建数据: + +```shell +[root@master ~]# mysql -u root -pQianFeng@123 +mysql: [Warning] Using a password on the command line interface can be insecure. +Welcome to the MySQL monitor. Commands end with ; or \g. +Your MySQL connection id is 3 +Server version: 5.7.39-log MySQL Community Server (GPL) + +Copyright (c) 2000, 2022, Oracle and/or its affiliates. + +Oracle is a registered trademark of Oracle Corporation and/or its +affiliates. Other names may be trademarks of their respective +owners. + +Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. + +mysql> create database qfcloud; +Query OK, 1 row affected (0.00 sec) + +mysql> exit +Bye +``` + +从服务器查验数据: + +```shell +mysql> show databases; ++--------------------+ +| Database | ++--------------------+ +| information_schema | +| mysql | +| performance_schema | +| qfcloud | +| sys | ++--------------------+ +5 rows in set (0.00 sec) +``` + +## \ No newline at end of file