
>>>我的博客<<<
1、修改主機(jī)名
【vi /etc/hostname】編輯上你要起的名字即可。
[root@localhost ~]# hostnamectl --static set-hostname Linuxidc
# 重啟CentOS 7 之后(reboot -f ),
[root@Linuxidc ~]# hostnamectl --static
Linuxidc
[root@Hunk_zhu ~]# hostnamectl --transient
Linuxidc
[root@Hunk_zhu ~]# hostnamectl --pretty
Linuxidc
[root@Hunk_zhu ~]# hostname
hostnamectl --static set-hostname testServer
2、添加用戶
useradd dev
passwd dev
輸入密碼Ecs201703,創(chuàng)建成功。
賦予root權(quán)限:
然后給dev加上同root一樣的如下一行,保存。

ubuntu中管理用戶和用戶組
- 添加一個(gè)用戶組并指定id為1002
sudo groupadd -g 1002 www
- 添加一個(gè)用戶到www組并指定id為1003
sudo useradd wyx -g 1002 -u 1003 -m
- 修改用戶的密碼
sudo passwd wyx
- 刪除一個(gè)用戶
sudo userdel wyx
- 為該用戶添加sudo權(quán)限
sudo usermod -a -G adm wyx
sudo usermod -a -G sudo wyx
- 查看所有用戶和用戶組:
cat /etc/passwd
cat /etc/group
3、安裝JDK1.8
- 在線安裝openjdk
sudo apt-get install openjdk-8-jdk</pre></wiz_code_mirror>
如果安裝時(shí)報(bào)錯(cuò),執(zhí)行【 sudo apt-get update 】命令后再執(zhí)行上面的命令。
在配置classpath即可。
1、源碼包準(zhǔn)備:
首先到官網(wǎng)下載jdk-8u66-linux-x64.tar.gz,
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
或者使用命令下載
wget https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz
2、解壓源碼包
通過(guò)終端在/usr/local目錄下新建java文件夾,命令行:
sudo mkdir /usr/local/java
然后將下載到壓縮包拷貝到j(luò)ava文件夾中,命令行:
進(jìn)入jdk源碼包所在目錄
cp jdk-8u66-linux-x64.tar.gz /usr/local/java
然后進(jìn)入java目錄,命令行:
cd /usr/local/java
解壓壓縮包,命令行:
sudo tar zxvf jdk-8u66-linux-x64.tar.gz
然后可以把壓縮包刪除,命令行:
sudo rm jdk-8u66-linux-x64.tar.gz
3、設(shè)置jdk環(huán)境變量
這里采用全局設(shè)置方法,就是修改etc/profile,它是是所有用戶的共用的環(huán)境變量
vi /etc/profile
打開(kāi)之后在末尾添加
JAVA_HOME=/usr/local/java/jdk1.8.0_66
JRE_HOME=/usr/local/java/jdk1.8.0_66/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH
使環(huán)境變量生效
source /etc/profile
看看自己的配置是否都正確
echo $JAVA_HOME echo $CLASSPATH echo $PATH
4、修改默認(rèn)JDK
如果系統(tǒng)已經(jīng)安裝了其他版本的Java
JAVA_HOME=/usr/local/java/jdk1.8.0_66
JRE_HOME=/usr/local/java/jdk1.8.0_66/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH
5、檢驗(yàn)是否安裝成功
在終端
java -version
看看是否安裝成功,成功則顯示如下
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
4、Ubuntu 16.04 安裝mysql并設(shè)置遠(yuǎn)程訪問(wèn)
sudo apt-get install mysql-server
Linux新手入門(mén):Unable to locate package錯(cuò)誤解決辦法
最近剛開(kāi)始接觸Linux,在虛擬機(jī)中裝了個(gè)Ubuntu,當(dāng)前的版本是Ubuntu 11.10,裝好后自然少不了安裝一些軟件,在設(shè)置了軟件的源后,就開(kāi)始了 sudo apt-get install,結(jié)果出現(xiàn)了下面的Unable to locate package錯(cuò)誤:
letuknowit@ubuntu:~$ sudo apt-get install mysql-server mysql-client
[sudo] password for letuknowit:
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package mysql-server
E: Unable to locate package mysql-client
letuknowit@ubuntu:~$
這叫一個(gè)郁悶啊,出師不利,不帶這么嚇唬剛玩Ubuntu的小朋友吧~于是趕緊找資料,又回顧下前面的操作,最后發(fā)現(xiàn)問(wèn)題出在執(zhí)行sudo apt-get install之前更換了軟件源,但是卻忘了update下了,于是執(zhí)行下面的命令:
- sudo apt-get update
等上面命令執(zhí)行完后,再執(zhí)行sudo apt-get install就可以了!其實(shí)錯(cuò)誤信息已經(jīng)很明確了,Unable to locate packet就是無(wú)法找到包嘛,那還不趕緊sudo apt-get update下!
說(shuō)明:
一個(gè)朋友在使用ubuntu-server 16.04安裝mysql,設(shè)置遠(yuǎn)程訪問(wèn)的時(shí)候出現(xiàn)了問(wèn)題,請(qǐng)我?guī)兔Α5?,我也沒(méi)有使用過(guò)ubuntu安裝mysql,于是乎搜索了很多技術(shù)文件,比著葫蘆畫(huà)瓢。但是,由于mysql版本的差異,導(dǎo)致在安裝設(shè)置的過(guò)程中出現(xiàn)了一些問(wèn)題:就是不能遠(yuǎn)程訪問(wèn)。
一、安裝mysql
1. 安裝需要使用root賬號(hào),如果不會(huì)設(shè)置root賬號(hào)的請(qǐng)自行g(shù)oogle。安裝mysql過(guò)程中,需要設(shè)置mysql的root賬號(hào)的密碼,不要忽略了。
sudo apt-get install mysql
在centOS上執(zhí)行命令可能碰到找不到mysql-server的情況,想下面這樣:
[azq@localhost ~]$ sudo yum install mysql-server
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: centos.ustc.edu.cn
沒(méi)有可用軟件包 mysql-server。
此時(shí)參考解決CentOS7下yum install mysql-server沒(méi)有可用包的問(wèn)
可解決。
2. 以上3個(gè)軟件包安裝完成后,使用如下命令查詢是否安裝成功:
sudo netstat -tap | grep mysql
查詢結(jié)果如下圖所示,表示安裝成功。
root@xyz:~# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 7510/mysqld
root@xyz:~#
二、設(shè)置mysql遠(yuǎn)程訪問(wèn)
1. 編輯mysql配置文件,把其中bind-address = 127.0.0.1注釋了
vi /etc/mysql/mysql.conf.d/mysqld.cnf
2. 使用root進(jìn)入mysql命令行[mysql -uroot -p],執(zhí)行如下2個(gè)命令,示例中mysql的root賬號(hào)密碼:root
grant all on *.* to root@'%' identified by 'root' with grant option;
flush privileges;
- 重啟mysql
/etc/init.d/mysql restart
重啟成功后,在其他計(jì)算機(jī)上,便可以登錄。
備注:如果修改密碼時(shí)提示沒(méi)有password字段的錯(cuò)誤,應(yīng)該用下面的命令:

