400-650-7353
您所在的位置:首頁 > IT干貨資料 > linux > 【Linux基礎(chǔ)知識】Linux環(huán)境下如何安裝部署數(shù)據(jù)庫MySQL

【Linux基礎(chǔ)知識】Linux環(huán)境下如何安裝部署數(shù)據(jù)庫MySQL

  • 來源:Linux干貨資料
  • 2019-12-11 14:15:32
  • 閱讀()
  • 分享
  • 手機(jī)端入口

在Linux安裝軟件需要預(yù)先做好如下一些準(zhǔn)備:準(zhǔn)備好Linux操作系統(tǒng)如:CentOS7。配置好yum源。

完成上述準(zhǔn)備后,就可以動手安裝MySQL數(shù)據(jù)庫了。主要安裝步驟如下:

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數(shù)據(jù)庫初始化

systemctl start mysqld

6.修改vi /etc/my.cnf

添加:

[mysqld]

#可以在表中錄入中文

character-set-server=utf8 #

explicit-defaults-for-timestamp

# 禁用當(dāng)前密碼認(rèn)證策略,可以使用簡單密碼(生產(chǎn)環(huán)境不適用)

validate_password=0

7.重啟mysql服務(wù)

systemctl restart mysqld

8.找臨時(shí)登錄密碼

grep -i "temporary password" /var/log/mysqld.log

9.連接MySQL數(shù)據(jù)庫

mysql -uroot -p 輸入臨時(shí)密碼

10.修改root用戶登錄密碼為簡單密碼(生產(chǎn)環(huán)境不適用)

alter user root@localhost identified by '';

11.配置MYSQL_PS1環(huán)境變量

修改家目錄下:.bash_profile文件,添加

export MYSQL_PS1="\u@\h[\d]>"

12.使新環(huán)境變量生效

source /root/.bash_profile

13.重新連接mysql驗(yàn)證

mysql -uroot -p

除了上述安裝方式以外,可能在公司中會遇到安裝指定版本的需求,那么如何安裝指定版本的MySQL數(shù)據(jù)呢?這時(shí)我們可以采用下載指定版本安裝包進(jìn)行安裝的方式,主要步驟如下,假設(shè)CentOS7 linux最小安裝,已經(jīng)配置好yum。首先檢查是否安裝numactl包

rpm -qa|grep numactl

yum install numactl-libs-* # 如果沒有安裝需要安裝。檢查是否安裝libaio包

rpm -qa|grep libaio

yum install libaio-* # 如果沒有安裝需要安裝

Linux環(huán)境下安裝部署數(shù)據(jù)庫MySQL

具體安裝步驟如下:

* 禁用selinux

setenforce 0

* 上傳安裝文件到Linux

mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

* 創(chuàng)建mysql用戶組和用戶

groupadd -g 27 -r mysql

#-r創(chuàng)建系統(tǒng)賬戶,-M 不創(chuàng)建用戶家目錄 -N 不創(chuàng)建和用戶名一樣的用戶組

useradd -M -N -g mysql -r -s /bin/false -c "MySQL Server" -u 27 mysql

id mysql

* 上傳安裝包到root家目錄

* 解壓二進(jìn)制文件到/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

* 環(huán)境變量中添加mysql/bin目錄

vi /root/.bash_profile

修改PATH=/usr/local/mysql/bin:$PATH:$HOME/bin

添加 export MYSQL_PS1="\u@\h[\d]>"

source /root/.bash_profile

* 創(chuàng)建/usr/local/mysql/etc/my.cnf選項(xiàng)文件 (也可以使用默認(rèn)的/etc/my.cnf選項(xiàng)文件)

mkdir -p /usr/local/mysql/etc

mkdir -p /usr/local/mysql/mysql-files

* 編輯選項(xiàng)文件my.cnf填寫默認(rèn)選項(xiàng)

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

* 初始化數(shù)據(jù)目錄

cd /usr/local/mysql

mkdir data

chmod 750 data

chown mysql:mysql data

* 初始化數(shù)據(jù)庫

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

# 添加以下內(nèi)容

[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

以上內(nèi)容中注意:The --pid-file option specified in the my.cnf configuration file is ignored by systemd.

默認(rèn):LimitNOFILE = 5000,如果連接數(shù)(max_connection)需要調(diào)大,可以將LimitNOFILE 設(shè)置為最大65535

* 創(chuàng)建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添加內(nèi)容

vi mysql.conf

添加以下語句:

d /usr/local/mysql/data 0750 mysql mysql -

* 使新添加的mysqld服務(wù)開機(jī)啟動

systemctl enable mysqld.service

* 手動啟動mysqld

systemctl start mysqld

systemctl status mysqld

* 獲得mysql臨時(shí)登錄密碼

cat /usr/local/mysql/data/mysqld.err | grep "temporary password"

* 客戶端登錄連接mysql服務(wù)器

mysql -uroot -p

輸入臨時(shí)密碼

* 修改MySQL用戶root@localhost密碼

mysql> alter user root@localhost identified by ''; #此處為了方便設(shè)置為空密碼

* 測試新密碼連接MySQL服務(wù)

mysql -uroot -p

至此,我們就完成了在Linux環(huán)境下安裝MySQL的任務(wù)。通過這兩種方式我們可以體會到在Linux環(huán)境下安裝軟件的基本思路及方法。

文章“【Linux基礎(chǔ)知識】Linux環(huán)境下如何安裝部署數(shù)據(jù)庫MySQL”已幫助

>>本文地址:http://liujunjsxg.cn/zhuanye/2019/48117.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個方向的工作?

獲取測試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營全域電商運(yùn)營
  • 軟件測試軟件測試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁設(shè)計(jì)網(wǎng)頁設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開發(fā)智能機(jī)器人
 

快速通道fast track

近期開班時(shí)間TIME