中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL 5.7版本編譯安裝的詳細教程

發布時間:2020-06-04 11:17:09 來源:網絡 閱讀:561 作者:三月 欄目:MySQL數據庫

不知道大家之前對類似MySQL 5.7版本編譯安裝的詳細教程的文章有無了解,今天我在這里給大家再簡單的講講。感興趣的話就一起來看看正文部分吧,相信看完MySQL 5.7版本編譯安裝的詳細教程你一定會有所收獲的。

1、            Mysql概述:


1.1、    Mysql概述

 MySQL 是一個關系型數據庫管理系統,由瑞典 MySQL AB 公司開發,目前屬于 Oracle 公司。

 MySQL 是最流行的關系型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關系數據庫管理系統)應用軟件之一。

 MySQL 是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。

 MySQL 所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策,它分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL作為網站數據庫。由于其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。

 雙授權政策:開放源代碼版本和商業版本。 例如:很多公司出售應用軟件,例如 Microsoft、Apple 和 Oracle;如 Red Hat 和 IBM,則通過為其開放源代碼軟件提供銷售支援、托管或咨詢等服務來進行賺錢。企業可以通過開放源代碼發布他們的軟件,也可以同時銷售該軟件的商業版本。


1.2、    SQL概述

 結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統;同時也是數據庫腳本文件的擴展名。

 從上可以看出我們數據庫相關工作職位大概兩種:DBD和DBA

 dba是數據庫管理員database administrator

 dbd是數據庫開發人員database developer

 SQL 是1986年10 月由美國國家標準局(ANSI)通過的數據庫語言美國標準,接著,國際標準化組織(ISO)頒布了SQL正式國際標準。1989年4月,ISO提出了具有完整性特征的SQL89標準,1992年11月又公布了SQL92標準,在此標準中,把數據庫分為三個級別:基本集、標準集和完全集。


1.3、    SQL語句結構

 結構化查詢語言包含6個部分

1.3.1、 數據查詢語言(DQL)

 其語句,也稱為“數據檢索語句”,就是從表中查詢數據。

1.3.2、 數據操作語言(DML):

 在表中添加,修改和刪除數據記錄。也稱為動作查詢語言。

1.3.3、 事務處理語言(TPL):

 它由多條sql語句組成的整體,它的語句能確保被DML語句修改的表中的所有記錄及時得到更新。

1.3.4、 數據控制語言(DCL):

 設置數據庫的訪問權限。

1.3.5、 數據定義語言(DDL):

 在數據庫中創建表或刪除表(CREAT TABLE 或 DROP TABLE);為表加入索引等。

1.3.6、 指針控制語言(CCL):

 它的語句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于對一個或多個表單獨行的操作。


2、            源碼安裝mysql

2.1、    準備實驗環境

2.1.1、 準備源碼包

 方法一:

 上傳mysql安裝包和boost安裝包到我們的云服務器

 [root@cong11 ~]# ls

 anaconda-ks.cfg  boost_1_59_0.tar.bz2    mysql-5.7.26.tar.gz

 方法二:

 mysql下載地址:

 https://dev.mysql.com/downloads/mysql/5.7.html#downloads

 注意:官網提供下載的源碼包為mysql-community-5.7.26-1.el7.src.rpm以.src.rpm結尾的rpm包,需要rpm -ivh安裝這個包,在當先目錄下生成rpmbuild的目錄文件,然后在rpmbuild/SOURCES/目錄下才是我們.tar.gz結尾的源碼包。

2.1.2、 配置本地yum源

 [root@cong11 ~]# mount /dev/sr0 /mnt

 [root@cong11 ~]# vim /etc/yum.repos.d/centos7.repo

 [centos7]

 name=CentOS7

 baseurl=file:///mnt

 enable=1

 gpgcheck=0

  

配置完成后清除/生成 yum緩存

 [root@cong11 ~]# yum clean all

 [root@cong11 ~]# yum makecache

 [root@cong11 ~]# yum –y groupinstall base //該軟件包擁有大多命令工具。

  

卸載boost

 MySQL從5.7版本之后,必須有boost支持,建議把系統自帶的boost庫卸載,使用高版本。

 [root@cong11 ~]# yum -y remove boost-*

 解壓我們上傳的boost_1_59_0.tar.bz2到root目錄下,待會安裝直接指定boost目錄。

 安裝bzip2解壓工具,解壓縮boost_1_59_0.tar.bz2

 [root@cong11 ~]# yum install -y bzip2

 [root@cong11 ~]# tar -jxvf boost_1_59_0.tar.bz2

