1,Linux上的mysql

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

2,安装mariadb,在centos7底下

  1. 第一种在阿里云的yum源去下载,(可能版本低,且软件不全,可能找不到)

    • yum install mariadb-serve
  2. 第二种是,通过mariadb官方的yum源去下载(一定是在这个软件最正确的yum源,且包都是最新的)
    • yum install MariaDB-server MariaDB-client
  3. 下载mariadb,通过阿里云的源
    • yum install Mariadb-server
  4. 通过yum安装的软件
    • systemctl start/stop/restart/status mariadb
    • 启动mariadb数据库
    • systemctl start mariadb
  5. 初识化mariadb
    • mysql_secure_installation   # 直接输入这个命令,设置root密码,删除匿名用户
  6. 配置myariadb远程登录,可以通过Windows,pycharm等客户端进行连接,在远程登录的话就必须输入刚才设置的root密码
    • grant all privileges on *.* to root@'%' identified by "0923";
    • 授权所有的权限在所有的库,所有的表用户@"所有的地址" identify by"密码";
  7. 刷新授权表,使得权限立即生效
    • flush privilege;
  8. 更改mysql密码
    • set password = PASSWORD("0923")
  9. 创建普通用户xuexue
    • create user xuexue@'%'identify by "0923"
  10. 查询用户信息
    • select host,user,password from user
  11. 授权信息表
    • grant 权限 on 数据库.表名 to 账户@主机名            对特定数据库中的特定表授权
    • grant 权限 on 数据库.* to 账户@主机名              对特定数据库中的所有表给与授权
    • grant 权限1,权限2,权限3 on *.* to 账户@主机名      对所有库中的所有表给与多个授权
    • grant all privileges on *.* to 账户@主机名      对所有库和所有表授权所有权限
    • grant create,select,insert on *.* to root@'%' identified by "密码"
  12. 数据库的中文设置
    1. 查看数据库的编码

      • \s
    2. 修改mysql的配置文件/etc/my.conf, 加入以下信息
    3. [mysqld]
      character-set-server=utf8
      collation-server=utf8_general_ci
      log-error=/var/log/mysqld.log
      [client]
      default-character-set=utf8
      [mysql]
      default-character-set=utf8
    4. 修改配置文件,重启服务
      • systemctl restart mariadb
    5. 查看数据库创建编码,只有在更新了数据库编码之后,创建的数据库,才会使用这个编码
      • show create restart xueren
    6. 可以测试创建 table,写入中文数据
  13. mysql的数据备份
    1. 通过命令导出全部数据

      • mysqldump -uroot -p --all-databases > /data/db.dump
    2. 导入数据库的db文件,在mysql命令行中输入这个命令
      1. source /opt/db.dump  # 这一步是输入的sql语句,在mysql中输入,导入数据
    3. 第二种方式导入数据,通过mysql命令
      • mysql -uroot -p < /opt/db.dump

3,主从复制

主库的操作

  1. 开启binlog功能,修改/etc/my.cnf

    • vim /etc/my.cnf
    • [mysqld]
    • server-id=1  3 指明主库的身份id为1
    • log-bin=mysqlsxuexue-bin
  2. 修改配置文件,重启mariadb,使得binlog生效
    • systemctl restart mariadb
  3. 登录mysql,检查主库 的状态
    • show master status;
  4. 创建一个用户,用于进行主从同步
    • create user "xuexue"@'%'identified by "xuexue0923";
  5. 授予账号权限,授予一个从库的身份权限
    • grant replication slave on *.* to"xuexue"@'%';
  6. 锁定mysql表,防止数据写入
    • flush table with read lock
  7. 主从同步,将从库与主库的数据保持一致后,然后解除锁表,一同写入,保证数据的一致性
    • 导出当前的数据用于slave机器导入数据,保证数据的一致性

      • mysqldump -uroot -p --all-databases > /data/db.dump
    • 将此db.dump文件远程传输给slave机器,用于导入
      • scp/data/db.dump root@从库的ip地址(列如:192.168.12.87:/tmp/)
    • 登录slave从库,导入主库的数据信息
      • source /tmp/db.dump(从库的数据库操作)
  8. 查看主库的状态信息,binlog信息
    • show master status;
  9. 解锁表,等待从库的配置
    • unlock tables;

从库的设置:

  1. 在etc/my.cnf当中打开server-id设置一个和主库不一样的值

    • vim /etc/my.cnf
  2. 重启myariadb
    • systemctl restart mariadb
  3. 查看slave的身份信息
    • show variables like 'server_id';
    • show variables like 'log_bin';
  4. 通过命令,开启主从同步技术
    • change master to master_host=从机ip('192.168.12.96'),
      master_user='xuexue',
      master_password='xuexue0923',
      master_log_file='mysqlxuexue-bin.000001',
      master_log_pos=231;
  5. 开启slave
    • start slave
  6. 检查slave状态,检查两条参数,都是yes,主从ok
    • show slave status\G;
    • Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
  7. 此时连接成功

