centos镜像源更换

阿里云镜像

yum install wget
rm /etc/yum.repos.d/CentOS-Base.repo
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
yum makecache

包管理器

yum包管理器

安装软件包

yum install -y 软件包

升级软件包,改变软件设置和系统设置,系统版本内核都升级

yum update 软件包

升级软件包,不改变软件设置和系统设置,系统版本内核都升级

yum install upgrade

模糊查询软件包

yum search 软件包

查询软件包

yum info 软件包

查询命令属于哪一个包

yum provides /usr/bin/find

卸载包

yum remove -y 软件包

按关键字搜索包

yum search 软件包

清除缓存

yum clan all

生成缓存

yum makecache

查看可用的yum源

yum repolist

列出可用组

yum grouplist

rpm包管理器

命令格式:

rpm 参数 软件包

参数:

安装:
-i 是install的意思,安装软件包
-v 显示附加信息,提供更多详细信息
-V 校验,对已安装的软件进行校验
-h --hash 安装时输出###标记
查询
-q 查询,一般跟下面的参数配合使用
-a 查询所有已安装的软件包
-f 系统文件名(查询系统文件属于哪个安装包)
-i 显示已安装的rpm软件包信息
-l 查询软件包文件的安装位置
-p 查询未安装软件包的相关信息
-R 查询软件包的依赖性
卸载
-e erase
--nodeps 忽略依赖
升级
-U 一般配合vh使用

MySQL

MySQL安装

下载mysql数据包

wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

安装mysql

yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

如果报错说公钥尚未安装则用如下命令,跳过公钥检查

yum -y install mysql-community-server --nogpgcheck

启动mysql服务

systemctl start  mysqld

查看初始密码

grep 'password' /var/log/mysqld.log

进入数据库

mysql -h (主机ip,可省略) -u root -p 

修改root密码,xxxx就是新密码,大小写加符号

ALTER USER USER() IDENTIFIED BY 'XXXX';

退出

exit

MySQL连接c++

Mysql++简介

这里采用Mysql++这个库

mysql连接c++主要的包有mysql-libs mysql-devel mysql++

Mysql++是官方发布的、一个为MySQL设计的C++语言的API。Mysql++为Mysql的C-Api的再次封装,它用STL(Standard Template Language)开发并编写,并为C++开发者提供像操作STL容器一样方便的操作数据库的一套机制。

安装步骤

下载源码包:http://tangentsoft.net/mysql++/

解压

tar zxvf mysql3.2.1.tar.gz
cd mysql++-3.2.1/
./configure
make
make install

修改/etc/ld.so.conf文件,添加
/usr/local/lib
/sbin/ldconfig
/bin/ln -s /usr/local/lib/libmysqlpp.so /usr/lib/libmysqlpp.so

用 echo $LD_LIBRARY_PATH看下LD_LIBRARY_PATH环境变量中是否包含/usr/local/lib,如果没有的话就export下

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

mysql远程连接

进入数据库

use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

防火墙firewall

安装firewall

yum install -y firewalld

使用firewall

开放端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

重新启动防火墙

firewall-cmd --reload

查看端口是否开启

firewall-cmd --zone=public --query-port=80/tcp

删除端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent

列出开放端口

firewall-cmd --zone=public --list-ports

网络配置文件

查看你的网络信息,网卡名,mac地址,IP地址

ip address
cd /etc/sysconfig/network-scripts

你的网卡名

vim xxx

dhcp自动获取ip

重要设置:mac地址,dhcp,onboot

HWADDR=00:0c:29:58:27:57
TYPE=Ethernet
BOOTPROTO=DHCP
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=71557f7c-446c-4145-8151-1f52f07b8b12
ONBOOT=yes                  
#开启自动启用网络连接
#这里增加了第一行的mac地址,
#最后一行修改成了yes开启网络连接

设置静态ip

最重要的四个设置,ip、网关、子网掩码、dns

代码示例:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static  #启动的时候的 IP 取得的协议,这里是固定的,如果是动态主机的话,要改成 dhcp 才行#
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33     #设定网卡的名称,要跟文件名称对应 #
UUID=f5e37a10-3da9-47af-8dbb-370b7bf24509 
DEVICE=ens33   #设定网卡的名称,要跟文件名称对应 #
ONBOOT=yes    #是否在开机的的时候启动网卡# 
IPADDR=192.168.0.7        #IP 地址#   必设置
GATEWAY=192.168.0.2       #网关地址#  必须设置
NETWORK=192.168.0.3      #该网段的第一个 IP# 可以不设置
BROADCAST=192.168.0.255  #最后一个同网段的广播地址#  可以不设置
NETMASK=255.255.255.0     #子网掩码#   必设置
DNS1=192.168.0.1   必设置   跟ip地址一样,只需要把最后末尾改成1即可
#GATEWAYDEV=eth0 推荐阅读: linux网络配置文件(redhat、ubuntu系统) centos基本网络配置-网卡eth0、DNS、Host等
linux主机刚安装好时,ONBOOT属性的缺省值为no,需要修改为yes,BOORPROTO缺省值为dhcp,需要修改为static。
然后,设置IP地址,网络掩码,网关等。

systemctl

systemctl基础命令

新加载配置

systemctl daemon-reload

列出当前系统服务的状态

systemctl list-units

列出服务的开机状态

systemctl list-unit-files

设定指定服务开机开启

systemctl enable 服务

设定指定服务开机关闭

systemctl disable 服务

使指定服务从新加载配置

systemctl reload 服务

查看指定服务的倚赖关系

systemctl list-dependencies 服务

冻结指定服务

systemctl mask 服务

启用服务

systemctl unmask 服务

systemctl控制服务配置文件存放位置

/etc/systemd/system/

/usr/lib/systemd/system

/lib/systemd/system

配置文件格式及含义

文件内容

# sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service
[Service]
Type=forking
PIDFile=/var/run/sshd.pid
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target

文件内容解释

[Unit] 区块:启动顺序与依赖关系。
Description:当前配置文件的描述信息。
Documentation:帮助信息。
After:表示当前服务是在那个服务后面启动,一般定义为网络服务启动后启动
Wants:表示sshd.service与sshd-keygen.service之间存在”弱依赖”关系,即如果”sshd-keygen.service”启动失败或停止运行,不影响sshd.service继续执行。
[Service] 区块:启动行为
Type:定义启动类型。
PIDFile:服务的pid文件路径。
EnvironmentFile:指定当前服务依赖的环境参数文件。
ExecStart:定义启动进程时执行的命令。
ExecReload:重启服务时执行的命令
KillMode:定义 Systemd 如何停止 sshd 服务。
Restart:定义了 sshd 退出后,Systemd 的重启方式。
RestartSec:表示Systemd重启服务之前,需要等待的秒数。上面的例子设为等待42秒。
[Install] 区块:定义如何安装这个配置文件,即怎样做到开机启动。
WantedBy:表示该服务所在的 Target。multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
❤️ 转载文章请注明出处,谢谢!❤️