虚拟机安装centos 7 x64 (最新版)

CentOS 7 网络配置

img

1、查看本机网段
ip addr
2023-08-15_104538
2、配置虚拟机的配置文件

进入到network-scripts目录下

cd /etc/sysconfig/network-scripts/

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

打开 ifcfg-ens33 文件进行配置

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
# 启用静态IP地址 (需要修改的地方)
BOOTPROTO=static	
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=ens32
UUID=b3df7575-4ac6-4d13-8a1a-bb8b237221fa
DEVICE=ens32
# 网卡设备自动启动 (需要修改的地方)
ONBOOT=yes	

# 在第2步已经设置ip处于192.168.129.xxx这个范围,只要不和网关相同即可 (新增配置)
IPADDR=192.168.129.135
# 子网掩码 (新增配置)
NETMASK=255.255.255.0
# 网关地址就是第2步配置的网关地址 (新增配置)
GATEWAY=192.168.129.2	

# dns服务器1,填写你所在的网络可用的dns服务器地址,第1步查询出来的 (新增配置)
DNS1=192.168.20.1
# dns服务器2 (新增配置)
DNS2=114.114.114.114

3、重启网络服务
service network restart
ping www.baidu.com
4、网络不通问题
  • 4.1、关闭window的防火墙 ( 我开启也能访问 )
  • 4.2、修改虚拟机的ip地址(在所设置的网段内如:192.168.129.136…)(近期碰到的解决)
  • 4.3、修改网段在测试(如改成:192.168.74.201…)(2022-04-29 解决)
  • 4.4、将 window(ipconfig -all 查看设置虚拟机的IP地址是否是首选地址) 的 VMnet8 中的 IPv4 地址改成虚拟机配置的IP地址
  • 4.5、在这里插入图片描述
  • 4.6、centos虚拟机Failed to start LSB: Bring up/down错误解决方法
  • 禁用 NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager

重启之后,网络恢复正常

https://blog.csdn.net/u013059060/article/details/111558545

软件安装