2.1.3、 卸載系統自帶的mysql

 #rpm –qa | grep –E '(mysql|mariadb)'

 #rpm –e mariadb --nodeps

  

 [root@cong11 ~]# yum -y remove mysql*

 [root@cong11 ~]# yum -y remove mariadb*


2.2、    安裝mysql

2.2.4、 安裝MYSQL依賴包

 Mysql需要使用cmake來進行編譯,所以需要安裝cmake,并且5.7版本cmake版本不低于2.8

 [root@cong11 ~]# yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel

 MySQL 5.7版本編譯安裝的詳細教程

2.2.5、 添加mysql用戶和用戶組

 [root@cong11 ~]# groupadd mysql

 [root@cong11 ~]# useradd -M -s /sbin/nologin -r -g mysql mysql

2.2.6、 創建mysql數據庫存放位置并修改目錄權限

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

 [root@cong11 ~]# chown -R mysql:mysql /usr/local/mysql/

 注意:生產環境中mysql的data數據目錄會單獨放在一塊硬盤中(能夠并行寫入數據和日志提高效率)

2.2.7、 解壓源碼包

 [root@cong11 ~]# tar -zxvf mysql-5.7.26.tar.gz

2.2.8、 預編譯(配置./configure)

 預編譯需要我們指定安裝服務的參數或者模塊,還會對編譯環境進行測試,只有通過測試,才能進行編譯,預編譯失敗一般都是缺少編譯環境GCC或者其他的依賴包,需要我們手工安裝完依賴包后,再次進行預編譯。

 [root@cong11 ~]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

 -DMYSQL_DATADIR=/usr/local/mysql/data \

 -DSYSCONFDIR=/etc \

 -DWITH_MYISAM_STORAGE_ENGINE=1 \

 -DWITH_INNOBASE_STORAGE_ENGINE=1 \

 -DWITH_MEMORY_STORAGE_ENGINE=1 \

 -DWITH_READLINE=1 \

 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

 -DMYSQL_TCP_PORT=3306 \

 -DENABLED_LOCAL_INFILE=1 \

 -DWITH_PARTITION_STORAGE_ENGINE=1 \

 -DEXTRA_CHARSETS=all \

 -DDEFAULT_CHARSET=utf8 \

 -DDEFAULT_COLLATION=utf8_general_ci \

 -DDOWNLOAD_BOOST=1 \

 -DWITH_BOOST=/root/boost_1_59_0     #指定我們剛才解壓的boost目錄

 官網詳細地址:

 https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

 參數注釋:

 DCMAKE_INSTALL_PREFIX:指定MySQL程序的安裝目錄,默認/usr/local/mysql

 DEFAULT_CHARSET:指定云服務器默認字符集,默認latin1

 DEFAULT_COLLATION:指定云服務器默認的校對規則,默認latin1_general_ci

 ENABLED_LOCAL_INFILE:指定是否允許本地執行LOAD DATA INFILE,默認OFF

 WITH_COMMENT:指定編譯備注信息

 WITH_xxx_STORAGE_ENGINE:指定靜態編譯到mysql的存儲引擎,MyISAM,       MERGE,MEMBER以及CSV四種引擎默認即被編譯至云服務器,不需要特別指定。

 WITHOUT_xxx_STORAGE_ENGINE:指定不編譯的存儲引擎

 SYSCONFDIR:初始化參數文件目錄

 MYSQL_DATADIR:數據文件目錄

 MYSQL_TCP_PORT:服務端口號,默認3306

 MYSQL_UNIX_ADDR:socket文件路徑,默認/tmp/mysql.sock

 檢測命令執行結果

 [root@cong11 ~]# echo $?    #0說明上條命令執行成功,其他執行失敗

 0                                                                

2.2.9、 編譯

 [root@cong11 ~]# make -j  $( grep processor /proc/cpuinfo | wc -l)

 

 make -j 4   #注:-j 用來指定CPU核心數,可加快編譯速度。

 檢測命令執行結果

 [root@cong11 ~]# echo $?

 0

 查看云服務器CPU核心數

 [root@cong11 ~]# grep processor /proc/cpuinfo | wc -l

 4

2.2.10、 安裝

 [root@cong11 ~]# make install

 檢測命令執行結果

 [root@cong11 ~]# echo $?

 0

2.2.11、 修改mysql目錄權限

 [root@cong11 mysql-5.7.26]# chown -R mysql:mysql /usr/local/mysql/

