学习篇——初始化

新工作入职三个月,公司希望我能够兼职运维,于是我走向了开发运维的不归路,虽然不知道会走多远。
闲时在家,自然需要好好学习一下了。用CentOS + Ansible搭个小环境试试。

1、下载最新CentOS 7的ISO文件
既然是在家学习,那就选择最新的系统安装,没毛病。
2、安装CentOS 7,基本是一路回车。参考:CentOS7安装详解
在“ DATE & TIME”中,选择到“ Asia - ShangHai”; 在“ INSTALLATION DESTINATION”中选择安装磁盘; 下一步安装时稍微设置下root密码,当然太短是不能通过的。
3、设置固定IP,参考:虚拟机中的CentOS 7设置固定IP连接最理想的配置
网络连接选用了自定义的NAT模式,大概是VMnet8,设置自己的IP段。这篇写得比较简洁: CentOS7 设置局域网固定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、强迫症修改网卡名称为eth0,和第3步同时做的。参考:Centos7更改网卡名称Eth0
~: 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为数据库
进入Master
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方案,也便于数据库服务器的快速增加。
待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值