update mysql.user set authentication_string=password('root') where user='root' ;
遠(yuǎn)程登錄,有如下錯(cuò)誤提示

解決辦法:
在服務(wù)器上用【mysql -uroot -p】命令輸入密碼登錄,
然后執(zhí)行下面的兩條命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'QDyy201703' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如下:


完美解決mysql服務(wù)問(wèn)題。
授權(quán)解釋:
grant privileges on databasename.tablename to 'username'@'host' IDENTIFIED BY 'PASSWORD';
-
GRANT命令說(shuō)明:
priveleges(權(quán)限列表),可以是all priveleges, 表示所有權(quán)限,也可以是select、update等權(quán)限,多個(gè)權(quán)限的名詞,相互之間用逗號(hào)分開(kāi)。
on用來(lái)指定權(quán)限針對(duì)哪些庫(kù)和表。
. 中前面的號(hào)用來(lái)指定數(shù)據(jù)庫(kù)名,后面的號(hào)用來(lái)指定表名。
to 表示將權(quán)限賦予某個(gè)用戶, 如 jack@'localhost' 表示jack用戶,@后面接限制的主機(jī),可以是IP、IP段、域名以及%,%表示任何地方。注意:這里%有的版本不包括本地,以前碰到過(guò)給某個(gè)用戶設(shè)置了%允許任何地方登錄,但是 在本地登錄不了,這個(gè)和版本有關(guān)系,遇到這個(gè)問(wèn)題再加一個(gè)localhost的用戶就可以了。
identified by指定用戶的登錄密碼,該項(xiàng)可以省略。
WITH GRANT OPTION 這個(gè)選項(xiàng)表示該用戶可以將自己擁有的權(quán)限授權(quán)給別人。注意:經(jīng)常有人在創(chuàng)建操作用戶的時(shí)候不指定WITH GRANT OPTION選項(xiàng)導(dǎo)致后來(lái)該用戶不能使用GRANT命令創(chuàng)建用戶或者給其它用戶授權(quán)。備注:可以使用GRANT重復(fù)給用戶添加權(quán)限,權(quán)限疊加,比如你先給用戶添加一個(gè)select權(quán)限,然后又給用戶添加一個(gè)insert權(quán)限,那么該用戶就同時(shí)擁有了select和insert權(quán)限。
-
* 2.授權(quán)原則說(shuō)明:
權(quán)限控制主要是出于安全因素,因此需要遵循一下幾個(gè)經(jīng)驗(yàn)原則:
a、只授予能滿足需要的最小權(quán)限,防止用戶干壞事。比如用戶只是需要查詢,那就只給select權(quán)限就可以了,不要給用戶賦予update、insert或者delete權(quán)限。
b、創(chuàng)建用戶的時(shí)候限制用戶的登錄主機(jī),一般是限制成指定IP或者內(nèi)網(wǎng)IP段。
c、初始化數(shù)據(jù)庫(kù)的時(shí)候刪除沒(méi)有密碼的用戶。安裝完數(shù)據(jù)庫(kù)的時(shí)候會(huì)自動(dòng)創(chuàng)建一些用戶,這些用戶默認(rèn)沒(méi)有密碼。
d、為每個(gè)用戶設(shè)置滿足密碼復(fù)雜度的密碼。
e、定期清理不需要的用戶?;厥諜?quán)限或者刪除用戶。
本地命令行連接遠(yuǎn)程mysql server
進(jìn)入命令行,連接:
mysql -u 用戶名 -p密碼 -h 服務(wù)器IP地址 -P 服務(wù)器端MySQL端口號(hào) -D 數(shù)據(jù)庫(kù)名
注意:
(1)服務(wù)器端口標(biāo)志-P一定要大些以區(qū)別于用戶-p,如果直接連接數(shù)據(jù)庫(kù)標(biāo)志-D也要大寫(xiě);
(2)如果要直接輸入密碼-p后面不能留有空格如-pmypassword;
(3)命令結(jié)束段沒(méi)有';'分號(hào)。
例子:
mysql -u lzpddd -pmypassword -h 192.168.1.88 -P 3306 -D mydb
5、安裝redis
1、 從http://redis.io/ 下載redis-3.2.4.tar.gz
2、 上傳到linux后移動(dòng)到/opt/redis目錄下
3、 解壓 sudo tar -zxvf redis-3.2.4.tar.gz
4、 進(jìn)入解壓后的文件夾進(jìn)行編譯 make
5、 安裝 make install
6、 測(cè)試一下 make test
報(bào)錯(cuò)缺少tcl (tcl 是一種解譯語(yǔ)言,也是一套 C 的函式庫(kù))
安裝tcl apt-get install tcl
報(bào)錯(cuò)Executing test client: NOREPLICAS Not enoughgood slaves to write..
修改文件tests/integration/replication-2.tcl,將after 1000改為after 10000以延長(zhǎng)等待時(shí)間。
報(bào)錯(cuò)[err]: Server is able to generate a stack trace on selected systems in tests/integration/logging.
只是某個(gè)測(cè)試沒(méi)有通過(guò),可以忽略。
7、創(chuàng)建Redis配置目錄 /etc/redis
mkdir /etc/redis
8、拷貝配置文件:
cp /opt/redis/redis-3.2.4/redis.conf/ /etc/redis
9、編輯配置文件(暫未編輯)
修改端口、配置數(shù)據(jù)庫(kù)保存目錄、其它
10、(1)通過(guò)指定配置文件啟動(dòng);
redis-server /etc/redis/redis.conf
(2)通過(guò)命令redis-server 啟動(dòng),可在命令后加上&號(hào)使redis以后臺(tái)程序方式運(yùn)行;
redis-server &
11、客戶端登陸 redis-cli
12、關(guān)閉Redis服務(wù) redis-cli shutdown
設(shè)置redis開(kāi)機(jī)啟動(dòng)
修改redis.conf(/etc/redis下)
#打開(kāi)后臺(tái)運(yùn)行選項(xiàng)
daemonize yes
#設(shè)置日志文件路徑
logfile "/var/log/redis/redis.log"
編寫(xiě)腳本
vim /etc/init.d/redis
#!/bin/sh
# chkconfig: 2345 10 90
# description: Start and Stop redis
PATH=/usr/local/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/etc/redis/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed."
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE exists, process is not running."
else
PID=$(cat $PIDFILE)
echo "Stopping..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x $PIDFILE ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|fore-reload}"
exit 1
esac
添加腳本的執(zhí)行權(quán)限
sudo chmod +x /etc/init.d/redis
設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng)
sudo update-rc.d redis defaults
報(bào)錯(cuò):

