mysql-5.7主從在suse上搭建的血淚史

最近公司啓動了一個新項目,要在suse上搭建mysql5.7,用慣了紅帽,真的不得不吐槽一下suse,尤爲是對於歷來沒用過的人來講,簡直坑爹。node

 

話很少說,來點乾貨mysql

 

suse系統 mysql5.7版本安裝源sql

http://repo.mysql.com/yum/mysql-5.7-community/sles/11/x86_64/安全

卸載mysql5.7rpm包的方法:app

rpm -e --nodeps  mysql-community-common-5.7.16-1.sles11socket

rpm -e --nodeps  mysql-community-devel-5.7.16-1.sles11ide

rpm -e --nodeps  mysql-community-libs-5.7.16-1.sles11測試

rpm -e --nodeps  mysql-community-embedded-5.7.16-1.sles11.net

rpm -e --nodeps  mysql-community-client-5.7.16-1.sles11rest

rpm -e --nodeps  mysql-community-embedded-devel-5.7.16-1.sles11

rpm -e --nodeps  mysql-community-server-5.7.16-1.sles11

 

RPM安裝mysql5.7

mkdir -p /data/mysql

groupadd  -g  1103  mysql

useradd   -u 1103  -g mysql  -d /data/mysql -s /sbin/nologin mysql

mkdir  -p /data/app_logs/mysql

cd /data/

chmod 755 mysql

chmod 755 app_logs

chown mysql.mysql mysql -R

cd app_logs/

chown mysql.mysql mysql/ -R

cd /data/app_logs/

chmod 755 mysql/

 

cd  /opt

 

 

rpm -ivh mysql-community-*

 

 

/usr/sbin/mysqld --initialize --user=mysql --basedir=/usr  --datadir=/data/mysql 初始化    注意權限問題    ---/data 目錄若是不是755 沒法完成初始化

cd /usr/share/mysql/

cp my-default.cnf  /etc/my.cnf

 

vi  /etc/my.cnf

 

mysql-master配置

log-bin=mysql-bin

innodb_flush_log_at_trx_commit=1

sync_binlog=1

log-slave-updates

skip-name-resolve

server_id = 214                        #本機IP最末段

 

mysql-slave  配置

log_bin=mysql-bin

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLE

relay-log = mysql-relay

relay-log-index = relay-relay-bin.index

relay-log-info-file=relay-relay-log.info

server_id = 215                        #本機IP最末段

 

datadir=/data/mysql                    #數據存放位置

socket=/var/lib/mysql/mysql.sock

log-error=/data/app_logs/mysql/mysqld.log

pid-file=/var/run/mysql/mysqld.pid

 

character-set-server = utf8             #字符集

slow_query_log = 1                      #開啓慢日誌查詢

slow_query_log_file = /data/app_logs/mysql/mysql-slow.log    #慢日誌位置

 

 

 

/usr/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking     &  安全模式進入

2016-11-03T05:48:34.192512Z mysqld_safe Logging to '/data/app_logs/mysql/mysqld.log'.

2016-11-03T05:48:34.266059Z mysqld_safe Starting mysqld daemon with databases from /data/mysql

 

另開一個終端:

 

mysql

mysql> update mysql.user set authentication_string=password('password') where user='root';

mysql>flush privileges;

 

 

結束安全模式, ctrl+c 

若是不能結束,用kill 殺掉進程,直接就進程殺吧~

 

 

 

 

/etc/init.d/mysql  restart

 

mysql -u root -p

Enter password:

mysql> use mysql;          --測試密碼是否生效,通常都不生效,執行下一步

mysql> SET PASSWORD = PASSWORD("password");                  重置密碼

mysql> ALTER USER root@localhost PASSWORD EXPIRE NEVER;

mysql>  flush privileges;

mysql> use mysql;

mysql> show variables like 'datadir';                       #查看數據存放位置

mysql> show variables like "%char%";                        #查看字符集

 

 

設置主從、

                                       

master:

mysql>grant replication slave on *.* to slave@x.x.x.x identified by '123456';

mysql>flush tables with read lock;

mysql>show master status;

 

 

slave:

mysql>change master to master_host='x.x.x.x',master_port= 3306,master_log_file='mysql-bin.000003',master_log_pos=451,master_user='slave',master_password='123456';

mysql>start slave;

mysql>show slave status\G;

mysql> show slave status\G;

*************************** 1. row ***************************

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

 

 

 

 

測試

 

 

好了,基本就搭建完了。若是有大神感受此文有什麼不足,請幫忙指點。

相關文章
相關標籤/搜索