安装mysql5.7单机

1.获取安装yum包

[root@iZm5e7sz135n16ua2rmbk6Z local]# wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

你可以下载到你的本地,然后上传到linux某目录下

2.安装软件源,在其目录下输入

[root@iZm5e7sz135n16ua2rmbk6Z local]# rpm -Uvh mysql57-community-release-el7-11.noarch.rpm 

3.安装mysql服务端

[root@iZm5e7sz135n16ua2rmbk6Z local]# yum install -y mysql-community-server

4.启动mysql

[root@iZm5e7sz135n16ua2rmbk6Z local]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service

5.查看mysql运行状态

[root@iZm5e7sz135n16ua2rmbk6Z local]# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2019-11-24 14:45:59 CST; 20s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 14787 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 14667 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 14791 (mysqld)
CGroup: /system.slice/mysqld.service
└─14791 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid Nov 24 14:45:55 iZm5e7sz135n16ua2rmbk6Z systemd[1]: Starting MySQL Server...
Nov 24 14:45:59 iZm5e7sz135n16ua2rmbk6Z systemd[1]: Started MySQL Server.

6.初始化密码

[root@iZm5e7sz135n16ua2rmbk6Z local]# grep 'temporary password' /var/log/mysqld.log
2019-11-24T06:45:56.831037Z 1 [Note] A temporary password is generated for root@localhost: -cTy=VNwI7!H
[root@iZm5e7sz135n16ua2rmbk6Z local]#

每个人都不一样,别复制我的。输入mysql -uroot -p,然后输入你的密码进入

[root@iZm5e7sz135n16ua2rmbk6Z local]# mysql -uroot -p
Enter password: -cTy=VNwI7!H
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.28 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. 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>
mysql> alter user 'root'@'localhost' identified by '%liX9-k<Gwa1';//由于5.7有策略限制,我们先随便改一个复杂的密码。
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'validate_password%';//查看密码策略
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.00 sec) mysql>
mysql> set global validate_password_policy=LOW;//修改限制策略
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=1;//修改密码长度
Query OK, 0 rows affected (0.00 sec)
mysql> alter user 'root'@'localhost' identified by '';//修改一个简单的密码(练习方便,实际不建议这样做)
Query OK, 0 rows affected (0.00 sec)
mysql> update mysql.user set host = '%' where user = 'root';//允许远程访问DB
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> FLUSH PRIVILEGES;//刷新权限
Query OK, 0 rows affected (0.00 sec)

到这里就可以了,反正我是按照上面的代码复制粘贴完全可以成功,不知道你们可以吗?

mysql的主从配置

  这里我给大家搭建一个简单的主从(从)配置,就是说一个主节点对应一个从节点,那个从节点下还有一个从节点.

1.准备三台服务器,分别安装一下mysql,按照上面的按照就可以的.

2.编辑master配置文件

[root@iZm5eitsswnra4j66dzb9nZ ~]# vim /etc/my.cnf
log-bin=/usr/local/mysql/data/binlog/mysql_bin #打开Mysql日志,日志格式为二进制 mysq_bin结尾是固定的别改,前面是路径
server-id=1 #[必须]服务器唯一ID,默认是1
sync-binlog=1 #每次执行写入就与硬盘同步
binlog-do-db=xiaocaijishu #需要同步的二进制数据库名
expire-logs-days=7 #只保留7天的二进制日志,以防磁盘被日志占满
binlog-ignore-db=information_schema #不备份的数据库
binlog-ignore-db=performation_schema #不备份的数据库
binlog-ignore-db=sys #不备份的数据库

  重启mysql-master,可能会启动失败,是由于mysql的binlog的用户组不对,再来改一下用户组,以我们的/usr/local/mysql/data/binlog为例

[root@iZbp1hvg9qhaf4c75o2k58Z binlog]# chown -R mysql /usr/local/mysql/data/binlog/
[root@iZbp1hvg9qhaf4c75o2k58Z binlog]# chgrp -R mysql /usr/local/mysql/data/binlog/

3.设置一个同步账号

