CentOS7.6中mysql实践
cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
使用:yum -y install mysql mysql-server 安装好mysql后 ,启动不了mysql
- [root@localhost ~]# systemctl start mysql.service
- 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实践的更多相关文章
- Mysql事务探索及其在Django中的实践(二)
继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...
- 05-雷海林-mysql备份原理与在TDSQL中的实践
05-雷海林-mysql备份原理与在TDSQL中的实践 下载地址: http://files.cnblogs.com/files/MYSQLZOUQI/05-%E9%9B%B7%E6%B5%B7%E6 ...
- 在 Docker 的 CentOS7 镜像 中安装 mysql
在 Docker 的 CentOS7 镜像 中安装 mysql 本来以为是个很简单的过程居然折腾了这么久,之前部署云服务器时也没有好好地记录,因此记录下. 特别提醒:本文的操作环境是在 Docker ...
- 在 CentOS7 上部署 MySQL 主从
在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...
- CentOS7下安装MySQL并配置远程连接
一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
- centos7+rsyslog+loganalyzer+mysql 搭建rsyslog日志服务器
一.简介 在centos7系统中,默认的日志系统是rsyslog,它是一类unix系统上使用的开源工具,用于在ip网络中转发日志信息,rsyslog采用模块化设计,是syslog的替代品. 1.rsy ...
- 远程连接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 ...
- Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践
Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践 Spring Boot + Nginx + Mysql 是实际工作中 ...
随机推荐
- 【简洁易懂】CF372C Watching Fireworks is Fun dp + 单调队列优化 dp优化 ACM codeforces
题目大意 一条街道有$n$个区域. 从左到右编号为$1$到$n$. 相邻区域之间的距离为$1$. 在节日期间,有$m$次烟花要燃放. 第$i$次烟花燃放区域为$a_i$ ,幸福属性为$b_i$,时间为 ...
- java学习-NIO(一)简介
I/O简介 在 Java 编程中,直到最近一直使用 流 的方式完成 I/O.所有 I/O 都被视为单个的字节的移动,通过一个称为 Stream 的对象一次移动一个字节.流 I/O 用于与外部世界接触. ...
- 关于JSON解析的问题(js序列化及反序列化)
我们都知道,现在的开发模式都是前后端分离的,后台返回数据给前端,前端负责数据交互并渲染到页面,所以我们需要从后端接口上获取数据显示到页面上.在接受服务器端数据数据时,一般是字符串.这时,就需要用到JS ...
- 自己动手实现MQTT协议
写在前面 前段时间弄IoT相关的东西,系统学习了一下 MQTT 协议,在此分享出来. 本文先是对 MQTT 协议做了简单的介绍:接着是对 MQTT协议的内容做了较为全面的解读:最后使用 Python ...
- cs231n---强化学习
介绍了基于价值函数和基于策略梯度的两种强化学习框架,并介绍了四种强化学习算法:Q-learning,DQN,REINFORCE,Actot-Critic 1 强化学习问题建模 上图中,智能体agent ...
- EVE-NG入门篇
目录 一.EVE-NG配置要求 二.EVE-NG 安装 三.基于OVA的安装步骤 四.导入设备介绍 五.启动设备 六.与secure CRT关联 七.常见问题 一.EVE-NG配置要求 1.最低配置 ...
- 积性函数&线性筛&欧拉函数&莫比乌斯函数&因数个数&约数个数和
只会搬运YL巨巨的博客 积性函数 定义 积性函数:对于任意互质的整数a和b有性质f(ab)=f(a)f(b)的数论函数. 完全积性函数:对于任意整数a和b有性质f(ab)=f(a)f(b)的数论函数 ...
- 合并多个jar包,并通过私服依赖
背景:许多jar包在maven仓库中没有,项目如果添加了许多的本地jar包,别人拿到代码也无法编译 需求:将本地jar包上传至私服并设置依赖,如果jar包较多,但都从属于同一功能,需要合并为一个jar ...
- java 路径问题
java路径存在两种写法"/"和"\\" String path="D:\\1.txt"; String path1="D:/1. ...
- 使用okHttp登录、Md5密码加密
1.使用okHttp3登录 2.Md5密码加密 3.完整代码 4.项目案例 使用okHttp3登录: 使用okHttp3之前要在build.gradle引入okHttp3的依赖(顺便引入解析数据的gs ...