背景
某瑞这边采购了很多工控机,然后这边管事的人有一个故障测距的项目,考虑到我在公司这边米有可参与的项目,就让我去拎来一个家伙,把相关的软件环境配置安装一下,主要是mysql
和一些Qt
相关的环境,操作系统为CentOS 7.6
。
我当然是欣然接受😬😬😬(Embarrassed but not polite smile)。
网络配置
首先关闭防火墙和停用SELinux
。
因为在RedHat linux
操作系统中默认开启了防火墙,SELinux
也处于启动状态,一般状态为enforing
。致使很多服务端口默认是关闭的。对新手不甚友好,关闭之。
# 关闭防火墙
systemctl disable firewalld.service
# 打开selinux配置文件
vim /etc/selinux/config
将文件中的SELINUX=
设置 为 disabled ,然后重启。
当然这里有很多坑,展开来说是说不完的。因为毕竟自己是Linux
菜鸟,且这个主机刚刚新鲜出炉,以至于刚开始网络环境都需要自己配置。记录一些比较重要的吧:
一:创建用户nyy
useradd -m nyy
二:为新建的用户设置密码,回车后输入新密码
passwd nyy
三:为新建的用户设置sudo
权限
- 切换至
root
,为sudo
文件增加写权限,默认是读权限
chmod u+w /etc/sudoers
- 打开文件
vim /etc/suduers
,在root ALL=(ALL) ALL
这一行下面添加
nyy ALL=(ALL) ALL
- 再次取消
sudo
文件的写权限
chmod u-w /etc/sudoers
之后配置yum
的源:
修改CentOS
默认yum
源为mirrors.163.com
- 首先备份系统自带yum源配置文件
/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 进入yum源配置文件所在的文件夹
cd /etc/yum.repos.d/
- 下载163的yum源配置文件到上面那个文件夹内
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
- 运行
yum makecache
生成缓存 yum -y update
然后用yum
下载相关依赖安装包:
yum install -y mesa*
yum install -y gcc-c++*
结果报错:wget
无法解析主机地址 。
首先怀疑的是DNS
的配置。因为之前有动过DNS
,执行如下内容(8.8.8.8是谷歌提供的):
echo 'nameserver 8.8.8.8'>>/etc/resolv.conf
也可使用阿里巴巴提供的DNS
域名解析:
nameserver 223.5.5.5
nameserver 223.6.6.6
但是改完后还是ping
不了百度,报错未知的名称与服务。
ping
自己的服务器地址显示网络不可达。
之后又修改网络配置。找到以太网卡配置文件度ifcfg-enp
文件,前面的数字好像是随机生成问的。
使用root
打开并编辑些文件,将onboot
的no
改为答yes
,意思为开启自动启用网络连接。然后重启网络 systemctl restart network
,结果还是不行。
报错信息为:Failed to start LSB: Bring up/down networking.
。
之后按照这个错误网上冲浪并尝试了很多关于MAC
地址的配置方法,依然失败。菜鸟的一早上就这么灰飞烟灭。
之后在吃饭的时候回忆了一下IP
的来源。惊觉刚来这边报道的时候是通过分配的静态IP
地址上的网,而不是DHCP
的形式。之后重编辑/etc/sysconfig/network-scripts/
,找到相应网卡信息的配置文件,输入静态IP
以及相应的DNS
、子网掩码后就成功了。顺带下载了之前的依赖。
不知道是哭还是笑😂😂😂,生活还得继续。
MySQL 8.0 安装
之后就是mysql
的安装,由于redhat7/centos7
版本的操作系统默认的数据库为mariadb
而不是以前的mysql
,因此在安装mysql
前要把mariadb
相应的插件卸载,如下所示:
sudo yum -y remove mariadb-*
然后切换到root
用户下MySQL
的安装,这里没啥说的,就是下载还是比较慢。
安装完成后重启计算机reboot
, 重启完成查看mysql
服务状态。
service mysqld status
接着就是修改mysql root
用户默认密码。
查询默认密码:
cat /var/log/mysqld.log | grep password
然后根据默认密码登录mysql –uroot –p
回车 输入初始密码:xxxxxx
修改root密码,密码规则为大于8位,字母大小写与数字的组合:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpasswd';
根据业务要求,还需要建立mysql
的相关用户并指定IP
访问权限。
mysql -uroot –pnewpasswd
mysql> CREATE USER 'xm'@'%' IDENTIFIED BY 'newpasswd';
mysql> CREATE USER 'xm'@'192.168.215.2' IDENTIFIED BY 'newspasswd';
%
代表所有用户皆可访问,而后面那句表明192.168.215.2
这个IP
可以远程访问。根据需要配置权限即可。
然后就是初始表的建立:执行yyy
目录sql
下的createtable.sql
语句:
mysql> source /home/yyy/sql/createtable.sql;
接着给用户或指定IP
赋予对数据库的所有权限。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'xm'@'%';
mysql> GRANT ALL PRIVILEGES ON dbname.* TO 'xm'@'%';
mysql> GRANT ALL PRIVILEGES ON dbname.* TO 'xm'@'192.168.215.2';
mysql> FLUSH PRIVILEGES;
更新之后可以查看权限:
mysql> show databases;
mysql> use mysql;
mysql> select host,user,authentication_string,plugin from user;
环境变量
在安装某个后台界面之后,需要在终端输入命令就能直接打开可运行文件,这就涉及到环境变量的修改。
跟着网上的教程来,首先打开bashrc
文件:
vim /etc/bashrc
在结尾处添加(此处有雷区,不要模仿):
export RUNDIR=/home/yyy/zzz
export MysqlHost1=192.168.215.247
export MysqlHost2=192.168.215.249
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/lib64:$RUNDIR/lib
export PATH= $RUNDIR/bin:$RUNDIR/lib
赋权并执行:
cd /etc
chmod 777 bashrc
./bashrc
然后reboot
重启,结果悲剧来了。陷入了登录死循环,即输入了正确的密码之后,电脑出现黑屏一闪,然后又重回登录界面。猜想可能就是之前环境变量export
那里有问题,配置错误的环境变量,导致系统找不到正确的启动文件和命令路径。因此只能通过修改/etc/bashrc
来解决。怎么进入终端呢?
在开机的过程中,按下ctrl+Alt+F1-7
中的一个,每个人的电脑不同进入命令界面的方式也不同。
在这个命令界面下,我们很多的常用的命令都会用不了比如vim或vi、sudo等
。为此只能通过访问绝对路径的方式来解决。
首先获得root
权限,在输入/usr/bin/sudo -i
便获得root
权限。
然后重新修改环境变量配置,输入命令/usr/bin/vim /etc/bashrc
,然后把之前配置的那些导致环境变量出现错误的那些删掉就bingo
。
最后怎么改才成功呢?
export PATH= $PATH:$RUNDIR/bin:$RUNDIR/lib
可以看到,在export PATH
中需要把$PATH:
变量给加进去。
PATH=$PATH:路径1:路径2:...:路径n
的意思是可执行文件的路径包括原先设定的路径,即$PATH
,也包括从“路径1”到“路径n”的所有路径。当用户输入一串字符并按回车后,shell
会依次在这些路径里找对应的可执行文件并交给系统执行。这个$PATH
非常重要,它表明原先设定的路径仍然有效,其中就包括系统启动所需要的配置文件和一些命令的配置文件等,注意不要漏掉。某些软件可能还有PATH
以外类型的环境变量需要添加,但方法与此相同,并且也需要注意"$"
。
所以必要的shell/bash
语言也需要掌握呀,学无止境。
重启后,查看环境变量路径:
echo $PATH
就可以看到之前添加的变量已经添加成功了。
好了,大概就这样,Linux
系统下的环境与软件安装,以后慢慢学习。