zoukankan      html  css  js  c++  java
  • Linux 安装mysql,mariadb,mysql主从同步

     myariadb安装

    centos7  mariadb的学习
    在企业里面,多半不会使用阿里云的mariadb版本,因为版本太低,安全性太低,公司会配置myariadb官方的yum仓库 
    		1.手动创建mariadb的仓库文件
    			touch Mariadb.repo
    		2.写入配置信息
    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.1/centos7-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    		3.尝试安装最新版本mariadb
    			yum install mariadb-server mariadb
    	
    	5.使用mysql,启动
    	systemctl start mariadb 
    	
    	6.初始化数据库
    	mysql_secure_installation
    	
    	7.配置数据库的中文支持
    		1.修改mysql的配置文件,支持中文编码
    		
    		cat /etc/my.cnf  和我一致就行 
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    log-error=/var/log/mysqld.log
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    symbolic-links=0
    
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    		2.在服务器上,修改了配置文件,都要重启数据库服务
    		systemctl restart mariadb 
    		
    		3.在utf8编码下,配置mariadb
    			show create table stu;
    			show create database s16;
    			
    	8.在远程用 mysql客户端去连接服务端,方式有哪些
    		1.navicat
    		2.cmd  
    			mysql  -uroot -p  -h 192.168.15.53
    		3. pycharm 
    		4.pymysql  python
    		5.orm  django
    		
    	9.配置mysql支持远程连接的sql语句
    		授权mariadb远程连接
    		#授予root用户对所有的库表所有的权限,在所有的机器上操作,皆可登录
    		grant all privileges on *.* to root@'%' identified by 'centos';
    	
    		刷新授权表:
    		flush privileges;
    
    	10.数据库备份操作
    		mysqldump -u root -p --all-databases > /tmp/db.dump
    		数据导入,方式有2种
    		1.mysql -uroot -p  <  /tmp/db.dump 
    		2.进入mysql命令行,输入source /tmp/db.dump 
    		
    

    mysql主从同步技术

    	1.环境准备,准备2台机器,一个master 一个slave 
    		192.168.15.53  主库 
    		192.168.15.94  从库
    		
    	2.配置主库的环境
    		1.修改主库的配置文件,开启binlog功能
    			vim /etc/my.cnf
    			[mysqld]
    			server-id=1
    			log-bin=s16-mysql-bin
    
    		2.重启数据库
    		systemctl restart mariadb
    	3.创建用于数据同步的账号
    	create user 'zhanghao'@'%' identified by 'mima';
    	
    	4.授予这个账号,一个slave的身份标识
    	grant replication slave on *.* to 'zhanghao'@'%';
    	
    	5.锁表
    	flush table with read lock;
    	
    	6.数据库信息导出
    	mysqldump -uroot -p   --all-databases > /opt/db.dump  
    	
    	
    	
    在mariadb从库的操作
    	1.阿里云的源,和官方源,同一安装软件包名如下 
    	yum install mariadb-server mariadb -y  
    	
    	
    	2.配置从库的配置文件,开启server-id 
    	vim /etc/my.cnf 
    		写入如下操作
    		[mysqld]
    		server-id=3
    		read-only=true
    
    		character-set-server=utf8
    		collation-server=utf8_general_ci
    		log-error=/var/log/mysqld.log
    	3.重启数据库
    	systemctl restart mariadb 
    
    	主库中cd /opt/
    	传输 db.dump 到从库服务器 
    	scp db.dump root@192.168.158.132:/opt/ 或者软件传
    	导入/opt 中的db.dump
    	mysql -uroot -p < /opt/db.dump
    	重启mariadb
    	systemctl restart mariadb
    
    
    
    	4.在从库,通过一条命令,开启主从同步
    	change master to master_host='192.168.15.56',
    	master_user='zhanghao',
    	master_password='mima',
    	master_log_file='s16-mysql-bin.000001',
    	master_log_pos=622;
    	
    	5.开启slave同步
    	start slave ;
    	
    	6.检查主从同步状态
    	show slave statusG 
    	当你检查这2条参数,yes的时候,主从ok
    	
    	Slave_IO_Running: Yes
    	Slave_SQL_Running: Yes
    
    	
    此时解锁主库!!
    此时解锁主库!!
    此时解锁主库!!
    
    unlock tables;
    	
    验证主从同步是否正常 
  • 相关阅读:
    大型网站架构
    Swift 2.x 升为 swift 3后语法不兼容问题适配
    Redis开发
    你必须知道的Dockerfile
    JAVA知识点汇总
    JAVA知识点汇总
    nginx location配置详细解释
    python3 urllib.request.Request的用法
    拉勾网python开发要求爬虫
    爬虫工程师是干什么的?你真的知道了吗?
  • 原文地址:https://www.cnblogs.com/niuli1987/p/10398013.html
Copyright © 2011-2022 走看看