1、vim安装命令 完全安装
rpm -qa | grep vim
yum -y install vim*
2、加速下载工具aria2
  • 安装 epel 源
    yum install epel-release
    
  • 安装aria2
    yum -y install aria2
    
  • 使用
    aria2c -s 2 -x 2 -j 10 http://dl_dir.qq.com/qqfile/qq/QQ2011/QQ2011.exe
    

    x配合-s 和-j可更好使用如:

    这将使用 2 个连接来下载该文件。s 后面的参数值介于 1~5 之间,你可以根据实际情况选择。

    PS:-s这个参数的意思是使用几个线程进行下载,-x是最大使用几个线程下载,-j就是同时下载几个文件。(这个是我的理解对不对不清楚)

    断点续传在命令中使用 c 选项可以断点续传文件。如:

    aria2c -c http://dl_dir.qq.com/qqfile/qq/QQ2011/QQ2011.exe
    

    http://dl_dir.qq.com/qqfile/qq/QQ2011/QQ2011.exe

  • 更新组件

    Updated:
      NetworkManager.x86_64 1:1.18.8-2.el7_9                           NetworkManager-libnm.x86_64 1:1.18.8-2.el7_9                   NetworkManager-team.x86_64 1:1.18.8-2.el7_9                   
      NetworkManager-tui.x86_64 1:1.18.8-2.el7_9                       NetworkManager-wifi.x86_64 1:1.18.8-2.el7_9                    bash.x86_64 0:4.2.46-35.el7_9                                 
      bind-export-libs.x86_64 32:9.11.4-26.P2.el7_9.14                 binutils.x86_64 0:2.27-44.base.el7_9.1                         ca-certificates.noarch 0:2022.2.54-74.el7_9                   
      centos-release.x86_64 0:7-9.2009.1.el7.centos                    coreutils.x86_64 0:8.22-24.el7_9.2                             cronie.x86_64 0:1.4.11-25.el7_9                               
      cronie-anacron.x86_64 0:1.4.11-25.el7_9                          curl.x86_64 0:7.29.0-59.el7_9.1                                cyrus-sasl-lib.x86_64 0:2.1.26-24.el7_9                       
      device-mapper.x86_64 7:1.02.170-6.el7_9.5                        device-mapper-event.x86_64 7:1.02.170-6.el7_9.5                device-mapper-event-libs.x86_64 7:1.02.170-6.el7_9.5          
      device-mapper-libs.x86_64 7:1.02.170-6.el7_9.5                   device-mapper-persistent-data.x86_64 0:0.8.5-3.el7_9.2         dhclient.x86_64 12:4.2.5-83.el7.centos.1                      
      dhcp-common.x86_64 12:4.2.5-83.el7.centos.1                      dhcp-libs.x86_64 12:4.2.5-83.el7.centos.1                      diffutils.x86_64 0:3.3-6.el7_9                                
      dmidecode.x86_64 1:3.2-5.el7_9.1                                 epel-release.noarch 0:7-14                                     expat.x86_64 0:2.1.0-15.el7_9                                 
      firewalld.noarch 0:0.6.3-13.el7_9                                firewalld-filesystem.noarch 0:0.6.3-13.el7_9                   freetype.x86_64 0:2.8-14.el7_9.1                              
      glib2.x86_64 0:2.56.1-9.el7_9                                    glibc.x86_64 0:2.17-326.el7_9                                  glibc-common.x86_64 0:2.17-326.el7_9                          
      grub2.x86_64 1:2.02-0.87.0.2.el7.centos.11                       grub2-common.noarch 1:2.02-0.87.0.2.el7.centos.11              grub2-pc.x86_64 1:2.02-0.87.0.2.el7.centos.11                 
      grub2-pc-modules.noarch 1:2.02-0.87.0.2.el7.centos.11            grub2-tools.x86_64 1:2.02-0.87.0.2.el7.centos.11               grub2-tools-extra.x86_64 1:2.02-0.87.0.2.el7.centos.11        
      grub2-tools-minimal.x86_64 1:2.02-0.87.0.2.el7.centos.11         gzip.x86_64 0:1.5-11.el7_9                                     initscripts.x86_64 0:9.49.53-1.el7_9.1                        
      iprutils.x86_64 0:2.4.17.1-3.el7_7                               iwl100-firmware.noarch 0:39.31.5.1-80.el7_9                    iwl1000-firmware.noarch 1:39.31.5.1-80.el7_9                  
      iwl105-firmware.noarch 0:18.168.6.1-80.el7_9                     iwl135-firmware.noarch 0:18.168.6.1-80.el7_9                   iwl2000-firmware.noarch 0:18.168.6.1-80.el7_9                 
      iwl2030-firmware.noarch 0:18.168.6.1-80.el7_9                    iwl3160-firmware.noarch 0:25.30.13.0-80.el7_9                  iwl3945-firmware.noarch 0:15.32.2.9-80.el7_9                  
      iwl4965-firmware.noarch 0:228.61.2.24-80.el7_9                   iwl5000-firmware.noarch 0:8.83.5.1_1-80.el7_9                  iwl5150-firmware.noarch 0:8.24.2.2-80.el7_9                   
      iwl6000-firmware.noarch 0:9.221.4.1-80.el7_9                     iwl6000g2a-firmware.noarch 0:18.168.6.1-80.el7_9               iwl6000g2b-firmware.noarch 0:18.168.6.1-80.el7_9              
      iwl6050-firmware.noarch 0:41.28.5.1-80.el7_9                     iwl7260-firmware.noarch 0:25.30.13.0-80.el7_9                  kbd.x86_64 0:1.15.5-16.el7_9                                  
      kbd-legacy.noarch 0:1.15.5-16.el7_9                              kbd-misc.noarch 0:1.15.5-16.el7_9                              kernel-tools.x86_64 0:3.10.0-1160.95.1.el7                    
      kernel-tools-libs.x86_64 0:3.10.0-1160.95.1.el7                  kexec-tools.x86_64 0:2.0.15-51.el7_9.3                         kpartx.x86_64 0:0.4.9-136.el7_9                               
      krb5-libs.x86_64 0:1.15.1-55.el7_9                               libblkid.x86_64 0:2.23.2-65.el7_9.1                            libcroco.x86_64 0:0.6.12-6.el7_9                              
      libcurl.x86_64 0:7.29.0-59.el7_9.1                               libmount.x86_64 0:2.23.2-65.el7_9.1                            libsmartcols.x86_64 0:2.23.2-65.el7_9.1                       
      libuuid.x86_64 0:2.23.2-65.el7_9.1                               libxml2.x86_64 0:2.9.1-6.el7_9.6                               linux-firmware.noarch 0:20200421-80.git78c0348.el7_9          
      lvm2.x86_64 7:2.02.187-6.el7_9.5                                 lvm2-libs.x86_64 7:2.02.187-6.el7_9.5                          microcode_ctl.x86_64 2:2.1-73.15.el7_9                        
      nspr.x86_64 0:4.34.0-3.1.el7_9                                   nss.x86_64 0:3.79.0-5.el7_9                                    nss-pem.x86_64 0:1.0.3-7.el7_9.1                              
      nss-softokn.x86_64 0:3.79.0-4.el7_9                              nss-softokn-freebl.x86_64 0:3.79.0-4.el7_9                     nss-sysinit.x86_64 0:3.79.0-5.el7_9                           
      nss-tools.x86_64 0:3.79.0-5.el7_9                                nss-util.x86_64 0:3.79.0-1.el7_9                               openldap.x86_64 0:2.4.44-25.el7_9                             
      openssh.x86_64 0:7.4p1-23.el7_9                                  openssh-clients.x86_64 0:7.4p1-23.el7_9                        openssh-server.x86_64 0:7.4p1-23.el7_9                        
      openssl.x86_64 1:1.0.2k-26.el7_9                                 openssl-libs.x86_64 1:1.0.2k-26.el7_9                          polkit.x86_64 0:0.112-26.el7_9.1                              
      python.x86_64 0:2.7.5-93.el7_9                                   python-firewall.noarch 0:0.6.3-13.el7_9                        python-libs.x86_64 0:2.7.5-93.el7_9                           
      python-perf.x86_64 0:3.10.0-1160.95.1.el7                        rpm.x86_64 0:4.11.3-48.el7_9                                   rpm-build-libs.x86_64 0:4.11.3-48.el7_9                       
      rpm-libs.x86_64 0:4.11.3-48.el7_9                                rpm-python.x86_64 0:4.11.3-48.el7_9                            rsyslog.x86_64 0:8.24.0-57.el7_9.3                            
      selinux-policy.noarch 0:3.13.1-268.el7_9.2                       selinux-policy-targeted.noarch 0:3.13.1-268.el7_9.2            sudo.x86_64 0:1.8.23-10.el7_9.3                               
      systemd.x86_64 0:219-78.el7_9.7                                  systemd-libs.x86_64 0:219-78.el7_9.7                           systemd-sysv.x86_64 0:219-78.el7_9.7                          
      tuned.noarch 0:2.11.0-12.el7_9                                   tzdata.noarch 0:2023c-1.el7                                    util-linux.x86_64 0:2.23.2-65.el7_9.1                         
      virt-what.x86_64 0:1.18-4.el7_9.1                                wpa_supplicant.x86_64 1:2.6-12.el7_9.2                         xz.x86_64 0:5.2.2-2.el7_9                                     
      xz-libs.x86_64 0:5.2.2-2.el7_9                                   zlib.x86_64 0:1.2.7-21.el7_9                                  
    
    
