Mysql5.7.6+ 安装手册

linux server版本
 
2. 检查库文件是否存在,如有删除
    检查:rpm -qa | grep mysql
    删除: rpm -e mysql-libs-5.1.52.x86_64 --nodeps
3. 检查mysql组和用户是否存在,如无创建
   检查: cat /etc/group | grep mysql
              cat /etc/passwd | grep mysql
   创建: groupadd mysql
               useradd -r -g mysql mysql  //useradd -r参数表示mysql用户是系统用户,不可用于登录系统
4. 解压包,更改所属的组和用户(安装路径:/usr/local/mysql)
    $ tar -xzvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz 
    $ mv mysql-5.7.12-linux-glibc2.5-x86_64 mysql 
    $ chown -R mysql:mysql mysql/
    $ cd  /usr/local/mysql/support-files/
    $  vim /etc/my.cnf
      ---------------------------------------my.cnf 模板---------------------------------------------
[client]
default-character-set=utf8mb4
port    = 3306
socket  = /usr/local/mysqld/mysqld.sock #用于本地连接的socket套接字
[mysql]
#这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。
no-auto-rehash
[mysqld]
#user = mysql
port = 3306
basedir=/usr/local/mysql/      #使用该目录作为根目录(安装目录)
datadir=/usr/local/mysql/data/ #数据文件存放的目录
tmpdir = /usr/local/mysqld/tmp/ #MySQL存放临时文件的目录    
socket =/usr/local/mysqld/mysqld.sock     #为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
explicit_defaults_for_timestamp=true  #明确时间戳默认null方式
character_set_server=utf8mb4  #服务端默认编码(数据库级别)
collation_server =utf8mb4_bin #服务端默认的比对规则,排序规则
default-storage-engine = InnoDB #默认存储引擎
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-warnings = 1 #将警告打印输出到错误 log 文件
[mysqld_safe]
pid-file = /usr/local/mysqld/mysqld.pid
socket = /usr/local/mysqld/mysqld.sock
slow_query_log = 1 #开启慢查询
long-query-time = 10 #漫查询阀值
log_long_format #在慢速日志中记录更多的信息
slow_query_log_file =  /usr/local/mysqld/log/slow_sql.log #慢查询路径
general_log = 0  #将所有到达MySQL Server的SQL语句记录下来,默认关闭
general_log_file = /usr/local/mysqld/log/mysql_sql.log
log-error   = /usr/local/mysqld/log/mysqld.err #错误日志路径
 
4.创建my.cnf 配置的路径文件或文件夹并授权
     $ mkdir 文件夹
     $ chown -R mysql:mysql  *
     $ chmod 755 *
5.将mysqld服务加入开机自启动项
    $ cp mysql.server /etc/init.d/mysqld
    $ chmod +x /etc/init.d/mysqld
    $ chkconfig --add mysqld
    $ chkconfig --list mysqld
6.安装和初始化数据库记录初始密码
   $ bin/mysqld  --initialize   --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7.数据库启动/停止/重启
   $ service mysqld start
   $ service mysqld stop
   $ service mysqld restart
8.初始化密码
  $ bin/mysql -u root -p 初始密码
   mysql>set password=password("root");
   mysql> use mysql;
   mysql> update user set authentication_string=password('新密码') where user='用户';
9.修改密码添加远程访问权限
   mysql> grant all privileges on *.* to'root' @'%' identified by 'root';
   mysql> flush privileges;
   mysql> quit;
9.关闭防火墙
  $ systemctl disable firewalld.service
 
window server 版本安装
 
版本: mysql-5.7.22-winx64.zip 
解压路径: D:\Program Files\mysql-5.7.22-winx64
配置环境变量
解压路径下新建my.ini 文件
[client]
default-character-set=utf8
[mysqld]
# 端口
port=3306
# 设置mysql的安装目录
basedir=D:\Program Files\mysql-5.7.22-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\mysql-5.7.22-winx64\data
# 允许最大连接数  
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集  
character-set-server=utf8
# 创建新表时将使用的默认存储引擎  
default-storage-engine=INNODB
系统管理员启动cmd
mysqld --initialize
mysqld -install
net start mysql
第一次登录
net stop mysql
mysqld --defaults-file="D:\Program Files\mysql-5.7.22-winx64\my.ini" --console --skip-grant-tables
设置密码
mysql>use mysql;
mysql>update user set authentication_string=password(“root“) where user=”root”;
mysql>flush privileges;
客服端连接重新登陆
mysql>set password=password('root');

设置用户
#查看用户权限
mysql>select user,host from mysql.user;
mysql>show grants for'username'@'host';
#创建用户
mysql>create user 'username'@'host' identified by 'password';
#授予用户权限
mysql>grant privileges on databasename.tablename to 'username'@'host';
mysql>grant privileges on databasename.tablename to 'username'@'host' with grant option;
privileges:用户的操作权限,如select,insert,update等,如果要授予所的权限则使用all。
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
with grant option 用户有授权权限。
#设置修改密码
mysql>set password for 'username'@'host' = password('newpassword');
mysql>set password = password("newpassword");
#撤销用户权限
mysql>revoke privilege on databasename.tablename from 'username'@'host';
mysql>update mysql.user set host='192.168.16.%' where user='username' and host='host';
#删除用户
mysql>drop user 'username'@'host';
#生效用户权限
mysql>flush privileges;

