1 linux的常用軟件安裝
配置阿里云的yum源
1) 安裝wget
[root@localhost ~]# yum -y install wget
2)下載yum源的配置文件
[root@localhost ~]# wget http://mirrors.aliyun.com/repo/centos-7.repo
3) 替換原有的yum源
[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo ~/ <-- 備份原有的到root的家目錄
[root@localhost ~]# mv ~/Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo <-- 將下載的yum配置文件放在系統的指定目錄
4) 更新現有yum
[root@localhost ~]# yum clean all && yum makecache && yum -y update
5) 安裝常用軟件
[root@localhost ~]# yum -y install openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl lrzsz openssh-clients zlib zlib-devel make autoconf automake cmake libtool openssl openssl-devel fuse-devel snAppy-devel telnet unzip zip net-tools.x86_64 firewalld systemd ntp
2 linux的JDK安裝
此處我們選用 jdk1.8_144這個版本作為我們的基礎JDK,此處要切記一點的是1.8的不同版本JDK在配置上會有很大的出入,所以請不要隨便更換基礎的JDK版本,否則你會很尷尬!
使用 rz 上傳jdk到root的家目錄
[root@localhost ~]# rz
使用rpm命令安裝jdk
[root@localhost ~]# rpm -ivh jdk-8u144-linux-x64.rpm
配置jdk的環境變量
[root@localhost ~]# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
刷新環境變量
[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.8.0_144/bin
[root@localhost ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
到此 JDK安裝完成
3 安裝MySQL前說明
本例安裝MySQL版本是 5.7
4 linux 在線安裝MySQL
用root用戶安裝
1)獲取mysql 源安裝包
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
2)安裝mysql 源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
3)檢查mysql源是否安裝成功
yum repolist enabled | grep "mysql.-community."
3)用 yum 命令安裝mysql
yum install mysql-community-server
4)修改mysql的配置文件
查看MYSQL配置文件加載順序:
mysqld --help --verbose|grep -A1 -B1 cnf
修改/etc/my.cnf 配置文件內的文件目錄
datadir=/data/mysql/data
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
log-error=/data/mysql/log/mysqld.log
其中:
SQL_MODE:通過對其正確的設置可以完成一些約束檢查的工作,設置時,在配置文件my.cnf 中配置進行全局的設置。
STRICT_TRANS_TALES(嚴格模式):
只對支持事務的表啟用嚴格模式。
NO_AUTO_CREATE_USER:
? 禁止GRANT創建密碼為空的用戶。
NO_ENGINE_SUBSTITUTION:
? 啟用后,若需要的存儲引擎被禁用或未編譯,則拋出錯誤;未啟用時將用默認的存儲引擎代替,并拋出一個異常。
5)創建mysql 文件目錄
[root@localhost jar]# mkdir -p /data/mysql/data
[root@localhost jar]# mkdir -p /data/mysql/log
6)生成首次登錄隨機密碼
mysqld --initialize
通過上面命令會在
/data/mysql/log/mysqld.log 中生成隨機碼,隨機碼用來首次登錄mysql。
7)修改mysql 文件目錄所有者為 mysql 用戶
chown -R mysql:mysql /data/mysql
8)啟動mysql
systemctl start mysqld.service
9) 關閉并重啟mysql(可選)
systemctl stop mysqld.service
systemctl start mysqld.service
如果再次啟動報錯,就重啟Linux 系統。
10)用生成的隨機密碼登錄mysql
mysql -uroot -p'ujkq0>4*/yMD'
登錄后進入mysql 命令行
11)修改ROOT用戶密碼
set password=PASSWORD('12345678');
設置完密碼后,需要用新密碼重新登錄
12)卸載mysql(不是必須的)
如果啟動報錯,根據錯誤查看原因,如果實在解決不了,卸載mysql 重新裝。
查看已經安裝過的組件
rpm -qa | grep -i mysql
用yum -y remove 卸載所有mysqlyum -y remove
mysql57-community-release-el7-11.noarch yum -y remove mysql-community-common-5.7.19-1.el7.x86_64
卸載后再用 rpm -qa | grep -i mysql 查看,直至全部卸載
刪除/data/mysql 目錄
rm -rf /data/mysql
5 linux 離線安裝MySQL
1) 卸載CentOS7系統自帶mariadb
# 查看系統自帶的Mariadb
[root@localhost ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64
# 卸載系統自帶的Mariadb
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
# 刪除etc目錄下的my.cnf(如果有就刪除,可以執行試一下,沒有會提示你的)
[root@localhost ~]# rm /etc/my.cnf
2) 檢查mysql是否存在
# 檢查是否已經安裝
[root@localhost ~]# rpm -qa | grep mysql
# 如果什么都沒有返回 空的 說明啥也沒安 可以繼續安裝
3) 檢查mysql的用戶和組是否存在如果不存在就創建
# 檢查有沒有mysql用戶
[root@localhost ~]# cat /etc/passwd | grep mysql
# 檢查有沒有mysql組
[root@localhost ~]# cat /etc/group | grep mysql
# 查詢全部用戶
[root@localhost ~]# cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F ":" '{print $1 "|" $3 "1" $4}' | more
# 如果不存在就創建mysql用戶
# 創建mysql用戶組
[root@localhost ~]# groupadd mysql
# 創建一個用戶名為mysql的用戶,并加入mysql用戶組
[root@localhost ~]# useradd -g mysql mysql
# 設置mysql的密碼 000000
[root@localhost ~]# passwd mysql
更改用戶 mysql 的密碼 。
新的 密碼:
無效的密碼: 密碼是一個回文
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
4) 下載MySQL的離線安裝包
官網下載地址:
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
版本選擇,可以選擇一下兩種方式:
1)使用Red Hat Enterprise Linux
Select Version: 5.7.* (因為更新的緣故具體細節版本可自行查看)
Select Operating System: Red Hat Enterprise Linux / Oracle Linux
Select OS Version: Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)
列表中下載:
Compressed TAR Archive:(
mysql-5.7.25-el7-x86_64.tar.gz) 【本文中使用的是這個版本】
2)使用Linux - Generic
Select Version: 5.7.* (因為更新的緣故具體細節版本可自行查看)
Select Operating System: Linux - Generic
Select OS Version: Linux - Generic (glibc 2.12) (x86, 64-bit)
列表中下載:
Compressed TAR Archive:(mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz)
注意:上邊兩種方式找mysql離線安裝包的方式都可以。
選完跳到以下這個頁面點擊 下面的連接就可以開始下載了
5) 上傳MySQL的離線安裝包并解壓進行傳統配置
# 將mysql解壓到 /usr/local 下
[root@localhost mysoft]# tar -zxvf mysql-5.7.29-el7-x86_64.tar.gz -C /usr/local/
# 創建軟連接
[root@localhost local]# ln -s mysql-5.7.29-el7-x86_64 mysql
# 修改目錄與軟件連的所屬用戶和組
[root@localhost local]# chown -R mysql:mysql mysql-5.7.29-el7-x86_64
[root@localhost local]# chown -h mysql:mysql mysql
# 創建mysql的數據目錄
# 進入mysql(cd /usr/local/mysql)
[root@localhost local]# cd mysql
# 創建 data 目錄
[root@localhost mysql]# mkdir data
# 目錄賦權
[root@localhost mysql]# chown mysql:mysql ./data
6) 創建配置文件
[root@localhost local]# cd mysql
[root@localhost mysql]# vim my.cnf
(內容如下 : )
[mysql]
socket=/var/lib/mysql/mysql.sock
# set mysql client default chararter
default-character-set=utf8
[mysqld]
socket=/var/lib/mysql/mysql.sock
# set mysql server port
port = 3306
# set mysql install base dir
basedir=/usr/local/mysql
# set the data store dir
datadir=/usr/local/mysql/data
# set sql mode
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# set the number of allow max connnection
max_connections=200
# set server charactre default encoding
character-set-server=utf8
# the storage engine
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
explicit_defaults_for_timestamp=true
[mysql.server]
user=mysql
basedir=/usr/local/mysql
7) 開始安裝MySQL
[root@localhost mysql]# cd /usr/local/mysql
[root@localhost mysql]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
2020-02-12 15:14:15 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2020-02-12 15:14:20 [WARNING] The bootstrap log isn't empty:
2020-02-12 15:14:20 [WARNING] 2020-02-12T07:14:16.103773Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2020-02-12T07:14:16.104788Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2020-02-12T07:14:16.104795Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
設置權限
[root@localhost mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chown 777 my.cnf
[root@localhost mysql]# chmod +x /etc/init.d/mysqld
8) 啟動MySQL
[root@localhost mysql]# mkdir -p /var/lib/mysql
[root@localhost mysql]# chown -R mysql:mysql /var/lib/mysql
# 啟動一次
[root@localhost mysql]# /etc/init.d/mysqld restart
ERROR! MySQL server PID file could not be found!
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
SUCCESS!
# 再啟動一次
[root@localhost mysql]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
9) 設置開機啟動
[root@localhost mysql]# chkconfig --level 35 mysqld on
[root@localhost mysql]# chkconfig --list mysqld
注:該輸出結果只顯示 SysV 服務,并不包含
原生 systemd 服務。SysV 配置數據
可能被原生 systemd 配置覆蓋。
要列出 systemd 服務,請執行 'systemctl list-unit-files'。
查看在具體 target 啟用的服務請執行
'systemctl list-dependencies [target]'。
mysqld 0:關 1:關 2:開 3:開 4:開 5:開 6:關
[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig --list mysqld
注:該輸出結果只顯示 SysV 服務,并不包含
原生 systemd 服務。SysV 配置數據
可能被原生 systemd 配置覆蓋。
要列出 systemd 服務,請執行 'systemctl list-unit-files'。
查看在具體 target 啟用的服務請執行
'systemctl list-dependencies [target]'。
mysqld 0:關 1:關 2:開 3:開 4:開 5:開 6:關
[root@localhost mysql]# service mysqld status
SUCCESS! MySQL running (60791)
10) 修改配置文件
[root@localhost mysql]# vim /etc/profile
添加一行 export PATH=$PATH:/usr/local/mysql/bin
[root@localhost mysql]# source /etc/profile
11) 獲取初始密碼
獲取初始密碼
[root@localhost mysql]# cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2020-02-12 15:14:15
Qba3P)r#ft_>
創建軟連接
[root@localhost mysql]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
登錄mysql
[root@localhost tmp]# mysql -uroot -p'Qba3P)r#ft_>'
修改密碼
[root@localhost tmp]# mysql -uroot -p'Qba3P)r#ft_>'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.7.29
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> set PASSWORD = PASSWORD('000000');
Query OK, 0 rows affected, 1 warning (0.00 sec)
檢驗密碼是否成功
mysql> exit
Bye
[root@localhost tmp]# mysql -uroot -p000000
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3
Server version: 5.7.29 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql>
設置遠程訪問
[root@localhost tmp]# mysql -uroot -p000000
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3
Server version: 5.7.29 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> grant all privileges on *.* to 'root'@'%' identified by '000000';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> grant all privileges on *.* to 'root'@'localhost' identified by '000000';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
海汼部落原創文章,原文鏈接:(
http://hainiubl.com/topics/75580)