⑴ linux 在線和離線安裝 MySQL
1 linux的常用軟體安裝
配置阿里雲的yum源
1) 安裝wget
2)下載yum源的配置文件
3) 替換原有的yum源
4) 更新現有yum
5) 安裝常用軟體
2 linux的JDK安裝
此處我們選用 jdk1.8_144這個版本作為我們的基礎JDK,此處要切記一點的是1.8的不同版本JDK在配置上會有很大的出入,所以請不要隨便更換基礎的JDK版本,否則你會很尷尬!
使用 rz 上傳jdk到root的家目錄
使用rpm命令安裝jdk
配置jdk的環境變數
刷新環境變數
到此 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配置文件載入順序:
修改/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 文件目錄
6)生成首次登錄隨機密碼
通過上面命令會在 /data/mysql/log/mysqld.log 中生成隨機碼,隨機碼用來首次登錄mysql。
7)修改mysql 文件目錄所有者為 mysql 用戶
8)啟動mysql
9) 關閉並重啟mysql(可選)
如果再次啟動報錯,就重啟Linux 系統。
10)用生成的隨機密碼登錄mysql
登錄後進入mysql 命令行
11)修改ROOT用戶密碼
設置完密碼後,需要用新密碼重新登錄
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 目錄
5 linux 離線安裝MySQL
1) 卸載CentOS7系統自帶mariadb
2) 檢查mysql是否存在
3) 檢查mysql的用戶和組是否存在如果不存在就創建
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的離線安裝包並解壓進行傳統配置
6) 創建配置文件
7) 開始安裝MySQL
設置許可權
8) 啟動MySQL
9) 設置開機啟動
10) 修改配置文件
11) 獲取初始密碼
獲取初始密碼
創建軟連接
登錄mysql
修改密碼
檢驗密碼是否成功
設置遠程訪問
海汼部落原創文章,原文鏈接:(http://hainiubl.com/topics/75580)
⑵ 怎樣在Linux環境下安裝部署MySQL資料庫系統
在Linux安裝軟體需要預先做好如下一些准備:准備好Linux操作系統如:CentOS7。配置好yum源。
完成上述准備後,就可以動手安裝MySQL資料庫了。主要安裝步驟如下:
1. 禁用selinux
setenforce 0
2. 上傳安裝文件到Linux
3.解壓rpm包
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
4.安裝軟體
yum install mysql-community-{libs,client,common,server}-*.rpm
5.啟動mysql資料庫初始化
systemctl start mysqld
6.修改vi /etc/my.cnf
添加:
[mysqld]
#可以在表中錄入中文
character-set-server=utf8 #
explicit-defaults-for-timestamp
# 禁用當前密碼認證策略,可以使用簡單密碼(生產環境不適用)
validate_password=0
7.重啟mysql服務
systemctl restart mysqld
8.找臨時登錄密碼
grep -i "temporary password" /var/log/mysqld.log
9.連接MySQL資料庫
mysql -uroot -p 輸入臨時密碼
10.修改root用戶登錄密碼為簡單密碼(生產環境不適用)
alter user root@localhost identified by '';
11.配置MYSQL_PS1環境變數
修改家目錄下:.bash_profile文件,添加
export MYSQL_PS1="\u@\h[\d]>"
12.使新環境變數生效
source /root/.bash_profile
13.重新連接mysql驗證
mysql -uroot -p
除了上述安裝方式以外,可能在公司中會遇到安裝指定版本的需求,那麼如何安裝指定版本的MySQL數據呢?這時我們可以採用下載指定版本安裝包進行安裝的方式,主要步驟如下,假設CentOS7 linux最小安裝,已經配置好yum。首先檢查是否安裝numactl包
rpm -qa|grep numactl
yum install numactl-libs-* # 如果沒有安裝需要安裝。檢查是否安裝lio包
rpm -qa|grep lio
yum install lio-* # 如果沒有安裝需要安裝
具體安裝步驟如下:
* 禁用selinux
setenforce 0
* 上傳安裝文件到Linux
mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
* 創建mysql用戶組和用戶
groupadd -g 27 -r mysql
#-r創建系統賬戶,-M 不創建用戶家目錄 -N 不創建和用戶名一樣的用戶組
useradd -M -N -g mysql -r -s /bin/false -c "MySQL Server" -u 27 mysql
id mysql
* 上傳安裝包到root家目錄
* 解壓二進制文件到/usr/local
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local
* 解壓目錄改名為mysql
cd /usr/local
ls -l
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
* 環境變數中添加mysql/bin目錄
vi /root/.bash_profile
修改PATH=/usr/local/mysql/bin:$PATH:$HOME/bin
添加 export MYSQL_PS1="\u@\h[\d]>"
source /root/.bash_profile
* 創建/usr/local/mysql/etc/my.cnf選項文件 (也可以使用默認的/etc/my.cnf選項文件)
mkdir -p /usr/local/mysql/etc
mkdir -p /usr/local/mysql/mysql-files
* 編輯選項文件my.cnf填寫默認選項
vi /usr/local/mysql/etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
log-error=/usr/local/mysql/data/mysqld.err
pid-file=/usr/local/mysql/data/mysqld.pid
secure_file_priv=/usr/local/mysql/mysql-files
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
Explicit-defaults-for-timestamp
character-set-server=utf8
[mysql]
socket=/usr/local/mysql/data/mysql.sock
* 初始化數據目錄
cd /usr/local/mysql
mkdir data
chmod 750 data
chown mysql:mysql data
* 初始化資料庫
cd /usr/local/mysql
bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --initialize
* 使用systemd管理mysql
例如:systemctl {start|stop|restart|status} mysqld
cd /usr/lib/systemd/system
touch mysqld.service
chmod 644 mysqld.service
vi mysqld.service
# 添加以下內容
[Unit]
Description=MySQL Server
Documentation=man:mysqld(7)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/usr/local/mysql/data/mysqld.pid
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 65535
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false
以上內容中注意:The --pid-file option specified in the my.cnf configuration file is ignored by systemd.
默認:LimitNOFILE = 5000,如果連接數(max_connection)需要調大,可以將LimitNOFILE 設置為最大65535
* 創建mysql.conf文件
cd /usr/lib/tmpfiles.d
#Add a configuration file for the systemd tmpfiles feature. The file is named mysql.conf and is placed in /usr/lib/tmpfiles.d.
cd /usr/lib/tmpfiles.d
touch mysql.conf
chmod 644 mysql.conf
* mysql.conf添加內容
vi mysql.conf
添加以下語句:
d /usr/local/mysql/data 0750 mysql mysql -
* 使新添加的mysqld服務開機啟動
systemctl enable mysqld.service
* 手動啟動mysqld
systemctl start mysqld
systemctl status mysqld
* 獲得mysql臨時登錄密碼
cat /usr/local/mysql/data/mysqld.err | grep "temporary password"
* 客戶端登錄連接mysql伺服器
mysql -uroot -p
輸入臨時密碼
* 修改MySQL用戶root@localhost密碼
mysql> alter user root@localhost identified by ''; #此處為了方便設置為空密碼
* 測試新密碼連接MySQL服務
mysql -uroot -p
至此,我們就完成了在Linux環境下安裝MySQL的任務。通過這兩種方式我們可以體會到在Linux環境下安裝軟體的基本思路及方法。