上面為兩個(gè)錯(cuò)誤
第一個(gè)參考https://my.oschina.net/u/943306/blog/345923
解決方法:安裝一個(gè)中文語(yǔ)言,系統(tǒng)就知道zh_CN.UTF-8了,這個(gè)時(shí)候用perl就不會(huì)報(bào)錯(cuò)了
apt-get install language-pack-zh-hans
第二個(gè)參考:http://bashell.nodemedia.cn/archives/directspace-debian-6-vps-vzquota-missing.html
解決方法:編輯/etc/init.d/redis
在文件頭部#!/bin/sh下面添加
### BEGIN INIT INFO
# Provides: OSSEC HIDS
# Required-Start: remote_fs
time
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OSSEC HIDS
### END INIT INFO
使用腳本啟動(dòng)服務(wù)
開(kāi)啟redis: service redis start
停止redis: service redis stop
重啟redis: service redis restart
查看服務(wù)狀態(tài):service redis status
最后將機(jī)器關(guān)機(jī),重新啟動(dòng)
此時(shí)redis服務(wù)也啟動(dòng)了。
參考
ubuntu永久修改主機(jī)名
Ubuntu 16.04 安裝mysql并設(shè)置遠(yuǎn)程訪問(wèn)
ubuntu中管理用戶和用戶組
CentOS7 64位下MySQL5.7安裝與配置
Centos 7.4 安裝 Redis 全過(guò)程