学習編——初期化

9387 ワード

新しい仕事は3ヶ月に入って、会社は私が兼職して运維を运ぶことができることを望んで、そこで私は运維を开発する帰らない道に向かって、どのくらい歩くことができるか分かりませんが.暇な时に家にいるから、よく勉强しなければなりません.CentOS+Ansibleで小さな環境を作ってみましょう.
1、最新CentOS 7のISOファイルをダウンロードする
家で勉強している以上、最新のシステムを選んでインストールして、大丈夫です.
2、CentOS 7を取り付けて、基本的には一緒に車に戻る.参考:CentOS 7インストールの詳細

DATE&TIMEで、「
Asia - ShangHai”; 「
INSTALLATION DESTINATIONでインストールディスクを選択します.次のインストール時にrootパスワードを少し設定しますが、もちろん短すぎて通過できません.
3、固定IPを設定し、参考:仮想マシンの中のCentOS 7は固定IP接続の最も理想的な配置を設定する
ネットワーク接続にはカスタマイズされたNATモードが採用されており、おそらくVMnet 8であり、独自のIPセグメントを設定している.この文章は比較的に簡潔に書きます:CentOS 7はLANの固定IPを設置します
ネットワーク構成フォルダにアクセスしてネットワーク情報を変更し、networkサービスを再起動します.
~: cd /etc/sysconfig/network-scripts/ 
~: vi ifcfg-xx 
BOOTPROTO=static
#    none
#BOOTPROTO=none
IPADDR=192.168.159.253
NETMASK=255.255.252.0
GATEWAY=192.168.159.2
ONBOOT=yes

#      
~: systemctl restart network.service
#              
~: systemctl stop firewalld.service
#    ,ssh    。。
~: ifdown xx
~: ifup xx
#ping  
~: ping www.csdn.net

4、強迫症のネットカード名をeth 0に変更し、第3歩と同時に行う.参考:Centos 7 NIC名Eth 0を変更する
~: cd /etc/sysconfig/network-scripts/
#     
~: mv ifcfg-xx ifcfg-eth0`
#    
vi ifcfg-eth0
# NAME DEVICE    eth0,
NAME=eth0
DEVICE=eth0
:wq

~: vi /etc/sysconfig/grub
# `GRUB_CMDLINE_LINUX`   `net.ifnames=0 biosdevname=0`
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap net.ifnames=0 biosdevname=0 rhgb quiet"
#      
~: grub2-mkconfig -o /boot/grub2/grub.cfg
~: reboot

5、ファイアウォールを閉じる?
勉強した以上、何をしているんだ.しばらくはiptablesも考えません.命令を残す
systemctl stop firewalld.service
systemctl disable firewalld.service

6、デフォルトユーザーを追加する
useradd -g wheel devops

7、スナップショットを保存し、砦機Masterとして閉じてクローン化する.
Masterを設定するIPは192.168.159.100で、その他は192.168.159.101~192.168.159.252からにしましょう.暫定102はデータベース
マスターに入る
bash: ssh root@192.168.159.100
#  Ansbile
~: yum install ansible -y
#  Ansible      
~: mkdir -p ~/ansible/{auth_keys,inventory,playboos,sofeware}
#  vim
~: yum install vim -y
#    
~: vim ~/.vimrc
set autoindent #    
set tabstop=2 #  2   ,   yaml
set expandtab #tab    
set nu #    
:wq

#     Python    ,CentOS  Python2.x   。
#     ,
~: vim /etc/ansible/hosts
##Web  
[web]
192.168.159.101
##   
[db]
192.168.159.102
:wq

8、MySQLのインストール
mysql-5.7.21-Linuxをダウンロードしてデータベースシステムにアップロード
参考:公式インストールドキュメント
my.cnfコンフィギュレーション、具体的にはMySQL 5.7のインストールが完了した後、直ちに調整するパフォーマンスオプションとMySQL 5.6 my.cnfコンフィギュレーションの最適化を参照してください
bash: scp /d/mysql.tar.gz root:192.168.159.100:~/software/mysql.tar.gz
#       /usr/local/ 
~: cd ~/software
~: tar zxvf mysql.tar.gz
~: mv mysql /usr/local/mysql
~: cd /usr/local/mysql
#  mysql    ,  /usr/local/mysql    
~: groupadd mysql
~: useradd -r -g mysql -s /bin/false mysql
~: chown -R mysql:mysql ./
#  data     、mysql.sock  。data       ,  log、tmp       ,      
#      /data/mysql/*   log/mysql-err.log    my.cnf   
~: mkdir -p /data/mysql/{log,tmp}
~: chown -R mysql:mysql /data/mysql
#   mysql-err.log  
~: echo "" > /data/mysql/log/mysql-err.log
~: chown -R mysql:mysql /usr/local/mysql/mysqld.log
#   MySQL
#  --explicit_defaults_for_timestamp=true     
#[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
~: bin/mysqld --initialize --user=mysql --datadir=/data/mysql/data/ --basedir=/usr/local/mysql --explicit_defaults_for_timestamp=true
#           Note,       jlVQNy!c(7fv
#[Note] A temporary password is generated for root@localhost: jlVQNy!c(7fv

~: chown -R root:root ./
#      
~: cp support-files/mysql.server /etc/init.d/mysql
~: chmod +x /etc/init.d/mysql
~: chkconfig --add mysql
#  
~: chkconfig --list
#      my.cnf /etc 
~: cp my.cnf /etc/my.cnf
~: vim my.cnf
[mysqld]
datadir=/data/mysql/data
socket=/data/mysql/tmp/mysql.sock
symbolic-links=0
server-id=1
skip_name_resolve=1
max_connections=1000
max_allowed_packet=16M
sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
interactive_timeout=60
wait_timeout=60
slow_query_log=1
slow_query_log_file=/data/mysql/log/mysql-slow.log
log_queries_not_using_indexes=1
log_slow_admin_statements=1
log_slow_slave_statements=1
expire_logs_days=90
long_query_time=1
min_examined_row_limit=200
explicit_defaults_for_timestamp=true



[mysqld_safe]
open-files-limit=10240
log-error=/data/mysql/log/mysql-err.log
pid-file=/data/mysql/mariadb.pid

!includedir /etc/my.cnf.d
:q

#     mysql      mysql
~: ln -s /usr/local/mysql/bin/mysql /usr/local/bin/
~: ln -s /data/mysql/tmp/mysql.sock /tmp/mysql.sock

#       jlVQNy!c(7fv,  mysql  root  ,        。
~: mysql -uroot -p
mysql: alter user user() identified by "123";
mysql: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
mysql: exit
#     firewall   ,      
~: firewall-cmd --zone=public --add-port=3306/tcp --permanent
~: firewall-cmd --reload

もちろん胃までもっと簡単な一歩があります
~: yum install mysql -y

なにしろこれからアップグレードするなんて、バージョンも毎日変えるわけにはいかない.常に手動でインストールする方法を理解してください.インストールが完了したら、このデータベースはまずスナップショットを作成し、構成はゆっくり調整します.また、MySQLのcopyスキームを作成することで、データベース・サーバの急速な増加にも便利です.続きます...