3、安装可视化管理软件 cockpit
4、授权通过防火墙
firewall-cmd --permanent --zone=public --add-port=8080/tcp  &&  firewall-cmd --reload
firewall-cmd --permanent --zone=public --add-service=cockpit  && firewall-cmd --reload
5、查看rpm 包
yum list |grep cockpit
6、安装lrzsz 上传下载工具
yum -y install lrzsz
sudo yum -y install lrzsz  # 解决没有root权限的问题
7、启动zookeeper
#启动ZooKeeper服务
#和nohup一样会在执行启动脚本的路径下生成一个zooKeeper.out日志文件
[yuki@myhost bin]$ sudo ./zkServer.sh  start
ZooKeeper JMX enabled by default
Using config: /home/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

#查看ZooKeeper进程
[yuki@myhost bin]$  jps   
4184 QuorumPeerMain
4206 Jps
其中,QuorumPeerMain是zookeeper进程,启动正常。
[yuki@myhost bin]$ sudo ps -ef |grep zookeeper
yuki      4184     1  0 15:01 pts/1    00:00:00 /home/yuki/JDK_HOME/jdk1.8.0_131/bin/java -Dzookeeper.log.dir=. -Dzookeepe.root.logger=INFO,CONSOLE -cp /home/zookeeper-3.4.12/bin/../build/classes:/home/zookeeper-3.4.12/bin/../build/lib/*.jar:/home/zookeeper-3.4.12/bin/../lib/slf4j-log4j12-1.7.25.jar:/home/zookeeper-3.4.12/bin/../lib/slf4j-api-1.7.25.jar:/home/zookeeper-3.4.12/bin/../lib/netty-3.10.6.Final.jar:/home/zookeeper-3.4.12/bin/../lib/log4j-1.2.17.jar:/home/zookeeper-3.4.12/bin/../lib/jline-0.9.94.jar:/home/zookeeper-3.4.12/bin/../lib/audience-annotations-0.5.0.jar:/home/zookeeper-3.4.12/bin/../zookeeper-3.4.12.jar:/home/zookeeper-3.4.12/bin/../src/java/lib/*.jar:/home/zookeeper-3.4.12/bin/../conf: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /home/zookeepe-3.4.12/bin/../conf/zoo.cfg
yuki      4222  4103  0 15:02 pts/1    00:00:00 grep --color=auto zookeeper

#查看ZooKeeper状态  
[yuki@myhost bin]$ sudo  ./zkServer.sh status   
ZooKeeper JMX enabled by default
Using config: /home/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: standalone

#停止ZooKeeper服务
[yuki@myhost bin]$ sudo  ./zkServer.sh stop  
ZooKeeper JMX enabled by default
Using config: /home/zookeeper-3.4.12/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

[yuki@myhost bin]$ sudo  jps
4270 Jps

[yuki@myhost bin]$ sudo  ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/zookeeper-3.4.12/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
8、编写zookeeper启动脚本

[yuki@myhost rc.d]$ cd /etc/rc.d/init.d/
[yuki@myhost init.d]$ ll
总用量 36
-rw-r--r--. 1 root root 13948 916 2015 functions
-rwxr-xr-x. 1 root root  2989 916 2015 netconsole
-rwxr-xr-x. 1 root root  6630 916 2015 network
-rw-r--r--. 1 root root  1160 220 01:35 README
-rwxr-xr-x. 1 root root  1709 424 2017 zabbix-agent

###编写启动脚本
[yuki@myhost init.d]$ sudo vi zookeeper
#!/bin/bash  
#chkconfig:2345 20 90  
#description:zookeeper  
#processname:zookeeper
source /etc/profile  
#export JAVA_HOME=/home/yuki/JDK_HOME/jdk1.8.0_131 
#export PATH=$JAVA_HOME/bin:$PATH  

#define variables
zookeeper_start_file="/home/zookeeper-3.4.12/bin/zkServer.sh"

case $1 in  
          start)
		  sudo ${zookeeper_start_file} start
		  ;;  
          stop)
		  sudo ${zookeeper_start_file} stop
		  ;;  
          status)
		  sudo ${zookeeper_start_file} status
		  ;;  
          restart)
		  sudo ${zookeeper_start_file} restart
		  ;;  
          *)  echo "require start|stop|status|restart"  
		  ;;  
esac  


然后,我们就可以下面的命令来启动或者停止zookeeper服务了

[yuki@myhost init.d]$ /etc/init.d/zookeeper  start  或者service zookeeper start
ZooKeeper JMX enabled by default
Using config: /home/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
9、设置zookeeper开机自启动
[yuki@myhost init.d]$ sudo chkconfig zookeeper on 
[yuki@myhost init.d]$ echo $?
0
[yuki@myhost init.d]$ sudo chkconfig --add zookeeper
[yuki@myhost init.d]$ sudo chkconfig --list 

注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 
      如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。
      欲查看对特定 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

netconsole      0:关    1:关    2:关    3:关    4:关    5:关    6:关
network         0:关    1:关    2:开    3:开    4:开    5:开    6:关
zabbix-agent    0:关    1:关    2:关    3:关    4:关    5:关    6:关
zookeeper       0:关    1:关    2:开    3:开    4:开    5:开    6:关

基于 xinetd 的服务:
        chargen-dgram:  关
        chargen-stream: 关
        daytime-dgram:  关
        daytime-stream: 关
        discard-dgram:  关
        discard-stream: 关
        echo-dgram:     关
        echo-stream:    关
        nrpe:           开
        tcpmux-server:  关
        time-dgram:     关
        time-stream:    关

10、设置zookeeper自动清理snapshot和事务日志的功能

从3.4.0开始,zookeeper提供了自动清理snapshot和事务日志的功能,

通过配置 autopurge.snapRetainCount 和 autopurge.purgeInterval 这两个参数能够实现定时清理了。
这两个参数都是在zoo.cfg中配置的,将其前面的注释去掉,根据需要修改日志保留个数:

autopurge.purgeInterval
这个参数指定了清理频率,单位是小时,需要填写一个1或更大的整数,默认是0,表示不开启自己清理功能。
autopurge.snapRetainCount
这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。
maxClientCnxns

单个客户端与单台服务器之间的连接数的限制,是ip级别的,默认是60,如果设置为0,那么表明不作任何限制。请注意这个限制的使用范围,仅仅是单台客户端机器与单台ZK服务器之间的连接数限制,不是针对指定客户端IP,也不是ZK集群的连接数限制,也不是单台ZK对所有客户端的连接数限制。

11.MySQL8.0安装
一、准备工作
  1. 下载安装包 下载地址

  2. 查看系统⾃带的 MARIADB

    rpm -qa|grep mariadb
    
  3. 卸载系统⾃带的 MARIADB(如果有),remove后面加 rpm -qa|grep mariadb 查询出来的路径

    yum -y remove
    
二、解压
  1. mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz 安装包上传到 /usr/local/ 目录下

  2. 安装包解压,并重命名为mysql

    xz -d mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
    tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar 
    mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql
    
  3. 创建MYSQL⽤户和⽤户组

    groupadd mysql
    useradd -g mysql mysql
    
  4. 修改MYSQL⽬录的归属⽤户

    chown -R mysql:mysql ./
    
  5. 准备MYSQL的配置⽂件,编辑 vim /etc/my.cnf

    [mysql]
    # 设置mysql客户端默认字符集
    #default-character-set=utf8
    character-set-server = utf8
    socket=/var/lib/mysql/mysql.sock
    [mysqld]
    skip-name-resolve
    #设置3306端⼝
    port = 3306
    socket=/var/lib/mysql/mysql.sock
    # 设置mysql的安装⽬录
    basedir=/usr/local/mysql
    # 设置mysql数据库的数据的存放⽬录
    datadir=/usr/local/mysql/data
    # 允许最⼤连接数
    max_connections=200
    # 服务端使⽤的字符集默认为8⽐特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使⽤的默认存储引擎
    default-storage-engine=INNODB
    lower_case_table_names=1
    max_allowed_packet=16M
    # binglog配置
    server-id = 1
    log-bin = mysql-bin
    log_bin_index = binlog.index
    binlog_format = ROW
    # binlog过期清理时间;
    expire_logs_days= 7
    # binlog每个日志文件大小;
    max_binlog_size = 1024m
    # binlog缓存大小;
    binlog_cache_size = 128m
    # 最大binlog缓存大小。
    max_binlog_cache_size = 1024m
    
    [mysqld]
    # 设置mysql客户端默认字符集
    character-set-server = utf8
    
    #设置3306端⼝
    port=3306
    
    # 数据库安装目录
    basedir=/usr/local/mysql/mysql8.0
    # 数据库存放目录
    datadir=/usr/local/mysql/mysql8.0/data
    # 允许最⼤连接数
    max_connections=200
    # 服务端使⽤的字符集默认为8⽐特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使⽤的默认存储引擎
    default-storage-engine=INNODB
    lower_case_table_names=1
    max_allowed_packet=16M
    
    # binglog配置
    server-id = 1
    log-bin = mysql-bin
    log_bin_index = binlog.index
    binlog_format = ROW
    # binlog过期清理时间;
    expire_logs_days= 7
    # binlog每个日志文件大小;
    max_binlog_size = 1024m
    # binlog缓存大小;
    binlog_cache_size = 128m
    # 最大binlog缓存大小。
    max_binlog_cache_size = 1024m
    
    socket=/var/lib/mysql/mysql.sock
    
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    # Settings user and group are ignored when systemd is used.
    # If you need to run mysqld under a different user or group,
    # customize your systemd unit file for mariadb according to the
    # instructions in http://fedoraproject.org/wiki/Systemd
    
    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file=/var/run/mariadb/mariadb.pid
    
    #
    # include all files from the config directory
    # 安全模式不用密码 skip-grant-tables
    !includedir /etc/my.cnf.d
    
    

    并且修改权限

    mkdir /var/lib/mysql 
    chmod 777 /var/lib/mysql
    
三、 安装MySQL
  1. 进入cd /usr/local/mysql 目录 进行初始化

    ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    
  2. 执行初始化后,控制台会返回临时密码, 记录临时密码 ,后面会用到
    例如:像我的例子在最后一行 A temporary password is generated for root@localhost:kvct:yIy8_qk
    我的临时密码就是这个: kvct:yIy8_qk

    例子:
    2021-09-14T01:30:19.227943Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.26) initializing of server in progress as process 1808
    2021-09-14T01:30:19.250431Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
    2021-09-14T01:30:20.184005Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
    2021-09-14T01:30:21.140583Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
    2021-09-14T01:30:21.141148Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
    2021-09-14T01:30:21.341903Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: kvct:yIy8_qk
    
  3. 复制启动脚本到资源目录

    cp ./support-files/mysql.server /etc/init.d/mysqld
    
  4. 编辑vim /etc/init.d/mysqld ,修改 basedirdatadir ,为其实际对应的目录

    basedir=/usr/local/mysql 
    datadir=/usr/local/mysql/data
    

​ 5.授权日志目录

​ Linux安装MySQL时候出现log-error set to ‘/var/log/mariadb/mariadb.log’, however file don’t exists.

​ 这个一看就是权限问题了

​ log-error set to ‘/var/log/mariadb/mariadb.log’, however file don’t exists. Create writable for user ‘mysql’.

**用WinSCP去看的时候发现并没有\**/var/log/mariadb/mariadb.log这个路径,\****那我们就创建, 并给mysql用户授权即可

