单台服务器搭建主从 mysql

  • 一台服务器启动两个mysql实例并且配置主从

测试机器版本: Linux VM-61-120-ubuntu 4.4.0-130-generic #156-Ubuntu SMP Thu Jun 14 08:53:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

一、安装 mysql

自己装…

二、修改配置文件

1. 查询MySQL的默认安装目录

  • ubuntu MySQL配置文件

ubuntu 下 mysql 安装布局

/usr/bin                  客户端程序和mysql_install_db
/var/lib/mysql            数据库和日志文件
/var/run/mysqld           服务器
/etc/mysql                配置文件my.cnf
/usr/share/mysql          字符集,基准程序和错误消息
/etc/init.d/mysql         启动mysql服务器
  • 查看是否使用了指定目录的 my.cnf: ps aux|grep mysql|grep 'my.cnf'
  • 查看mysql默认读取 my.cnf 的目录: mysql --help|grep 'my.cnf'

2. 建立数据存储目录

sudo mkdir /mnt/data/{
     mysql-3306,mysql-3307} -pv
sudo chown -R mysql:mysql /mnt/data

3. 修改 my.cnf 配置文件

  • sudo vim /etc/mysql/my3306.cnf
    [mysql-cli]
    default-character-set=utf8
    
    [mysqld]
    skip-name-resolve
    max_connections=1000
    character-set-server=utf8
    default-storage-engine=INNODB
    lower_case_table_name=1
    max_allowed_packet=512M
             
    datadir = /mnt/data/mysql-3306
    port = 3388
    server_id = 1
    socket = /var/lib/mysql/mysql-3306.sock
    log-bin=mysql-bin
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
  • sudo vim /etc/mysql/my3307.cnf
    [mysql-cli]
    default-character-set=utf8
    
    [mysqld]
    skip-name-resolve
    max_connections=1000
    character-set-server=utf8
    default-storage-engine=INNODB
    lower_case_table_name=1
    max_allowed_packet=512M
             
    datadir = /mnt/data/mysql-3307
    port = 3307
    server_id = 2
    socket = /var/lib/mysql/mysql-3307.sock
    log-bin=mysql-bin
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    

三、建库并启动

1. 建库并赋权限

sudo mysql_install_db --datadir=/mnt/data/mysql-3306 --user=mysql
sudo chmod -R 777 /mnt/data/mysql-3306 

sudo mysql_install_db --datadir=/mnt/data/mysql-3307 --user=mysql
sudo chmod -R 777 /mnt/data/mysql-3307 

FAQ:

  • [ERROR] Can't locate the server executable (mysqld).

  • Can’t locate the server executable (mysqld)

2. 启动并查看

  • 启动端口为 3306 的 MySQL 数据库
    service mysql start
    
  • 启动端口为 3307 的 MySQL 数据库
    /usr/bin/mysqld_safe --defaults-file=/etc/my3307.cnf &
    

检查端口: ss -tnl

Recv-Q Send-Q                        Local Address:Port                                         Peer Address:Port 
0      128                                 :::3306                                                  :::*   
0      128                                 :::3307 

四、配置主从服务

你可能感兴趣的:(数据库)