Linux中的mysql.redis的更多相关文章

  1. Linux中python3,django,redis以及mariab的安装

    1. Linux中python3,django,redis以及mariab的安装 2. CentOS下编译安装python3 编译安装python3.6的步骤 1.下载python3源码包 wget ...

  2. Mysql篇--Linux中安装Mysql

    一.前述 由于Windows安装Mysql非常麻烦,所以分享一篇Linux中对MySQL的搭建,废话不多说,来,come on. 二.步骤 2.1 yum安装 yum install mysql-se ...

  3. windows与linux中的mysql配置主从

    最近在给学生讲解数据库的主从配置,由于学生电脑里面装的虚拟机是linux的,但是本机的系统是windows的,所以需要用windows中的mysql与linux中的mysql进行主从配置.下面说一下主 ...

  4. Linux中安装MySQL

    因为使用yum安装.安装过程需保证网络通畅 一.安装mysql 1.yum安装mysqlCentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源 ...

  5. 通过window(Navicat)访问linux中的mysql数据库

    Centos安装Mysql数据库 查看我们的操作系统上是否已经安装了mysql数据库 [root@centos~]# rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已 ...

  6. Linux中的MySQL授权远程连接

    Linux中 MySQL 授权远程连接 参考地址:https://www.centos.bz/2018/10/linux%e4%b8%ad-mysql-%e6%8e%88%e6%9d%83%e8%bf ...

  7. linux中进入mysql时报错Access denied for user 'root'@'localhost' (using password: YES)解决方案

    之前在linux中装完mysql后直接在命令行窗口输入mysql就会进入数据库了,但是今天输入mysql命令后直接报错,如下图: 之后输入:mysql -uroot -p 提示输入密码:***** 还 ...

  8. LINUX中备份mysql数据库

    1.在LINUX中创建备份目录 如:/home/backup   2.把sh脚本放到备份目录下   脚本如下 https://wws.lanzous.com/i1oCxlccapa密码:dter   ...

  9. linux中安装JDK linux中安装Tomcat linux中安装Mysql 及故障解析 linux系统安装redis

    Linux 安装JDK 配置完环境变量后无法使用 java -version 无法打开 通过下面语句 将32位文件与当前系统64位兼容 (有待补充32位查法)sudo yum install glib ...

随机推荐

  1. perl学习之:package and module

    perl的包(package)和模块(PM) ==================================包package===========================     pac ...

  2. iframe的操作switch_to_frame使用方法.

    一.frame和iframe区别 Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性. frame是整个页面的框架,iframe是内嵌的网页元素,也可以说 ...

  3. 如何用scanf读入一个string

    #include <stdio.h> #include <string> using namespace std; int main() { string a; a.resiz ...

  4. Java学习笔记(1)-(GridBagLayout)网格袋布局

    学习JAVA-布局管理的时候,在书上看到了这么一段话:GridBagLayout的功能非常强大,使用是也比较复杂,考虑到一般的读者很少会使用到这种管理,这里不做介绍.然书本就跳过了,为什么功能强大却很 ...

  5. NIUDAY 11.23 北京站抢票啦 | 看 AI 落地行业 享 AI 时代红利

    2018 年是见证「奇迹」的一年.AI 从多年的热门话题中开始走下神坛,逐渐深入到了各个行业,加速经济结构优化及行业智慧化升级,AI 已不再是难以企及的神话而是可触摸的美好未来. 政策支持加上资本推动 ...

  6. POJ 1386 单词接龙问题

    题目大意: 给一堆字母,让它们进行接龙,要头对尾能够接的上,问有没有一种方法让所有成语都完成接龙 这道题实际上是在考虑是否存在一条欧拉通路,每个单词产生一条有向线段,由第一个字母指向最后一个字母 这道 ...

  7. MS SQLServer Update语法和实例

    最常用的update语法是: 1 2 UPDATE TABLE_NAME SET column_name1 = VALUE WHRER column_name2 = VALUE 如果我的更新值Valu ...

  8. [USACO08OPEN]牛的车Cow Cars

    题目描述 N (1 <= N <= 50,000) cows conveniently numbered 1..N are driving in separate cars along a ...

  9. C++动态特性和C++对象模型——《高质量程序设计12章》

    1.动态特性 静态特性和动态特性,编译时和运行时 虚函数 (1)虚函数的叫覆盖,虚函数不是实现多态的唯一手段(其他语言也可能采用别的方法). 抽象基类: (1)如果将基类的虚函数声明为纯虚函数,则基类 ...

  10. MySQL性能优化的21个最佳实践 和 mysql使用索引【转载】

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数 ...