mkdir /var/log/mariadb 
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
mkdir /run/log/mariadb 
touch /run/log/mariadb/mariadb.log
chown -R mysql:mysql /run/log/mariadb/

四、设置MYSQL服务开机自启

  1. 增加 mysqld 服务控制脚本执⾏权限

    chmod +x /etc/init.d/mysqld
    
  2. 将 mysqld 服务加⼊到系统服务

    chkconfig --add mysqld
    
  3. 检查 mysqld 服务是否已经⽣效即可
    mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关

    chkconfig --list mysqld
    
  4. 启动 mysql 服务, 返回 SUCCESS!

    service mysqld start
    

    如何停止 mysql 服务

     service mysqld stop
    
五、配置环境变量
  1. 编辑 vim ~/.bash_profile,在文件末尾添加下面信息

    export PATH=$PATH:/usr/local/mysql/bin
    
  2. 执行下面命令,使环境变量生效

    source ~/.bash_profile
    
六、登录MySQL,并修改密码
  1. 以 root 账户登录 mysql

    mysql -u root -p
    
  2. 输入刚才记录的 临时密码

  3. 修改 Root 账户密码,并刷新权限

    alter user user() identified by "root";
    flush privileges;
    
  4. 设置远程主机登录

    use mysql;
    update user set user.Host='%' where user.User='root';
    flush privileges;
    
