日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Centos中源码安装mysql

發(fā)布時(shí)間:2023/12/31 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Centos中源码安装mysql 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

源碼安裝mysql5.7

1、清理環(huán)境:

如是新環(huán)境可不執(zhí)行刪除用戶及文件配置

#yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y #userdel -r mysql #rm -rf /etc/my* #rm -rf /var/lib/mysql

2、創(chuàng)建mysql用戶

[root@mysql-server ~]# useradd -r mysql -M -s /bin/false

3、從官網(wǎng)下載tar包

#yum -y install wget #wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

4、安裝編譯工具

#yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make #yum -y install cmake

5、創(chuàng)建mysql目錄

[root@mysql-server ~]# mkdir -p /usr/local/{data,mysql,log}

6、解壓

[root@mysql-server ~]# tar xzvf mysql-boost-5.7.27.tar.gz -C /usr/local/

注:如果安裝的MySQL5.7及以上的版本,在編譯安裝之前需要安裝boost,因?yàn)楦甙姹緈ysql需要boots庫的安裝才可以正常運(yùn)行。否則會(huì)報(bào)CMake Error at cmake/boost.cmake:81錯(cuò)誤,安裝包里面自帶boost包

7、編譯安裝

cd 解壓的mysql目錄

[root@mysql-server ~]# cd /usr/local/mysql-5.7.27/ [root@mysql-server mysql-5.7.27]#cmake . \ -DWITH_BOOST=boost/boost_1_59_0/ \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DINSTALL_MANDIR=/usr/share/man \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1

提示:boost也可以使用如下指令自動(dòng)下載,如果不下載boost壓縮包,把下面的這一條添加到配置中第二行
-DDOWNLOAD_BOOST=1/
參數(shù)詳解:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安裝目錄
-DSYSCONFDIR=/etc \ 配置文件存放 (默認(rèn)可以不安裝配置文件)
-DMYSQL_DATADIR=/usr/local/mysql/data \ 數(shù)據(jù)目錄 錯(cuò)誤日志文件也會(huì)在這個(gè)目錄
-DINSTALL_MANDIR=/usr/share/man \ 幫助文檔
-DMYSQL_TCP_PORT=3306 \ 默認(rèn)端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ sock文件位置,用來做網(wǎng)絡(luò)通信的,客戶端連接服務(wù)器的
時(shí)候用
-DDEFAULT_CHARSET=utf8 \ 默認(rèn)字符集。字符集的支持,可以調(diào)
-DEXTRA_CHARSETS=all \ 擴(kuò)展的字符集支持所有的
-DDEFAULT_COLLATION=utf8_general_ci \ 支持的
-DWITH_READLINE=1 \ 上下翻歷史命令
-DWITH_SSL=system \ 使用私鑰和證書登陸(公鑰) 可以加密。 適用與長連接。壞處:速度慢
-DWITH_EMBEDDED_SERVER=1 \ 嵌入式數(shù)據(jù)庫
-DENABLED_LOCAL_INFILE=1 \ 從本地倒入數(shù)據(jù),不是備份和恢復(fù)。
-DWITH_INNOBASE_STORAGE_ENGINE=1 默認(rèn)的存儲(chǔ)引擎,支持外鍵

[root@mysql-server mysql-5.7.27]# make && make install

如果安裝出錯(cuò),想重新安裝:
不用重新解壓,只需要?jiǎng)h除安裝目錄中的緩存文件CMakeCache.txt

8、初始化

[root@mysql-server mysql-5.7.27]# cd /usr/local/mysql [root@mysql-server mysql]# chown -R mysql.mysql . [root@mysql-server mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

—初始化完成之后,一定要記住提示最后的密碼用于登陸或者修改密碼

qtwcNAX5g#X(

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-E78UtPwx-1642749610299)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1595835348488.png)]
初始化,只需要初始化一次

[root@mysql-server ~]# vim /etc/my.cnf ---添加如下內(nèi)容 [mysqld] basedir=/usr/local/mysql #指定安裝目錄 datadir=/usr/local/mysql/data #指定數(shù)據(jù)存放目錄

9、啟動(dòng)mysql

[root@mysql-server ~]# cd /usr/local/mysql [root@mysql-server mysql]# ./bin/mysqld_safe --user=mysql &

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-PKjw7R4O-1642749610300)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1595835444499.png)]