mysql> CREATE USER 'xiaocaijishu'@'47.105.%.%' IDENTIFIED BY ''; // 设置账号xiaocaijishu用于47.105等IP地址的mysql同步,你可以直接写%全匹配
Query OK, 0 rows affected (0.00 sec) mysql> grant replication slave,replication client on *.* to xiaocaijishu@'47.105.%.%' identified by 'root';//赋予权限
Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> FLUSH PRIVILEGES; //刷新权限
Query OK, 0 rows affected (0.00 sec)

4.设置slave节点配置文件

server-id=2 #[必须]服务器唯一ID,默认是1
relay_log = /usr/local/mysql/data/binlog/mysql_relay_bin # 开启中继日志
read_only = 1 #设置只读权限
log_bin=/usr/local/mysql/data/binlog/mysql_bin # 开启binlog,如果没有下级节点无须开启。
log_slave_updates = 1 #使得更新的数据写进二进制日志中
replicate-rewrite-db = xiaocaijishu -> xiaocai # 从主节点的xiaocaijishu库写入到从节点的xiaocai库
# replicate-wild-do-table 指定需要同步的表。

5.查找主节点日志

mysql>  show master status;
+------------------+----------+--------------+--------------------------------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+--------------------------------------------+-------------------+
| mysql_bin.000001 | 1349 | xiaocaijishu | information_schema,performation_schema,sys | |
+------------------+----------+--------------+--------------------------------------------+-------------------+
1 row in set (0.00 sec)

6.创建主从连接

  首先我们进入进入mysql客户端,然后输入

mysql> change master to master_host='121.41.60.188',master_user='xiaocaijishu',master_password='',master_log_file='mysql_bin.000001',master_log_pos=1349;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

意思是master_host=“我们的主节点IP”,master_user=“刚才创建的主节点用户”,master_password=“账户密码”,master_log_file=“需要从哪个二进制binlog复制”,master_log_pos=“对应主节点的Position”

如遇报错请先输入

mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)

然后输入start slave开启线程

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

输入SHOW SLAVE STATUS\G检查线程是否创建成功

如果看到上面的那个Yes,就说明主从搭建完成了,如果下面还有搭建从节点,开启binlog,和上面一个道理。

如果遇到

Last_Errno: 1051                    
Last_Error: Error 'Unknown table 'xiaocai.student'' on query. Default database: 'xiaocai'. Query: 'DROP TABLE `student` /* generated by server */'

 可以尝试下面的解决方式来处理。

mysql> stop slave;
Query OK, 0 rows affected (0.01 sec)
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
Query OK, 0 rows affected (0.00 sec)
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