七、检查防火墙
  1. 做完上面步骤,肯能还是远程连接不上,开放端口或者关闭防火墙

  2. 查看防火墙状态

    systemctl status firewalld
    
  3. 查看开机是否启动防火墙服务

    systemctl is-enabled firewalld
    
  4. 关闭防火墙

    systemctl stop firewalld
    
  5. 禁用防火墙(系统启动时不启动防火墙服务)

    systemctl disable firewalld
    systemctl is-enabled firewalld
    
  6. 开放端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload   # 配置立即生效 
    
  7. 关闭端口

    firewall-cmd --zone=public --remove-port=3306/tcp --permanent
    firewall-cmd --reload   # 配置立即生效
    
  8. 查看防火墙所有开放的端口

    firewall-cmd --zone=public --list-ports
    
  9. 查看监听的端口
    centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools

    netstat -lnpt
    
  10. 检查端口被哪个进程占用

    netstat -lnpt |grep 3306
    
  11. 查看进程的详细信息

    ps 6832
    
  12. 查看包含 mysql 的所有进程

    ps -ef | grep mysql
    
  13. 中止进程

    kill -9 6832
    
八、忘记 mysql 密码, 找回密码
  1. 停止 mysql 服务

     service mysqld stop
    
  2. 修改 mysql 的配置文件 my.cnf
    my.cnf 配置文件的位置,一般在 /etc/my.cnf ,有些版本在 /etc/mysql/my.cnf
    在配置文件中添加下面代码, 安全模式启动

    [mysqld]
    skip-grant-tables
    
  3. 启动 mysql 服务

    service mysqld start
    
  4. 进入 mysql, 这样可以不用输入密码进入 mysql

    mysql -u root 
    

    修改密码, 并刷新权限;

    mysql> use mysql;
    Database changed
    mysql> update user set authentication_string="123456" where user="root";
    Query OK, 0 rows affected (0.00 sec)
    Rows matched: 1  Changed: 0  Warnings: 0
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
  5. 将刚才新添加的配置文件 my.cnf 删除这两行

    [mysqld]
    skip-grant-tables
    
  6. 重新启动 mysql 服务

    service mysqld start
    

    MYSQL 8.0 默认user表

    mysql> select host, user, authentication_string, plugin from user;
    +-----------+------------------+------------------------------------------------------------------------+-----------------------+
    | host      | user             | authentication_string                                                  | plugin                |
    +-----------+------------------+------------------------------------------------------------------------+-----------------------+
    | %         | root             | $A$005$_N6
    HbERn<n&lg8k*XmaW25XLFVs8MDOgM1K18egNm1p87ttKMQ9Awcf0/rUA  | caching_sha2_password |
    | localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
    | localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
    | localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
    +-----------+------------------+------------------------------------------------------------------------+-----------------------+
    