2.2.12、 生成my.cnf配置文件

 備份配置文件文件

 [root@cong11 ~]# mv /etc/my.cnf{,.bak}     === mv /etc/my.cnf  /etc/my.cnf.bak

 自行創建my.cnf配置文件

 [root@cong11 ~]# vim /etc/my.cnf

 [mysqld]

 basedir=/usr/local/mysql         #mysql安裝目錄

 datadir=/usr/local/mysql/data     #mysql數據存放目錄

 port=3306                   #mysql監聽端口

 socket=/usr/local/mysql/mysql.sock #mysql.sock文件存放目錄

 symbolic-links=0               #關閉mysql的符號鏈接

 character-set-server=utf8        #指定mysql的字符集為utf8

 log-error=/usr/local/mysql/log/mysqld.log     #指定mysql的錯誤日志存放路徑

 pid-file=/usr/local/mysql/mysqld.pid #mysql的pid文件存放目錄

 注意:所有my.cnf指定的目錄mysql用戶都要有讀寫權限。symbolic-links符號鏈接支持在別的目錄下存放mysql的數據庫文件,當我們mysql數據盤滿了以后,可以啟動symbolic-links=1(允許使用符號鏈接),把mysql的數據放在別的目錄下,然后鏈接到mysql的datadir目錄下。

2.2.13、 生成服務啟動腳本

 [root@cong11 ~]#  cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

 [root@cong11 ~]# chmod +x /etc/init.d/mysqld   #給腳本添加執行權限

2.2.14、 添加mysqld開機自啟動

 [root@cong11 ~]# chkconfig --add mysqld      #把mysql添加到系統服務

 [root@cong11 ~]# chkconfig mysqld on        #把mysql添加到開機自啟動

 [root@cong11 ~]# chkconfig --list mysqld      #查看mysql開機自啟動狀態

 MySQL 5.7版本編譯安裝的詳細教程

  

2.2.15、 初始化數據庫(創建數據庫的系統表)

 如果無法初始化先啟動mysql

 [root@cong11 ~]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql \

  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

  

2.2.16、 啟動服務

 [root@cong11 ~]# /etc/init.d/mysqld  start

 Starting MySQL SUCCESS!

2.2.17、 添加path路徑:

 添加mysql命令路徑到path環境變量中或者把mysql命令路徑軟連接到path環境變量里已經存在的目錄,這樣我們可以在系統任意位置直接執行mysql相關命令

 [root@cong11 ~]# vim /etc/profile 添加下面2行 在文件的結尾

 export MYSQL_HOME=/usr/local/mysql

 export PATH=$PATH:$MYSQL_HOME/bin

 使修改生效

 [root@cong11 ~]# source /etc/profile

 或者:

 [root@cong11 ~]# ln -s /usr/local/mysql/bin/* /usr/local/bin/

2.2.18、 修改mysql密碼:

 [root@cong11 ~]# mysqladmin -u root password "123456"

 或者登陸到mysql修改密碼

 [root@cong11 ~]# mysql

 mysql> set password for 'root'@'localhost'=password('123456');

2.2.19、 登陸mysql

 [root@cong11 ~]# mysql -uroot -p123456

 mysql> show databases;

 +--------------------+

 | Database           |

 +--------------------+

 | information_schema |

 | mysql              |

 | performance_schema |

 | sys                |

 +--------------------+

 4 rows in set (0.00 sec)  

管理員忘記MySQL密碼后怎么操作。

1.首先編寫 /etc/my.cnf

skip-grant-tables

2.重啟mysql服務

[root@Centos4 ~]# /etc/init.d/mysqld stop

[root@Centos4 ~]# /etc/init.d/mysqld start

3.進入mysql

[root@Centos4 ~]# mysql //此時敲回車可直接進入

mysql> update mysql.user set authentication_string=password('123.com') where user='root';

mysql>FLUSH PRIVILEGES;  //刷新用戶授權信息

以上表示將root密碼更新為123.com

4.再次編輯/etc/my.cnf文件將skip-grant-tables移除


5.再次輸入密碼即可

[root@Centos4 ~]# mysql -u root -p

看完MySQL 5.7版本編譯安裝的詳細教程這篇文章,大家覺得怎么樣?如果想要了解更多相關,可以繼續關注我們的行業資訊板塊。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莱阳市| 临澧县| 西充县| 轮台县| 紫阳县| 睢宁县| 秦皇岛市| 当雄县| 乳山市| 东辽县| 璧山县| 壶关县| 平顶山市| 文化| 元氏县| 泗洪县| 天长市| 资兴市| 榕江县| 黔西县| 平湖市| 珲春市| 西充县| 怀远县| 北宁市| 甘泉县| 三门峡市| 永康市| 汽车| 米泉市| 青浦区| 桑日县| 砀山县| 民乐县| 长春市| 罗甸县| 星座| 平陆县| 资阳市| 天津市| 宝兴县|