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=utf8collation-server=utf8_general_cilog-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. 此时连接成功

转载于:https://www.cnblogs.com/ljc-0923/p/10265317.html

Linux中的mysql.redis相关推荐

  1. linux mysql授权外部访问权限,Linux中安装Mysql授权远程访问

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

  2. Linux中的MySql数据库远程连接

    Linux中的MySql数据库远程连接 rpm–qa |grep mysql安装了以下的包: mysql-libs-5.1.71-1.el6.x86_64 mysql-connector-java-5 ...

  3. linux路由修改密码,Linux中修改Mysql root用户密码的方法

    Linux中修改Mysql root用户密码的方法 下面给大家分享下在Linux下如何修改Mysql的用户(root)的密码,分两种情况:第一种当拥有原来的mysql的root密码,第二种情况忘记原来 ...

  4. hive安装需要安装mysql区别_HIVE安装系列之一:在Linux中安装mysql,为其作为hive的metastore做准备...

    安装mysql的Linux机器是Centos6的系统,机器名字叫combanc05 mysql我采用的是5.5版本. 安装过程中需要解决新旧版的冲突问题,并允许mysql被远程访问.以便其作为hive ...

  5. Linux中,Mysql安装

    目录 ■账号密码 ■参照 tomcat 安装 ■安装包获取 ■Linux版本升级 ■安装mysql ■安装后,启动mysql ■数据库用户信息 ■Linux的root用户直接登录,其他用户 [ERRO ...

  6. linux中忘记mysql用户root密码解决方案

    linux中忘记mysql用户root密码解决方案 参考文章: (1)linux中忘记mysql用户root密码解决方案 (2)https://www.cnblogs.com/songbao/p/11 ...

  7. linux中查看mysql版本的方法汇总

    linux中查看mysql版本的方法 1 登陆mysql,在mysql的内部查看 命令:select version() 2 登陆mysql,在mysql的内部查看 命令:status 3 在终端下执 ...

  8. 在Linux中安装MySQL报错“error: Failed dependencies: mysql-community-libs(x86-32) >= 5.7.9 is needed by my“

    异常 在Linux中安装MySQL报错: 原因 因为缺少相关的依赖,所以要先安装这些依赖才能安装MySQL成功. 解决 (注意:这种方法是错误的,安装后并不能启动MySQL成功) 在每个安装指令后面添 ...

  9. linux环境安装mysql8.0以及使用Navicat连接Linux中的mysql

    目录 一.linux环境安装mysql 二.使用Navicat连接Linux中的mysql 一.linux环境安装mysql 1.官网下载mysql对应的包,我这下载的是8.0.28版本.官网链接:M ...

最新文章

  1. 项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦)...
  2. 有关数据结构基础知识(数据结构 严蔚敏版)
  3. mysql general clomun_关于MySQL索引index杂谈
  4. 有没有必要买python课_请问自学 Python 有必要买课程吗?
  5. 游侠怎么设置java路径_Java获取当前路径的代码
  6. js中普通函数与函数对象
  7. 建模算法(五)——图与网络
  8. 计算机4级学那些课程,计算机四级考试科目是什么
  9. 关于计算机的发展史手抄报图片,历史手抄报精选图片内容
  10. ipsec 加密流程(一):ipsec策略匹配
  11. 使用Flexible.js实现手机端网页内容适配(rem适配法)
  12. 腾讯云「轻量应用服务器」开放公测!
  13. Python 第几周和星期几
  14. 绿豆pro前端APP源码v5.1.7编译教程,后端配置全开源安装搭建全图文操作萝卜白菜app通用说明带视频教程_多啦咪
  15. FastDFS-6.06安装(Centos 7)
  16. 张小龙提到的敏捷管理是个啥?
  17. vue-chartjs
  18. 交换机链路聚合在网络中的作用
  19. extjs 引入html页面,Extjs嵌入html
  20. 繁荣的夜市经济,富裕一批创业者吗?

热门文章

  1. coolite TreePanel CheckBox联动
  2. Google昨天发布的新产品——Google Music
  3. The Elder HDU - 5956
  4. ionic移动开发流程api
  5. Python入门4_之字典的使用
  6. 大数据量高并发的数据库优化(转)
  7. Mac系统下安装PIL
  8. Android的图片缓存ImageCache(转)
  9. 对list字段属性的部分修改的application
  10. linux环境 phpstudy集成环境中设置php永久环境变量