九、Access denied for user ‘root’@‘localhost’ (using password: YES)
  1. 安全模式启动 mysql服务,先将密码设置为空

    use mysql;
    update user set authentication_string='' where user='root';
    
  2. 在重新设置密码, 刷新权限

    use mysql;
    alter user user() identified by "root";
    flush privileges;
    

十、服务启动之后连接 出现 Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

​ 使用下面的命令解决即可

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘***’ (2)

有时候,当我们使用“mysql”、“mysqladmin”、“mysqldump”等命令管理数据库时,服务器抛出类似如下错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

这个错误是由于什么原因导致的呢?请看后面爱E族(aiezu.com)为您提供的分析。

一、错误现场还原:

下面我们通过三种方式来连接,然后观察提示的错误信息:

  • 1、直接使用“mysql”命令,不带主机名参数;
  • 2、使用带了主机名“localhost”参数的“mysql -h localhost”命令;
  • 3、使用带了主机名“127.0.0.1”参数的“mysql -h 127.0.0.1”命令。
[root@aiezu.com ~]``# mysql``ERROR 2002 (HY000): Can``'t connect to local MySQL server through socket '``/var/lib/mysql/mysql``.sock' (2)``[root@aiezu.com ~]``# mysql -h localhost``ERROR 2002 (HY000): Can``'t connect to local MySQL server through socket '``/var/lib/mysql/mysql``.sock' (2)``[root@aiezu.com ~]``# mysql -h 127.0.0.1``ERROR 1045 (28000): Access denied ``for` `user ``'root'``@``'localhost'` `(using password: NO)

