同一個服務(wù)器可以做多個網(wǎng)站百度收錄規(guī)則
包安裝
添加國內(nèi)源:mysql | 鏡像站使用幫助 | 清華大學(xué)開源軟件鏡像站 | Tsinghua Open Source Mirror
注意:5.7安裝之后有一個臨時密碼,進(jìn)行登錄并修改新密碼后才可以對mysql進(jìn)行操作。
可以yun list看看各個系統(tǒng)光盤自帶的都是什么版本,或者什么分支(mysql/mariadb)。
centos7.9自帶的是mariadb
[root@ctos79 mysql 09:04:29]#yum list | grep mariadb
mariadb-libs.x86_64 1:5.5.68-1.el7 @anaconda
mariadb.x86_64 1:5.5.68-1.el7 BaseOS
mariadb-bench.x86_64 1:5.5.68-1.el7 BaseOS
mariadb-devel.i686 1:5.5.68-1.el7 BaseOS
mariadb-devel.x86_64 1:5.5.68-1.el7 BaseOS
mariadb-embedded.i686 1:5.5.68-1.el7 BaseOS
mariadb-embedded.x86_64 1:5.5.68-1.el7 BaseOS
mariadb-embedded-devel.i686 1:5.5.68-1.el7 BaseOS
mariadb-embedded-devel.x86_64 1:5.5.68-1.el7 BaseOS
mariadb-libs.i686 1:5.5.68-1.el7 BaseOS
mariadb-server.x86_64 1:5.5.68-1.el7 BaseOS
mariadb-test.x86_64 1:5.5.68-1.el7 BaseOS
二進(jìn)制文件安裝MySQL 5.7
安裝依賴包
yum -y install libaio numactl-libs ncurses-compat-libs
添加用戶和組
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
下載包并安裝
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gztar xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local
cd /usr/localln -s mysql-5.7.44-linux-glibc2.12-x86_64 mysql
chown -R root.root /usr/local/mysql/
添加環(huán)境變量
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
修改配置文件
cp /etc/my.cnf{,.bak}
cat > /etc/my.cnf <<EOF
[mysqld]
datadir=/data/mysql
skip_name_resolve=1
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
EOF
創(chuàng)建數(shù)據(jù)文件路徑
mkdir -pv /data/mysql
生成臨時密碼
# 隨機(jī)密碼
mysqld --initialize --user=mysql --datadir=/data/mysql
awk '/temporary password/{print $NF}' /data/mysql/mysql.log
vp-jEZe,K4lg# 空密碼
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql
準(zhǔn)備服務(wù)腳本和啟動
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
修改密碼
# 修改root密碼
mysqladmin -uroot -p'vp-jEZe,K4lg' password 123456# 如果前面為空密碼
mysqladmin -uroot password 123456
最后一步,登錄測試
[root@ctos79 mysql 03:56:50]#mysql -uroot -p123456
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 4
Server version: 5.7.44 MySQL Community Server (GPL)Copyright (c) 2000, 2023, Oracle and/or its affiliates.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>
源碼安裝(centos7)
編譯 make -j 8 多線程編譯
5.6還是需要執(zhí)行安全加固的。
安裝依賴包
yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel \
libarchive-devel boost-devel ncurses-devel gnutls-devel libxml2-devel \
openssl-devel libevent-devel libaio-devel perl-Data-Dumper
添加用戶及數(shù)據(jù)目錄
useradd -r -s /sbin/nologin -d /data/mysql mysqlmkdir /data/mysql -p
chown mysql.mysql /data/mysql
下載源碼
yum install -y unzip
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44.zipunzip mysql-5.7.44.zip
mv mysql-5.7.44 /usr/local/src/
cd /usr/local/src/mysql-5.7.44/
編譯
# 編譯前需要升級boost庫,否則會報錯
wget https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar -xf boost_1_59_0.tar.gz
cd boost_1_59_0
./bootstrap.sh --prefix=/usr/local
./b2 install --with=all---這里安裝實(shí)測執(zhí)行了10分鐘---cmake . \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/ \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_cimake -j 8 && make install
---開8線程的編譯安裝時間實(shí)測是6分鐘---
如果出錯,執(zhí)行rm -f CMakeCache.txt
設(shè)置環(huán)境變量
echo 'PATH=/apps/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
生成數(shù)據(jù)庫文件
cd /apps/mysql/
~~# bin/mysql_install_db --datadir=/data/mysql/ --user=mysql~~
bin/mysqld --initialize --user=mysql --datadir=/data/mysql# 如果執(zhí)行報錯,說明數(shù)據(jù)庫文件目錄不為空
mv /data/mysql/* /tmp
記住生成的臨時密碼:r#x?yudwb3lX
準(zhǔn)備配置文件
cp /etc/my.cnf{,.bak}
cat > /etc/my.cnf <<EOF
[mysqld]
datadir=/data/mysql
skip_name_resolve=1
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
EOF
修改啟動腳本并啟動服務(wù)
cp /apps/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
修改密碼
mysqladmin -uroot -p'r#x?yudwb3lX' password 123456
訪問測試
root@ctos79 mysql 09:00:13]#mysql -uroot -p123456
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 6
Server version: 5.7.44 Source distributionCopyright (c) 2000, 2023, Oracle and/or its affiliates.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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)mysql>
最后
也可以使用docker進(jìn)行安裝,拉鏡像就好了。