cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

使用:yum -y install mysql mysql-server 安装好mysql后 ,启动不了mysql

  1. [root@localhost ~]# systemctl start mysql.service
  2. Failed to start mysql.service: Unit mysql.service not found.

mysql 在CentOS7 上

了解到MariaDB代替了mysql数据库,MariaDB是数据库管理系统Mysql的一个分支,主要由开源社区在维护,GPL授权许可。

甲骨文收购Mysql之后,有将其闭源的风险,社区采用分支的方式来避开这个风险。

yum -y install mariadb-server //安装mariadb 数据库服务;

systemctl start mariadb.service  //启动服务

systemctl enable mariadb.service //开机启动服务

mysql -uroot  -p //登录mysql

安装好mariadb之后, 默认密码为空的,

给mysql数据库root账户设置密码:

mysqladmin -u root password 123456

设置好登录密码之后,再查看centos7 的mysql服务的端口是否正常

netstat -ntlup |grep 3306

查看防火墙状态:

systemctl status firewalld.service

开启服务端口:允许访问

firewall-cmd --zone=public --add-port=3306/tcp --permanent

[root@VPN ~]# firewall-cmd --reload
success

开放好端口之后,就通过tcping进行测试端口是否正常可以访问

>>> 重启防火墙
firewall-cmd --reload

常用命令介绍
firewall-cmd --state                           ##查看防火墙状态,是否是running
firewall-cmd --reload                          ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp               ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent     ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
iptables -L -n                                 ##查看规则,这个命令是和iptables的相同的
man firewall-cmd                               ##查看帮助
---------------------

刚开始未允许除本机ip之外的ip连接mysql数据库服务,需要进行下权限设置。

我们需要配置任何主机都可以连接的话,可以使用一下命令:

MariaDB [test]>grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

MariaDB [test]> flush privileges;

设置任何主机连接不需要密码:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;
flush privileges;

创建数据表,create table.

create table info(id int(30)NOT NULL,name varchar(30) NOT NULL,sex varchar(30) NOT NULL,maill VARCHAR(255) NOT NULL,primary key(id));

show tables;

mysql的数据库文件存放目录:

cd /var/lib/mysql 这个目录存放mysql数据库的文件

在从数据库服务器上创建数据库:

create database DB1;

show databases;

主从数据同步的方式很多,主要有以下这几种:

master数据还原到slave上,

备份成一个.sql文件,或者备份成压缩文件,或者通过脚本进行备份。

mysqldump -hlocalhost -uroot -p Dbname > Dbname.sql
mysqldump -hlocalhost -uroot -p DB1 > DB1.sql

执行时,通过gzip命令进行压缩:

mysqldump -hlocalhost -uroot -p DB1 |gzip >DB1.sql.gz

可以将表中数据清空,再导入备份进行测试下.

通过语句删除数据库中的所有数据:

delete from dbo.info

2.通过mysqldump命令进行还原mysql的数据。

mysql -hlocalhost -uroot -p DB1 < DB1.sql

还原数据库文件到数据库中:

mysql -hlocalhost -uroot -p DB1 < DB1.sql (还原使用的是mysql),备份使用的是mysqldump;

还原后再进行查询数据库,

use DB1;

select * from info1;

我们继续清空数据,然后使用压缩的格式进行还原;

继续使用压缩的进行还原;

[root@VPN ~]# gunzip < DB1.sql.gz |mysql -uroot -p DB1

还原后再进行查询info1 表,看看数据是否正常。

将master的数据拷贝给slave 然后在slave上进行还原数据库DB1中的表即可。

mysql -hlocalhost -uroot -p DB1 < DB1.sql

mysql主从的配置步骤如下:

在mysql主上,登录到mysql主服务器,然后编辑mysql的配置文件,my.cnf

vim  /etc/my.cnf

#设置服务器ID,为1的表示为主服务器,如果服务器没有以下配置,添加,如果有就跳过。

server-id=1

#启动MySQ二进制日志系统

log-bin=mysql-binlog

#需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-do-db=DB1
#不同步mysql系统数据库
binlog-ignore-db=mysql

放在mysqld 下面

配置好主mysql服务器的配置文件后,修改my.cnf ,然后重启mysql服务

systemctl restart mariadb.service

然后再通过show master status; 查看数据库主机的配置文件状态。

接下来配置从服务器的设置:

my.cnf配置如下:

server-id=2
log_bin=mysql-bin
binlog-do-db=DB1
binlog-ignore-db=mysql

以下为从服务器上的操作。

slave stop # 关闭slave之后再进行配置

MariaDB [DB1]> change master to master_host='192.168.48.250',master_user='root',master_password='123456',master_log_file='mysql-binlog.000005',master_log_pos=245;

