下載地址https://dev.mysql.com/downloads/mysql/mysql
tar -zvxf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719 mv mysql5719 /mysql chown -R mysql:mysql /mysql/mysql5719
master節點配置,進入到/mysql/mysql5719目錄下面,建立文件my.cnf,文件內容以下linux
[mysqld] datadir=/mysql/mysql5719/data socket=/mysql/mysql5719/data/mysql.sock tmpdir = /tmp user=mysql basedir = /mysql/mysql5719 log-bin = master-bin log-bin-index = master-bin.index server-id = 1 # Disabling symbolic-links is recommended to prevent assorted security risks #symbolic-links=0 #key_buffer = 16M key_buffer_size = 32M max_allowed_packet = 16M thread_stack = 128K thread_cache_size = 64 query_cache_limit = 8M query_cache_size = 64M query_cache_type = 1 # Important: see Distributing the Databases and Setting max_connections max_connections = 3000 binlog_format=mixed log_bin_trust_function_creators = 1 ## @!!@ lower_case_table_names = 1 #default-storage-engine=InnoDB #character_set_client=utf8 #default-collation=utf8_unicode_ci character-set-server=utf8 collation-server=utf8_unicode_ci read_buffer_size = 2M read_rnd_buffer_size = 16M sort_buffer_size = 8M join_buffer_size = 8M lower_case_table_names = 1 # InnoDB settings innodb_data_home_dir=/mysql/mysql5719/data innodb_file_per_table = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 64M innodb_buffer_pool_size = 2G innodb_thread_concurrency = 8 innodb_flush_method = O_DIRECT innodb_log_file_size = 512M #skip-grant-tables #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
slave節點配置,進入到/mysql/mysql5719目錄下面,建立文件my.cnf,文件內容以下sql
[mysqld] datadir=/mysql/mysql5719/data socket=/mysql/mysql5719/data/mysql.sock user=mysql port = 3306 basedir =/mysql/mysql5719 tmpdir =/tmp relay-log = slave-relay-bin relay-log-index = slave-relay-bin.index server-id = 2 # Disabling symbolic-links is recommended to prevent assorted security risks #symbolic-links=0 #key_buffer = 16M key_buffer_size = 32M max_allowed_packet = 16M thread_stack = 128K thread_cache_size = 64 query_cache_limit = 8M query_cache_size = 64M query_cache_type = 1 # Important: see Distributing the Databases and Setting max_connections max_connections = 3000 binlog_format=mixed log_bin_trust_function_creators = 1 ## @!!@ lower_case_table_names = 1 #default-storage-engine=InnoDB #character_set_client=utf8 #default-collation=utf8_unicode_ci character-set-server=utf8 collation-server=utf8_unicode_ci read_buffer_size = 2M read_rnd_buffer_size = 16M sort_buffer_size = 8M join_buffer_size = 8M lower_case_table_names = 1 # InnoDB settings innodb_data_home_dir=/mysql/mysql5719/data innodb_file_per_table = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 64M innodb_buffer_pool_size = 2G innodb_thread_concurrency = 8 innodb_flush_method = O_DIRECT innodb_log_file_size = 512M #skip-grant-tables #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
mkdir /mysql/mysql5719/data
數據庫
./bin/mysqld --defaults-file=./my.cnf --initialize
上圖紅框裏面就是root的初始密碼服務器
ln -s /mysql/mysql5721/data/mysql.sock /tmp/mysql.sock
socket
set password for root@localhost = password('Zaq1@wsx');
測試
cp mysql.server /etc/init.d/mysqld chmod 755 /etc/init.d/mysqld
若是出現下面的報錯
緣由:MySQL默認的日誌:/var/log/mysqld.log被佔用了,刪除便可。
3d
mv /usr/bin/mysql /usr/bin/mysql.bak #刪除備份舊的mysql命令,若不存在可忽略 cp mysql /usr/bin/ chmod 755 /usr/bin/mysql
到此爲止,master機器的安裝配置完成,接下來安裝slave機器,slave機器的安裝和master相似,但請注意my.cnf配置不同日誌
GRANT REPLICATION SLAVE ON *.* TO 'rep_user'@'%' IDENTIFIED BY 'Qwer1@#$';
查看主服務器,出現如下相似信息
mysql> show master status;
code
mysql -u root -p #進入MySQL控制檯 stop slave; #中止slave同步進程 change master to master_host='134.176.72.82',master_user='rep_user',master_password='Qwer1@#$',master_log_file='master-bin.000002' ,master_log_pos=837; #執行同步語句 start slave; #開啓slave同步進程 SHOW SLAVE STATUS\G #查看slave同步信息,出現如下內容
注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上這兩個參數的值爲Yes,即說明配置成功!
(1)進入MySQL主服務器
mysql -u root -p #進入主服務器MySQL控制檯 mysql> create database test; mysql> use test; #進入數據庫 mysql> CREATE TABLE test ( id int not null primary key,name char(20) ); #建立test表 mysql> insert into test values(001,'zhangsan'); mysql> insert into test values(002,'lisi');
(2)進入MySQL從服務器
mysql -u root -p #進入MySQL控制檯 use test; #進入數據庫 show tables; #查看mstest庫,會看到有一個新建的表test,表示數據庫同步成功 select * from test;