通过上面实验可以看出,前面两种方式都能产生标题中的错误,而第三种方式连接是不会产生标题中的错误的(第三种方式这里产生的是由于密码问题拒绝访问的错误信息)(爱E族)。

二、错误产生原因解析:

这是由于我们连接数据库使用的主机名参数为“localhost”,或者未使用主机名参数、服务器默认使用“localhost”做为主机名(爱E族)。 使用主机名参数为“localhost”连接mysql服务端时,mysql客户端会认为是连接本机,所以会尝试以socket文件方式进行连接(socket文件连接方式,比“ip:端口”方式效率更高),这时根据配置文件“/etc/my.cnf”的路径,未找到相应的socket文件,就会引发此错误。

三、修复故障前准备:
1、看mysql服务是否在运行:

由于“socket”文件是由mysql服务运行时创建的,如果提示“ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘***’ (2)”,找不到“socket”文件,我们首先要确认的是mysql服务是否正在运行。

# 1、 端口是否打开``[root@aiezu.com ~]``# lsof -i:3306``COMMAND  PID USER  FD  TYPE DEVICE SIZE``/OFF` `NODE NAME``mysqld 12207 mysql  14u IPv4 52350   0t0 TCP *:mysql (LISTEN)` `# 2、mysqld服务是否正在运行``[root@aiezu.com ~]``# service mysqld status``mysqld (pid 4717) is running...` `# 3、如果mariadb,同样方法查服务是否正在运行:``[root@aiezu.com ~]``# service mariadb status``Redirecting to ``/bin/systemctl` `status mariadb.service``● mariadb.service - MariaDB database server``  ``Loaded: loaded (``/usr/lib/systemd/system/mariadb``.service; disabled; vendor preset: disabled)``  ``Active: active (running) since 四 2016-11-03 13:47:37 CST; 23min ago
2、确定“socket”文件正确位置:

确定mysql服务正常运行后,产生此错误的原因只剩下“socket”文件路径不正确了,我们可以使用“find”命令或者“lsof”命令来确定socket文件的正确路径:

[root@aiezu.com ~]``# lsof -c mysqld|grep sock$``mysqld 4717 mysql 12u unix 0xffff88010a655b80 0t0 77474827 ``/storage/db/mysql/mysql``.sock` `[root@aiezu.com ~]``# find / -name '*.sock'``/storage/db/mysql/mysql``.sock
四、故障解决方法:
解决6方案一:

修改“/etc/my.cnf”配置文件,在配置文件中添加“[client]”选项和“[mysql]”选项,并使用这两个选项下的“socket”参数值,与“[mysqld]”选项下的“socket”参数值,指向的socket文件路径完全一致。如下:

[mysqld]``datadir=/storage/db/mysql``socket=/storage/db/mysql/mysql.sock``...省略n行(爱E族)...` `[client]``default-character-set=utf8``socket=/storage/db/mysql/mysql.sock` `[mysql]``default-character-set=utf8``socket=/storage/db/mysql/mysql.sock

修改完后,重启mysqld服务,即可解决此问题。

解决6方案二:

使用“ln -s /storage/db/mysql/mysql.sock /var/lib/mysql/mysql.sock”命令,将正确的socket文件位置,软链接到提示错误的socket文件路径位置,即可解决此问题:

[root@aiezu.com ~]``# ls /var/lib/mysql/mysql.sock``ls``: cannot access ``/var/lib/mysql/mysql``.sock: No such ``file` `or directory``[root@aiezu.com ~]``# ln -s /storage/db/mysql/mysql.sock /var/lib/mysql/mysql.sock``[root@aiezu.com ~]``# ls /var/lib/mysql/mysql.sock``/var/lib/mysql/mysql``.sock
五、后序:

这篇文章只讲述了mysql提供的“mysql”、“mysqldump”、“mysqladmin”等命令提示“ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘***’ (2)”的解决方法,如果需要解决“php”、“perl”、“python”等脚本语言提示此错误的问题,请参考爱E族的另外一篇文章:http://aiezu.com/article/mysql_php_connect_through_socket.html

12、nginx设置开机启动
yum安装nginx

参考《如何在CentOS 7上安装Nginx》,安装nginx,安装成功后使用systemctl命令设置自启动。

手动安装nginx

参考《Centos7安装Nginx实战》,安装步骤如下:

1、安装gcc等编译环境

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

2、下载nginx1.12.0并解压

wget http://nginx.org/download/nginx-1.12.0.tar.gz

tar -xzvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
3、创建目录
mkdir -p /var/temp
mkdir -p /var/temp/nginx
mkdir -p /var/temp/run/nginx
chmod a+wrx -R temp
4、配置编译选项
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/temp/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

切记,pid-path不能设置为/var/run/nginx/nginx.pid。因为CentOS每次重启后,都会删除/var/run目录中的自建目录和文件,从而导致nginx自启动失败。

5、编译安装

make && make install

进入/usr/local/nginx查看文件是否存在conf、sbin、html文件夹,若存在则安装成功

6、测试启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件。

7、测试访问
curl localhost

浏览器如果不能访问,就打开防火墙或者开端口。
关闭防火墙,systemctl stop firewalld.service
开放端口,

firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload
设置开机启动

手动安装的nginx,该怎样设置开机自启动?参照《Nginx+Center OS 7.2 开机启动设置(转载)》,步骤如下:

1、在系统服务目录里创建nginx.service文件
vi /usr/lib/systemd/system/nginx.service
2、写入内容如下:
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target
服务的说明

Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

3、设置开机自启动
systemctl enable nginx.service
4、查看nginx状态
systemctl status nginx.service

很奇怪,明明启动成功了,为什么显示Active: inactive (dead)?

5、杀死nginx重启nginx
pkill -9 nginx
ps aux | grep nginx
systemctl start nginx

再次查看状态,变成了active,搞定。

6、重启服务器
 `reboot`
7、再次连接后,查看服务状态
 systemctl status nginx.service

看到nginx已经启动,至此,nginx自启动配置成功。

systemd使用

systemctl --version,查看版本。

whereis systemctl,查看位置。

systemctl list-unit-files,列出所有可用单元(服务)。

systemctl list-units,列出所有运行中的单元。

systemctl --failed,列出所有失败的单元。

systemctl list-unit-files | grep enable,查看自启动的软件。

systemctl is-enabled mysqld.service,查看某个单元是否开机启动。

systemctl status mysqld.service,查看某个单元的状态。

systemctl start mysqld.service,启动某个单元。

systemctl restart mysqld.service,重启某个单元。

systemctl stop mysqld.service,停止某个单元。

systemctl daemon-reload,修改了某个单元的配置文件后,重载配置文件。

systemctl reload mysqld.service,重载某个单元。

systemctl enable mysqld.service,设置开机自启动。

systemctl disable mysqld.service,关闭开机自启动。

systemctl kill mysqld,杀死单元。

作者:VoidKing
链接:https://www.jianshu.com/p/ca5ee5f7075c

)?

5、杀死nginx重启nginx
pkill -9 nginx
ps aux | grep nginx
systemctl start nginx

再次查看状态,变成了active,搞定。

6、重启服务器
 `reboot`
7、再次连接后,查看服务状态
 systemctl status nginx.service

看到nginx已经启动,至此,nginx自启动配置成功。

systemd使用

systemctl --version,查看版本。

whereis systemctl,查看位置。

systemctl list-unit-files,列出所有可用单元(服务)。

systemctl list-units,列出所有运行中的单元。

systemctl --failed,列出所有失败的单元。

systemctl list-unit-files | grep enable,查看自启动的软件。

systemctl is-enabled mysqld.service,查看某个单元是否开机启动。

systemctl status mysqld.service,查看某个单元的状态。

systemctl start mysqld.service,启动某个单元。

systemctl restart mysqld.service,重启某个单元。

systemctl stop mysqld.service,停止某个单元。

systemctl daemon-reload,修改了某个单元的配置文件后,重载配置文件。

systemctl reload mysqld.service,重载某个单元。

systemctl enable mysqld.service,设置开机自启动。

systemctl disable mysqld.service,关闭开机自启动。

systemctl kill mysqld,杀死单元。

作者:VoidKing
链接:https://www.jianshu.com/p/ca5ee5f7075c

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值