Mysql5.7.6+ 主从配置手册


master数据库 /etc/my.cnf 配置
[client]
default-character-set=utf8mb4
port    = 3306
socket  = /usr/local/mysqld/mysqld.sock #用于本地连接的socket套接字
[mysql]
#这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。
no-auto-rehash
[mysqld]
#user = mysql
port = 3306
basedir=/usr/local/mysql/      #使用该目录作为根目录(安装目录)
datadir=/usr/local/mysql/data/ #数据文件存放的目录
tmpdir = /usr/local/mysqld/tmp/ #MySQL存放临时文件的目录    
socket =/usr/local/mysqld/mysqld.sock     #为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
explicit_defaults_for_timestamp=true  #明确时间戳默认null方式
character_set_server=utf8mb4  #服务端默认编码(数据库级别)
collation_server =utf8mb4_bin #服务端默认的比对规则,排序规则
default-storage-engine = InnoDB #默认存储引擎
server-id=1 #设置server-id
log-bin=mysql-bin #开启二进制日志
binlog_format=mixed #复制模式
# 不同步哪些数据库  
binlog-ignore-db = mysql  
binlog-ignore-db = test  
binlog-ignore-db = information_schema  
# 只同步哪些数据库,除此之外,其他不同步  
binlog-do-db = game
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-warnings = 1 #将警告打印输出到错误 log 文件
[mysqld_safe]
pid-file = /usr/local/mysqld/mysqld.pid
socket = /usr/local/mysqld/mysqld.sock
slow_query_log = 1 #开启慢查询
long-query-time = 10 #漫查询阀值
log_long_format #在慢速日志中记录更多的信息
slow_query_log_file =  /usr/local/mysqld/log/slow_sql.log #慢查询路径
general_log = 0  #将所有到达MySQL Server的SQL语句记录下来,默认关闭
general_log_file = /usr/local/mysqld/log/mysql_sql.log
log-error   = /usr/local/mysqld/log/mysqld.err #错误日志路径
 
slave 数据库 /etc/my.cnf 配置
[client]
default-character-set=utf8mb4
port    = 3306
socket  = /usr/local/mysqld/mysqld.sock #用于本地连接的socket套接字
[mysql]
#这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。
no-auto-rehash
[mysqld]
#user = mysql
port = 3306
basedir=/usr/local/mysql/      #使用该目录作为根目录(安装目录)
datadir=/usr/local/mysql/data/ #数据文件存放的目录
tmpdir = /usr/local/mysqld/tmp/ #MySQL存放临时文件的目录    
socket =/usr/local/mysqld/mysqld.sock     #为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
explicit_defaults_for_timestamp=true  #明确时间戳默认null方式
character_set_server=utf8mb4  #服务端默认编码(数据库级别)
collation_server =utf8mb4_bin #服务端默认的比对规则,排序规则
default-storage-engine = InnoDB #默认存储引擎
server-id=2 #设置server-id
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-warnings = 1 #将警告打印输出到错误 log 文件
[mysqld_safe]
pid-file = /usr/local/mysqld/mysqld.pid
socket = /usr/local/mysqld/mysqld.sock
slow_query_log = 1 #开启慢查询
long-query-time = 10 #漫查询阀值
log_long_format #在慢速日志中记录更多的信息
slow_query_log_file =  /usr/local/mysqld/log/slow_sql.log #慢查询路径
general_log = 0  #将所有到达MySQL Server的SQL语句记录下来,默认关闭
general_log_file = /usr/local/mysqld/log/mysql_sql.log
log-error   = /usr/local/mysqld/log/mysqld.err #错误日志路径

master 创建授权用户
 mysql>CREATE USER 'prdrepl'@'192.168.16.%' IDENTIFIED BY 'root';
 mysql> use mysql;
 mysql> update user set authentication_string=password('reduser') where user='reduser';
用户赋予 REPLICATION SLAVE 权限
 mysql>GRANT REPLICATION SLAVE ON *.* TO 'prdrepl'@'192.168.16.%';
 mysql> flush privileges;
查看用户
mysql>select user,host from mysql.user;
查看 master 状态
mysql>show master status;
//这里的 mysql-bin.000001和 Position 值 slave 配置时需要用到。

手动同步master数据
  •  master 中现有的数据信息导出
mysqldump -u root -p --all-databases --master-data > all.sql
//命令失败 设置软连接
find / -name mysql -print
ln -fs /usr/local/mysql/bin/mysqldump /usr/bin
ln -fs /usr/local/mysql/bin/mysql /usr/bin
  • 将 all.sql 发送到 slave 服务器 tmp 目录下
scp all.sql root@192.168.16.14:/tmp
  • slave 导入 master 数据
mysql>stop slave
mysql -uroot -p < all.sql

