环境介绍:html
archlinux-2015-11-15版本mysql
mariadblinux
navicatsql
具体步骤:数据库
1.编辑my.cnf,本环境的路径为/etc/mysql/my.cnfvim
---ps 建议安装vim,使用起来方便舒服缓存
找到mysqld组下面,安全
这个是master ,主库服务器
另外二进制的路径文件须要建立一下,并赋予权限并发
#mkdir -p /data/binlogs
#chown -R mysql:mysql /data/binlogs
2.一样须要修改从库的配置文件
3.进入主库
建立能够复制的用户权限给从库
进入从库,连接到主库
表示数据库已经连上。
# /usr/share/mysql/my-huge.cnf
# MariaDB 配置文件 示例模板(huge,巨型).
#
# 本文件适用于专用数据库服务器, 内存为 1G-2G
# 机器上主要只运行 MariaDB的大型系统 ,
#
# MariaDB 程序会根据运行的操做系统平台查找一系列的配置文件,
# 你能够将此模板配置文件拷贝到对应的位置(并重命名),
# 要查看有哪些配置文件会被读取到,执行:
# 'my_print_defaults --help' 并查看
# Default options are read from the following files in the given order:
# (--> 程序会依次读取列出的配置文件.) 这部分下面列出的文件(路径)列表.
# 更多信息请参考: http://dev.mysql.com/doc/mysql/en/option-files.html
#
# 在本文件的各个小节中,你可使用该程序支持的全部选项.
# 若是想要了解程序是否支持某个参数,
# 可使用 "--help" 选项来启动该程序,查看帮助信息.
# 下面一小节的配置选项由本地的全部 MySQL 客户端读取,做为默认配置
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# 下面的各个小节,由各类应用程序来读取解析
# MySQL server 配置信息
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# 并发线程数,建议为CPU核心数乘以2: CPU's*2 for thread_concurrency
thread_concurrency = 8
# 能够指定一个专用磁盘的路径来做为临时目录,例如 SSD
#tmpdir = /tmp/
# 配置此参数则不启动 TCP/IP 端口 监听.
# 若是全部的处理程序都只在同一台机器上链接 mysqld, 这是一个很安全的作法,
# 全部同 mysqld 的交互只能经过Unix sockets 或命名管道(named pipes)完成.
# 注意,使用此选项而没有开启Windows上的命名管道(named pipes),
# (经过 "enable-named-pipe" 配置项) 将会致使 mysqld 不可用!
#skip-networking
# 主服务器配置选项 Replication Master Server (default)
# 在主从复制时,须要依赖二进制日志
log-bin=mysql-bin
# 在整个主从复制集群中要求是 1 到 2^32 - 1 之间的惟一ID, 不然或者失败,或者大量出错日志信息.
# 若是没有设置 master-host,则默认值是 1
# 但若是省略了,则(master)不生效
server-id = 1
# 从服务器配置选项 Replication Slave (须要将 master 部分注释掉,才能使用这部分)
#
# 要将服务器配置为从属服务器(replication slave),
# 有以下两种方案可供选择 :
#
# 1) 经过 CHANGE MASTER TO 命令 (在用户手册中有详细的描述) -
# 语法以下:
#
# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
# 你能够将 <host>, <user>, <password> 替换为单引号括起来的字符串,
# 将 <port> 替换为 master 的端口号 (默认是 3306).
#
# 一个示例以下所示:
#
# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
# MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# 或者:
#
# 2) 设置下面的参数. 然而, 一旦你选择了这种方式,
# 首次启动主从复制时 (即使启动复制失败, 如错误的 master-password 密码,
# 致使 slave 链接不上等), slave 将会建立一个名为 master.info 的文件,
# 若是之后再修改本配置文件(xxx.cnf)中下面的这些参数, 则将被忽略,
# 并继续使用 master.info 文件的内容,
# 除非关闭 slave 服务器, 而后删除文件 master.info 并从新启动 slaver server.
# 出于这个缘由, 你应该不系统修改下面的相关参数参数(带 <> 的注释部分),
# 而是使用 CHANGE MASTER TO (上面的方案1)
#
#
# 在整个主从复制集群中要求是 2 到 2^32 - 1 之间的惟一ID,
# 不然或者失败,或者大量出错日志信息.
# 若是设置了 master-host,则默认值是 2
# 但若是省略了,则不会成为 slave
#server-id = 2
#
# 此slave 须要链接的 master. - required
#master-host = <hostname>
#
# slave链接到 master 认证时须要的 username
# - 用户名是必须的(也能够在链接时指定)
#master-user = <username>
#
# slave链接到 master 认证时须要的 password
# - 密码是必须的(也能够在链接时指定)
#master-password = <password>
#
# master 监听的端口号
# 可选 - 默认是 3306
#master-port = <port>
#
# 开启二进制日志, 对于slave从服务器不是必须的,但推荐开启
#log-bin=mysql-bin
#
# 二进制日志格式 —— 推荐 mixed
#binlog_format=mixed
# 若是只使用 InnoDB 表, 请取消下列选项的注释
#innodb_data_home_dir = /var/lib/mysql
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql
# 若是只使用 InnoDB,能够设置 .._buffer_pool_size 为物理内存的 50 - 80 %
# 谨防内存使用设置得过高
#innodb_buffer_pool_size = 384M
# 附加缓存池大小
#innodb_additional_mem_pool_size = 20M
# 设置 .._log_file_size 为 buffer pool size 的 25 % 左右
#innodb_log_file_size = 100M
# 日志缓存的大小,不要设置太大,1秒钟刷新一次
#innodb_log_buffer_size = 8M
# 默认1,事务提交就刷新日志到硬盘;
# 设为2,刷新到操做系统缓存,但性能提升不少,设为 0 则可能丢事务.
#innodb_flush_log_at_trx_commit = 1
# 表死锁的超时释放时间,单位秒
#innodb_lock_wait_timeout = 50
[mysqldump]
# 快速导出到输出流/硬盘,不在内存中缓存
quick
# 最大数据包限制
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# 若是对 SQL不熟悉,能够将下面的注释符去掉,拒绝无where的不安全操做.
#safe-updates
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout