CentOS 7 环境部署 MySQL 主从服务器, 根据 PHP 程序员的要求创建数据库与表.
实验要求
主: 192.168.43.229
从: 192.168.43.198
主 Master
开启时间同步
- # systemctl stop firewalld.service // 关闭防火墙
- # setenforce 0
- # vim /etc/ntp.conf
末尾添加: server 127.127.43.0 // 本地是时钟源 //
- fudge 127.127.43.0 stratum 8 // 设置时间层级为 8(限制在 15 内
- # systemctl start ntpd.service // 开启时间同步
从 Slave
开启时间同步
- # systemctl stop firewalld.service // 关闭防火墙
- # setenforce 0
- # systemctl start ntpd.service // 开启时间同步
- # /usr/sbin/ntpdate 192.168.43.229
安装 MySQL(主从都要)
- # tar zxvf mysql-5.5.24.tar.gz -C /opt/
- # yum install gcc gcc-c++ make cmake
- ncurses-devel bison libaio-devel
- # useradd -s /sbin/nologin mysql // 添加 mysql 用户并加入到 mysql 组
- # mkdir /usr/local/mysql
- # cd /opt/mysql-5.5.24.tar.gz
- cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
- -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
- -DDEFAULT_CHARSET=utf8
- -DDEFAULT_COLLATION=utf8_general_ci
- -DWITH_EXTRA_CHARSETS=all
- -DWITH_MYISAM_STORAGE_ENGINE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- -DWITH_MEMORY_STORAGE_ENGINE=1
- -DWITH_READLINE=1
- -DENABLED_LOCAL_INFILE=1
- -DMYSQL_DATADIR=/home/mysql
- -DMYSQL_USER=mysql
- -DMYSQL_TCP_PORT=3306
- # make && make install
- # chown -R mysql.mysql /usr/local/mysql
- # export PATH=$PATH:/usr/local/mysql/bin/ \* 开机时刷新 *\
或者可选择 vi /etc/profile 在最后一行加入后 运行 source /etc/profile
- # cp support-files/my-medium.cnf /etc/my.cnf
- # cp support-files/mysql.server /etc/init.d/mysqld
- # chmod 755 /etc/init.d/mysqld
- # chkconfig --add /etc/init.d/mysqld
- # chkconfig mysqld --level 35 on
初始化数据库
- # /usr/local/mysql/scripts/mysql_install_db \
- --user=mysql \
- --ldata=/var/lib/mysql \
- --basedir=/usr/local/mysql \
- --datadir=/home/mysql
- # ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock /* 直接建立软连接 */
- # vi /etc/init.d/mysqld
- basedir=/usr/local/mysql
- datadir=/home/mysql
- # service mysqld start
- # mysqladmin -u root password '123123' // 为 root 用户创建密码
主 Mater
- # vim /etc/my.cnf
- server-id = 11
- log-bin=master-bin // 主服务器日志文件 //
- log-slave-updates=true // 从服务器更新二进制日志 //
- # systemctl restart mysqld.service
- # mysql -u root -p
- GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.43.%' IDENTIFIED BY '123456';
- # FLUSH PRIVILEGES;
- # show master status;
从 Slave
- # vim /etc/my.cnf
- server-id = 22
- relay-log=relay-log-bin // 从主服务器上同步日志文件记录到本地 //
- relay-log-index=slave-relay-bin.index // 定义 relay-log 的位置和名称 //
- # systemctl restart mysqld.service
- # mysql -u root -p
- change master to master_host='192.168.43.229',master_user='myslave',master_password='123456',master_log_file='master-bin.000001',master_log_pos=338;
- # start slave;
- # show slave status\G; // 查看状态 //
主 Master
进入 MySQL
来源: http://www.linuxidc.com/Linux/2018-08/153482.htm