里面填写的信息是是在主服务器上执行show master status;的信息;

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

grant replication slave on *.* to 'root'@'192.168.48.251' identified by '123456';

设置好主从后,在从服务器上,使用命令:show slave status 进行查看从的状态。

然后在主上面,向表中插入一条数据,在从上面进行验证数据是否从主数据库同步到从上面了?进行验证。

insert into info1 (id,name,sex,mail) values('2','xiaolong','boy','xiaolong@abc.com');

CentOS7.6中mysql实践的更多相关文章

  1. Mysql事务探索及其在Django中的实践(二)

    继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...

  2. 05-雷海林-mysql备份原理与在TDSQL中的实践

    05-雷海林-mysql备份原理与在TDSQL中的实践 下载地址: http://files.cnblogs.com/files/MYSQLZOUQI/05-%E9%9B%B7%E6%B5%B7%E6 ...

  3. 在 Docker 的 CentOS7 镜像 中安装 mysql

    在 Docker 的 CentOS7 镜像 中安装 mysql 本来以为是个很简单的过程居然折腾了这么久,之前部署云服务器时也没有好好地记录,因此记录下. 特别提醒:本文的操作环境是在 Docker ...

  4. 在 CentOS7 上部署 MySQL 主从

    在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...

  5. CentOS7下安装MySQL并配置远程连接

    一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...

  6. CentOS7.4安装MySQL踩坑记录

    CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...

  7. centos7+rsyslog+loganalyzer+mysql 搭建rsyslog日志服务器

    一.简介 在centos7系统中,默认的日志系统是rsyslog,它是一类unix系统上使用的开源工具,用于在ip网络中转发日志信息,rsyslog采用模块化设计,是syslog的替代品. 1.rsy ...

  8. 远程连接centos7 上的mysql报(ERROR 2003 (HY000): Can't connect to MySQL server on '168.x.x.x' (10060) )

    1.MySQL端口 因为上一篇文章我就已经给MySQL新建了一新用户,且赋予了远程连接数据库的所有权限(GRANT ALL PRIVILEGES ON *.* TO 'newuser' @ '%' I ...

  9. Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践 Spring Boot + Nginx + Mysql 是实际工作中 ...

随机推荐

  1. SQL和NoSQL的区别

    一.概念 SQL (Structured Query Language) 数据库,指关系型数据库.主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源). No ...

  2. 6、高级的数组的复制(test4.java)

    这里指的高级,并不是过么高大上,而是说我们可以调用系统函数,直接对数组进行复制,并且这个函数的强大并不止局限于,对数组的复制,而且可以对数组进行截取,在指定位置插入或删除某个元素. 本篇只介绍数组的复 ...

  3. gRPC的简单使用

    目录 前言 gRPC的简单介绍 基本用法 服务的定义 服务端代码编写 客户端代码编写 运行效果 服务治理(注册与发现) .NET Core 2.x 和 .NET Core 3.0的细微区别 扩展阅读 ...

  4. Go中的异常处理

    1. errors包 Go 有一个预先定义的 error 接口类型 : type error interface { Error() string } 错误值用来表示异常状态.Go也提供了一个包:er ...

  5. hadoop学习(一)----概念和整体架构

    程序员就得不停地学习啊,故步自封不能满足公司的业务发展啊!所以我们要有搞事情的精神.都说现在是大数据的时代,可以我们这些码农还在java的业务世界里面转悠呢.好不容易碰到一个可能会用到大数据技术的场景 ...

  6. bio,nio,aio学习

    http://qindongliang.iteye.com/blog/2018539 1 同步 指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪 自己上街买衣服,自己亲自干这件事,别的 ...

  7. 使用sar进行性能分析

    sar可用于监控Linux系统性能,帮助我们分析性能瓶颈.sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数. ...

  8. VS调试时修改代码

    最近碰到一个问题,就是vs在调试模式下无法修改代码之后再继续,这种严重影响工作效率的问题怎么能忍,所以决心把这个坑填满.网上搜了大堆有头无尾有尾无头的答案,我一个一个试了几乎都没啥用.最后通过不断的测 ...

  9. 60701BMP彩色图像转化为灰度及二值图像

    1 概述 多媒体技术是一门综合了多种学科的新技术,其涉及到计算机科学与技术.通信和网络技术.人工智能技术.微电子技术.数字信号处理.图形处 理技术.声像技术等诸多学科.许多新技术的不断出现和体验,带给 ...

  10. 上传文件时 重新载入页面以获取源代码 http://*/upload.php

    今天做一个处理上传文件的接口时碰到这样一个问题, 用的是element-ui的上传组件,但是上传失败, 抓包一看返回的是 重新载入页面以获取源代码 http://*/upload.php 网上搜了一下 ...