# linux mysql双主模式搭建

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/20438.html | 发布：2023-05-12 | 更新：2023-05-12 | 分类：建站教程

## 一、主节点安装

 

### 1、下载mysql安装包

 

将安装包务必解压到 /usr/local/mysql 目录

 

### 2、解压

 

构建组

 

useradd -r -g mysql mysql

 

建用户

 

useradd -r -g mysql mysql

 

赋权

 

chown -R mysql:mysql /usr/local/mysql/

 

### 3、****编辑配置文件 vim /etc/my.cnf****

 

*[mysqld]  
socket=/usr/local/mysql/tmp/mysql.sock  
datadir=/usr/local/mysql/data  
port=3306  
#skip-grant-tables #不授权模式  
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  
symbolic-links=0  
max_connections=600  
innodb_file_per_table=1  
lower_case_table_names=0  
character_set_server=utf8  
default-storage-engine=INNODB   
pid-file=/usr/local/mysql/mysql.pid  
log-error=/usr/local/mysql/tmp/error.log ##文件需要手动构建,并赋权Chmod -r 777  
user=mysql  
   
##############################主从同步配置开始#################  
#设置server-id，集群中不可重复  
server-id=1  
max_allowed_packet=100M  
log-bin = mysql-bin #开启mysql的binlog日志功能  
sync_binlog = 1 #控制数据库的binlog刷到磁盘上去 , 0 不控制，性能最好，1每次事物提交都会刷到日志文件中，性能最差，最安全  
binlog_format = mixed #binlog日志格式，mysql默认采用statement，建议使用mixed  
expire_logs_days = 7 #binlog过期清理时间  
max_binlog_size = 100m #binlog每个日志文件大小  
binlog_cache_size = 4m #binlog缓存大小  
max_binlog_cache_size= 512m #最大binlog缓存大  
binlog-ignore-db=mysql #不生成日志文件的数据库，多个忽略数据库可以用逗号拼接，或者 复制这句话，写多行  
max_allowed_packet=100M  
relay-log = mysql-relay-bin  
binlog-ignore-db=mysql,test,information_schema ##不同步mysql库下的所有表  
##binlog-do-db = game ##只同步那个库  
##############################主从同步配置结束#################  
   
[mysqld_safe]  
   
[client]  
socket=/usr/local/mysql/tmp/mysql.sock*

 

### 4、初始化

 

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

 

初始化完成后，记住最后面的密码

 

### 5、启动服务

 

/usr/local/mysql/support-files/mysql.server start

 

### 6、设置登录用户

 

bin目录下执行

 

./mysql -u root -p

 

输入临时密码后，进入mysql命令行

 

##设置root密码  
set password=password("123456");  
或者  
alter user user() identified by "123456";  
   
##授予权限  
grant all privileges on *.* to 'root'@'%' identified by '123456';  
   
##刷新  
flush privileges;  
   
   
##新增用户  
CREATE USER 'ambari'@'%' IDENTIFIED BY '123456';  
##授予权限  
grant all privileges on *.* to 'root'@'%' identified by '123456';  
   
##刷新  
flush privileges;

 

### 7、mysql开机自启动

 

先将/usr/local/mysql/mysql/support-files/ 文件夹下的mysql.server文件复制到 /etc/rc.d/init.d/ 目录下mysqld

 

命令:   
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld  
   
赋予可执行权限：  
chmod +x /etc/init.d/mysqld  
   
添加为服务:   
chkconfig --add mysqld  
   
查看服务列表:   
chkconfig --list

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