java架构之路(Sharding JDBC)mysql5.7yum安装和主从的更多相关文章

  1. java架构之路-(Redis专题)Redis的主从、哨兵和集群

    我们使用的redis,单机的绝对做不到高可用的,万一单机的redis宕机了,就没有备用的了,我们可以采用集群的方式来保证我们的高可用操作. 主从架构 大致就是这样的,一个主节点,两个从节点(一般两个就 ...

  2. [转帖]java架构之路-(面试篇)JVM虚拟机面试大全

    java架构之路-(面试篇)JVM虚拟机面试大全 https://www.cnblogs.com/cxiaocai/p/11634918.html   下文连接比较多啊,都是我过整理的博客,很多答案都 ...

  3. java架构之路-(Redis专题)redis面试助力满分+

    1.Redis支持的数据类型? 答:五种,在第一节redis相关的博客我就说过,String,Hash,List,Set,zSet,也就是我们的字符串,哈希,列表,集合,有序集合五种.结构图如下. 2 ...

  4. java架构之路-(微服务专题)初步认识微服务与nacos初步搭建

    历史演变: 以前我们都是一个war包,包含了很多很多的代码,反正我开始工作的时候做的就是这样的项目,一个金融系统,代码具体多少行记不清楚了,内部功能超多,但是实际能用到的不多,代码冗余超大,每次部署大 ...

  5. java架构之路-(源码)mybatis基本使用

    我们今天先来简单了解一下我们持久层框架,mybatis的使用.而且现在的注解成为趋势,我主要说一下注解方向的使用吧(配置文件也会说) 从使用角度只要是三个部分,mybatis-config.xml,m ...

  6. java架构之路-(Redis专题)SpringBoot连接Redis超简单

    上次我们搭建了Redis的主从架构,哨兵架构以及我们的集群架构,但是我们一直还未投入到实战中去,这次我们用jedis和springboot两种方式来操作一下我们的redis 主从架构 如何配置我上次已 ...

  7. java架构之路-(Redis专题)聊聊大厂那些redis

    上几次说了redis的主从,哨兵,集群配置,但是内部的选举一直没说,先来简单说一下选举吧. 集群选举 redis cluster节点间采取gossip协议进行通信,也就是说,在每一个节点间,无论主节点 ...

  8. java架构之路-(nginx使用详解)nginx的反向代理和优化配置

    书接上回说,nginx我们学会了简单的配置.那么我今天来聊一下,我们ngxin的一些优化配置(我不是很懂,不敢谈高级配置).我先来看一下nginx的好处和正向代理. nginx的好处 1.可以高并发连 ...

  9. java架构之路-(11)JVM的对象和堆

    上次博客,我们说了jvm运行时的内存模型,堆,栈,程序计数器,元空间和本地方法栈.我们主要说了堆和栈,栈的流程大致也说了一遍,同时我们知道堆是用来存对象的,分别年轻代和老年代.但是具体的堆是怎么来存放 ...

随机推荐

  1. 我在知识星球上创建了免费的Web3D学习的星球~

    大家好,我是YYC. 我在知识星球创建了一个免费的星球-"YYC的Web 3D旅程",欢迎大家加入- 本星球完全免费,致力于打造专业的Web 3D技术学习区,分享各种3D技术和信息 ...

  2. MySql 5.7.28 安装注意事项

    刚好最近用到了5.7,所以顺便整理记录一下,5.7与5.6的区别是5.7不可以使用空密码直接登录 下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mys ...

  3. [从今天开始修炼数据结构]队列、循环队列、PriorityQueue的原理及实现

    [从今天开始修炼数据结构]基本概念 [从今天开始修炼数据结构]线性表及其实现以及实现有Itertor的ArrayList和LinkedList [从今天开始修炼数据结构]栈.斐波那契数列.逆波兰四则运 ...

  4. 弹性盒子中的order

    order order 属性 设置或检索弹性盒模型对象的子元素出现的順序.. 注意:如果元素不是弹性盒对象的元素,则 order 属性不起作用. <!DOCTYPE html> <h ...

  5. Java工作流引擎jflow对流程的结束大总结

    关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明  工作流设计 工作流快速开发平台   业务流程管理   bpm工作流系统  java工 ...

  6. onTouchEvent中,跟随手指滑动的view出现抖动

    在这次实践中,它抖动得不正常,太不正常,太抖. 其实是我代码上出现了问题,记录一下. 我是怎么设置滑动的呢? 通过改变view的margin. 然而我在onTouchEvent中怎么控制它滑动的大小呢 ...

  7. Maven——向Maven本地仓库中手动添加依赖包(ps:ojdbc.jar)

    maven中央仓库中并非包含所有现有的依赖包和插件,部分依赖包和插件需要手动地进行添加(如ojdbc.jar) 一.添加JDK系统环境变量(maven是基于Java的,可参考:https://www. ...

  8. Docker设置镜像加速

    一.为什么要设置镜像加速 由于docker的镜像源地址再国外,例如官方地址:https://hub.docker.com/search?q=hyperledger&type=image:因此下 ...

  9. nginx和swoole怎么混合使用

    有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的.感谢阅读! 点此加入该群​jq.qq.com 基于epoll的Nginx 有了epoll,理论上1个进程就可以 ...

  10. 一文带你深入了解JVM性能调优以及对JVM调优的全面总结

    目录 JVM调优 概念 基本垃圾回收算法 垃圾回收面临的问题 分代垃圾回收详述1 分代垃圾回收详述2 典型配置举例1 典型配置举例2 新一代的垃圾回收算法 调优方法 反思 一.JVM调优的一些概念 数 ...