使 slave 与 master 建立连接
mysql> change master to
        -> master_host='192.168.16.16',
        -> master_user='prdrepl',
        -> master_password='prdrepl',
       -> master_port=3306,
        -> master_log_file='mysql-bin.000001',
       -> master_log_pos=623;
启动备份
mysql>start slave;
查看备份是否启动成功
mysql>show slave status \G
 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes

设置只读属性
mysql>set global read_only=1 //1只读,0读写
mysql>show global variables like "%read_only%";
mysql>flush tables with read lock;// 设定全局锁 备份失效
mysql>unlock tables; //解锁全局锁 
 
 
 
 
 
 
 

Mysql5.7.6安装和主从配置手册的更多相关文章

  1. DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置

    DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置 一.DNS简介 1.DNS    DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库 ...

  2. Redis安装、主从配置及两种高可用集群搭建

    Redis安装.主从配置及两种高可用集群搭建 一.            准备 Kali Linux虚拟机 三台:192.168.154.129.192.168.154.130.192.168.154 ...

  3. docker安装mysql5.6镜像并进行主从配置

    docker安装mysql镜像并进行主从配置 1.去DaoCloud官网(dockerhub可能因为网速问题下载的慢)查找需要的mysql版本镜像 docker pull daocloud.io/li ...

  4. Redis 安装,主从配置及Sentinel配置自动Failover

    1.安装redis 首页地址:http://redis.io/ 下载地址:http://download.redis.io/ 下载最新的源码包 tar -zxvf redis-stable.tar.g ...

  5. Redis安装及主从配置(转)

    一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...

  6. Redis安装及主从配置

    一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...

  7. MySQL安装及主从配置

    系统环境:CentOS release 6.5 (Final)(最小化安装) MySQL版本:mysql-5.6.12 Cmake版本:cmake-2.8.4 说明:安装mysql先安装cmake(原 ...

  8. Mysql安装与主从配置

    安装MySql 操作系统:Windows Server 2008 R2 Standard MySql版本:mysql-5.7.17-winx64 第一步:解压mysql-5.7.17-winx64.z ...

  9. Ubuntu16.10下mysql5.7的安装及远程访问配置

    如何安装mysql 1.sudo apt-get update,如果很慢或者失败,需要在软件和更新中选择最佳服务器,勾选所有互联网下载选项及去掉其他软件所有勾选项 2.sudo apt-get upg ...

随机推荐

  1. 使用gradle上传项目到jcenter

    想不想把自己的库也上传到jcenter,然后只需要一名话 compile com.zzb.library:android-common:0.1.0 //(compile group_id:artifa ...

  2. 嵌入式linux环境搭建

    花了两天时间,终于搭建好了板子上的linux驱动开发环境,不容易呀,做个笔记. 首先搭建PC上的编译环境,因为编译的驱动是在板子上运行的,第一步当然需要安装交叉编译器,即arm-none-linux- ...

  3. 我的笔记文档版本控制系统-MediaWiki-回到顶部/链接放大/升级

    为了练习自己的JS.CSS基本功,这些天和MediaWiki干上了!^_^ 下面是我的MediaWiki新添加的功能: 回到顶部 链接放大 MediaWiki升级 回到顶部 回到顶部是很多网站的基本功 ...

  4. iOS开发,在main thread以外的thread更新UI

    如果需要在异步任务(Async Task)中更新UI,若直接设置UI,会导致程序崩溃. 例如,在异步block中去更改UI: NSOperationQueue *queue=[[NSOperation ...

  5. HDU 5980 Find Small A (水题)

    题意:众所周知,字符 'a' 的ASCII码为97.现在,找出给定数组中出现了多少次 'a' .注意,此处的数字为计算机中的32位整数.这表示, 1个数字由四个字符组成(一个字符由8位二进制数组成). ...

  6. asp.net 防止二次提交 以及UseSubmitBehavior属性-转

    页面上有一个按钮,点击之后提交表单,如果什么都不管的话,用户可以在服务器响应完成之前再次点击,这样就出现了二次提交,后果可大可小. 那么我们应该防止二次点击,就要在用户点第一次之后马上Disable这 ...

  7. scrapy-redis源码解读之发送POST请求

    1 引言 这段时间在研究美团爬虫,用的是scrapy-redis分布式爬虫框架,奈何scrapy-redis与scrapy框架不同,默认只发送GET请求,换句话说,不能直接发送POST请求,而美团的数 ...

  8. 2017-10-19 NOIP模拟赛

    Count(哈格朗日插值) 题解: 有个定理,另sum(x)表示小于等于x的数中与x互质的数的和 sum(x)=φ(x)*x/2    最后可知f(x)=x  (f(1)=2)  当然打表能知道. 然 ...

  9. Gradle用户使用指南

    转载请事先沟通,未经允许,谢绝转载. 1. 新工具介绍(Introduction) 能够复用代码和资源能够构建几种不同版本参数的应用能够配置.扩展.自定义构建过程1.1 为什么选择Gradle(Why ...

  10. Groovy xlsx

    如果在JMeter安装的“bin”文件夹下有Excel(xlsx)文件,则test.xlsx可以使用以下方法动态填充请求参数: 将tika-app.jar添加到JMeter Classpath 重新启 ...