在Linux安裝軟件需要預(yù)先做好如下一些準(zhǔn)備:準(zhǔn)備好Linux操作系統(tǒng)如:CentOS7。配置好yum源。
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),旌陽網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:旌陽等地區(qū)。旌陽做網(wǎng)站價(jià)格咨詢:18982081108
完成上述準(zhǔn)備后,就可以動(dòng)手安裝MySQL數(shù)據(jù)庫(kù)了。主要安裝步驟如下:
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.啟動(dòng)mysql數(shù)據(jù)庫(kù)初始化
systemctl start mysqld
6.修改vi /etc/my.cnf
添加:
[mysqld]
#可以在表中錄入中文
character-set-server=utf8 #
explicit-defaults-for-timestamp
# 禁用當(dāng)前密碼認(rèn)證策略,可以使用簡(jiǎ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ù)庫(kù)
mysql -uroot -p 輸入臨時(shí)密碼
10.修改root用戶登錄密碼為簡(jiǎn)單密碼(生產(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
除了上述安裝方式以外,可能在公司中會(huì)遇到安裝指定版本的需求,那么如何安裝指定版本的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-* # 如果沒有安裝需要安裝
具體安裝步驟如下:
* 禁用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ù)庫(kù)
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=
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ī)啟動(dòng)
systemctl enable mysqld.service
* 手動(dòng)啟動(dòng)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è)置為空密碼
* 測(cè)試新密碼連接MySQL服務(wù)
mysql -uroot -p
至此,我們就完成了在Linux環(huán)境下安裝MySQL的任務(wù)。通過這兩種方式我們可以體會(huì)到在Linux環(huán)境下安裝軟件的基本思路及方法。
mysql安裝部署和配置:
1.安裝包:mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
2.解壓:tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
3.進(jìn)入:cd /opt/ 并且把mysql-5.6.33-linux-glibc2.5-x86_64文件拷貝到當(dāng)前目錄 改名為mysql
4.創(chuàng)建分組和用戶:groupadd mysql,useradd -r -g mysql mysql
5.建立連接:ln -s /E/mysql/bin/mysql /usr/bin/
6.初始化mysql ./scripts/mysql_install_db --user=mysql
7.權(quán)限設(shè)置:chown -R mysql data
8.復(fù)制配置文件:cp support-files/my-medium.cnf /etc/my.cnf
9.將mysqld服務(wù)加入開機(jī)自啟動(dòng)項(xiàng),cp support-files/mysql.server /etc/init.d/mysqld
10.通過chkconfig命令將mysqld服務(wù)加入到自啟動(dòng)服務(wù)項(xiàng)中 chkconfig --add mysqld
11.查看是否添加成功 chkconfig --list mysqld
12.安裝設(shè)置完成,重啟mysqld服務(wù)或者重啟系統(tǒng):重啟mysqld的服務(wù)命令:service mysqld start
本文將演示如何在 KubeSphere[1] 上部署 RadonDB MySQL on Kubernetes 2.1.2 ,快速實(shí)現(xiàn)高可用的 MySQL on K8s。
若已在 KubeSphere 部署過歷史版本 Operator,可以選擇如下方式更新到最新版本。
可任選一個(gè) RadonDB MySQL 配置示例[5] 部署,或自定義配置部署。
以 mysql_v1alpha1_mysqlcluster.yaml 模版為例,創(chuàng)建一個(gè) RadonDB MySQL 集群。
注意
未指定項(xiàng)目時(shí),集群將被默認(rèn)安裝在 kubesphere-controls-system 項(xiàng)目中。若需指定項(xiàng)目,安裝命令需添加 --namespace=project_name 。
預(yù)期結(jié)果
預(yù)期結(jié)果
在 demo-project 項(xiàng)目中,查看 RadonDB MySQL 集群狀態(tài)。
至此,完成在 KubeSphere 中部署 RadonDB MySQL 集群。
[1]:KubeSphere:
[2]:OpenPitrix:
[3]:創(chuàng)建操作:
[4]:項(xiàng)目網(wǎng)關(guān):
[5]:配置示例:
借鑒:
cd?/usr/local
將部署包:mysql-5.7.27-aarch64.tar.gz 上傳到?/usr/local 下
tar xvf mysql-5.7.27-aarch64.tar.gz
mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql
mkdir -p /usr/local/mysql/logs
ln -sf /usr/local/mysql/my.cnf /etc/my.cnf
cp -rf /usr/local/mysql/extra/lib* /usr/lib64/
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.old
ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl enable mysqld
vim /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
source /etc/profile
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
systemctl start mysqld
systemctl status mysqld
移動(dòng)文件 mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql
創(chuàng)建logs目錄 mkdir -p /usr/local/mysql/logs
ln -sf a b 建立軟連接,b指向a:ln -sf /usr/local/mysql/my.cnf /etc/my.cnf
cp是linux里的拷貝命令-r 是用于目錄拷貝時(shí)的遞歸操作-f 是強(qiáng)制覆蓋:cp -rf /usr/local/mysql/extra/lib* /usr/lib64/
創(chuàng)建mysql組:ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
創(chuàng)建mysql用戶添加到mysql組:groupadd mysql useradd -g mysql mysql
將/usr/loca/mysql目錄包含所有的子目錄和文件,所有者改變?yōu)閞oot,所屬組改變?yōu)閙ysql:chown -R mysql:mysql /usr/local/mysql
設(shè)置開機(jī)啟動(dòng):
cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl enable mysqld
添加環(huán)境變量:
vim /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=PATH:PATH:PATH:MYSQL_HOME/bin
source /etc/profile
初始化mysql:mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
開啟mysql:systemctl start mysqld
查看狀態(tài):systemctl status mysqld