10、登錄mysql

[root@mysql-server mysql]# /usr/local/mysql/bin/mysql -uroot -p'GP9TKGgY9i/8' 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.27 Copyright (c) 2000, 2019, 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> exit

11、修改密碼

[root@mysql-server mysql]# /usr/local/mysql/bin/mysqladmin -u root -p'GP9TKGgY9i/8' password '192412Wei' mysqladmin: [Warning] Using a password on the command line interface can be insecure. Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

12、添加環(huán)境變量

[root@mysql-server mysql]# vim /etc/profile ---添加如下 PATH=$PATH:$HOME/bin:/usr/local/mysql/bin [root@mysql-server mysql]# source /etc/profile

之后就可以在任何地方使用mysql命令登陸Mysql服務(wù)器:

13、配置mysqld服務(wù)的管理工具:

[root@mysql-server mysql]# cd /usr/local/mysql/support-files/ [root@mysql-server support-files]# cp mysql.server /etc/init.d/mysqld [root@mysql-server support-files]# chkconfig --add mysqld [root@mysql-server support-files]# chkconfig mysqld on

先將原來的進(jìn)程殺掉

[root@mysql-server ~]# /etc/init.d/mysqld start Starting MySQL. SUCCESS! [root@mysql-server ~]# netstat -lntpActive Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1087/sshd tcp6 0 0 :::22 :::* LISTEN 1087/sshd tcp6 0 0 :::3306 :::* LISTEN 31249/mysqld[root@mysql-server ~]# /etc/init.d/mysqld stop

數(shù)據(jù)庫編譯安裝完成

14、mysql腳本簡寫

shell中使用

#!/bin/bash #開頭寫set -e set -e #結(jié)尾寫set +e 判斷執(zhí)行失敗退出 set +e

mysql腳本如下:

#!/usr/bin/bashecho '清理mariadb環(huán)境' yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y &> /dev/nullecho '創(chuàng)建新的mysql用戶' userdel -r mysql useradd -r mysql -M -s /bin/falseecho '下載mysql' yum -y install wget &> /dev/null wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz &> /dev/null if [ $? -eq 0 ]; thenecho "mysql-boot下載成功" >> /root/init.log elseecho "mysql-boot下載失敗" >> /root/init.log fiecho '安裝mysql所需的環(huán)境' yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake &> /dev/nullecho '創(chuàng)建所需的目錄' mkdir -p /usr/local/{data,mysql,log}echo '解壓mysql程序' tar xzvf mysql-boost-5.7.27.tar.gz -C /usr/local/ &> /dev/nullecho '預(yù)編譯' cd /usr/local/mysql-5.7.27/ cmake . \ -DWITH_BOOST=boost/boost_1_59_0/ \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DINSTALL_MANDIR=/usr/share/man \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 if [ $? -eq 0 ]; thenecho "mysql預(yù)編譯完成" >> /root/init.log elseecho "mysql預(yù)編譯失敗" >> /root/init.log fiecho '編譯與安裝' make && make install if [ $? -eq 0 ]; thenecho "編譯與安裝完成" >> /root/init.log elseecho "編譯與安裝失敗" >> /root/init.log fiecho '初始化mysql,保存文件在root下的init.log中' cd /usr/local/mysql chown -R mysql.mysql ../bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data >> /root/init.log if [ $? -eq 0 ]; thenecho "初始化成功" >> /root/init.log elseecho "初始化失敗" >> /root/init.log fiecho "配置mysql配置文件" cat >/etc/my.cnf<<EOF [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data EOFecho "配置環(huán)境變量" echo 'PATH=$PATH:$HOME/bin:/usr/local/mysql/bin' >> /etc/profile source /etc/profileecho "配置mysql管理工具,并開機(jī)自啟" cd /usr/local/mysql/support-files/ cp mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld onecho "啟動(dòng)mysql" /etc/init.d/mysqld startecho "查看端口" yum -y install net-tools netstat -lntp | grep mysql >> /root/init.logecho "關(guān)閉mysql" /etc/init.d/mysqld stop

總結(jié)

以上是生活随笔為你收集整理的Centos中源码安装mysql的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。