您好,登錄后才能下訂單哦!
本文主要給大家簡單講講centos7.x系統如何實現mysql5.7.16編譯安裝,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望centos7.x系統如何實現mysql5.7.16編譯安裝這篇文章可以給大家帶來一些實際幫助。
#系統安裝條件
1> cmake
MySQL使用cmake跨平臺工具預編譯源碼,用于設置mysql的編譯參數。如:安裝目錄、數據存放目錄、字符編碼、排序規則等。安裝最新版本即可。
2> make3.75
mysql源代碼是由C和C++語言編寫,在Linux下使用make對源碼進行編譯和構建,要求必須安裝make 3.75或以上版本
3> gcc4.4.6
GCC是linux下的C語言編譯工具,mysql源碼編譯完全由C和C++編寫,要求必須安裝GCC4.4.6或以上版本
4> Boost1.59.0
mysql源碼中用到了C++的Boost庫,要求必須安裝boost1.59.0或以上版本
5> bison2.1
Linux下C/C++語法分析器
6> ncurses
字符終端處理庫
官網的溫馨提示:足夠的可用內存 如果在編譯大型源文件時遇到諸如“ 內部編譯器錯誤 ”等問題 ,可能是內存太少。如果在虛擬機上編譯,請嘗試增加內存分配。
#其實這個cmake可以不用升級的。。官網說的是make···又多干活了,多折騰了 yum erase cmake #下載cmake wget -c https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz tar zxvf cmake-3.7.2.tar.gz -C /usr/local/src #下載boost wget -c mkdir -p /usr/local/boost cp boost_1_59_0.tar.gz /usr/local/boost #下載mysql5.7.16 wget -c tar -zxf mysql-5.7.16.tar.gz -C /usr/local/src yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libxml*?libXaw-devel libXmu-devel libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel
#編譯安裝cmkae cd /usr/local/src/cmake-3.7.2 ./configure make make install ln -sf /usr/local/bin/cmake /usr/bin/cmake
#安裝mysql數據庫 #添加mysql組 groupadd mysql #創建用戶mysql并加入到mysql組,不允許mysql用戶直接登錄系統 useradd -g mysql mysql -s /bin/false #創建MySQL數據庫存放目錄 mkdir -p /data/mysql #設置MySQL數據庫存放目錄權限 chown -R mysql:mysql /data/mysql #創建MySQL安裝目錄 mkdir -p /usr/local/mysql cd /usr/local/src/mysql-5.7.18 mkdir bld cd bld cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=OFF -DWITH_BOOST=/usr/local/boost make -j `grep processor /proc/cpuinfo | wc -l` make install #安裝成功 #如果編譯出錯, 重新編譯前要刪除編譯失敗的文件,重新編譯時,需要清除舊的對象文件和緩存信息。 #make clean #rm -f CMakeCache.txt #rm -rf /etc/my.cnf #刪除系統默認的配置文件(如果默認沒有就不用刪除)
#生成數據庫密碼 cd /usr/local/mysql #進入MySQL安裝目錄 ./bin/mysqld --user=mysql --initialize --basedir=/usr/local/mysql --datadir=/data/mysql #生成mysql系統數據庫 --initialize表示默認生成密碼, --initialize-insecure 表示不生成密碼, 密碼為空。 ##2017-07-05T02:52:50.934379Z 1 [Note] A temporary password is generated for root@localhost: x5fujvwK25:y
#設置開機啟動 cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/my.cnf ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目錄的軟連接 cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系統啟動 chmod 755 /etc/init.d/mysqld #增加執行權限 chkconfig mysqld on #加入開機啟動 vi /etc/rc.d/init.d/mysqld #編輯 basedir=/usr/local/mysql #MySQL程序安裝路徑 datadir=/data/mysql #MySQl數據庫存放目錄 :wq! #保存退出 service mysqld start #啟動 vi /etc/profile #把mysql服務加入系統環境變量:在最后添加下面這一行 export PATH=$PATH:/usr/local/mysql/bin :wq! #保存退出 source /etc/profile #使配置立刻生效
#下面這兩行把myslq的庫文件鏈接到系統默認的位置,這樣你在編譯類似PHP等軟件時可以不用指定mysql的庫文件地址。 ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ln -s /usr/local/mysql/include/mysql /usr/include/mysql mkdir /var/lib/mysql #創建目錄 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加軟鏈接 mysql_secure_installation #修改Mysql密碼,輸入之前生成的密碼回車,根據提示操作。 Press y|Y for Yes, any other key for No: y #是否安裝密碼安全插件?選擇y There are three levels of password validation policy: #有以下幾種密碼強度選擇 LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0 #選擇0,只要8位數字即可,選1要有大寫,小寫,特殊字符等 UNINSTALL PLUGIN validate_password ; #卸載密碼強度插件 use mysql; update mysql.user set authentication_string=password('123456') where user='root' ; #登錄mysql控制臺修改 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password AS '123456'; #修改密碼
#上面登陸mysql控制臺和修改密碼太過麻煩了,使用下面一條命令即可 #授權root遠程訪問,密碼為root mysql -uroot -proot GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; FLUSH PRIVILEGES;
附官網編譯安裝mysql步驟
# Preconfiguration setup shell> groupadd mysql shell> useradd -r -g mysql -s /bin/false mysql # Beginning of source-build specific instructions shell> tar zxvf mysql-VERSION.tar.gz shell> cd mysql-VERSION shell> mkdir bld shell> cd bld shell> cmake .. shell> make shell> make install # End of source-build specific instructions # Postinstallation setup shell> cd /usr/local/mysql shell> chown -R mysql . shell> chgrp -R mysql . shell> bin/mysql_install_db --user=mysql # Before MySQL 5.7.6 shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up shell> chown -R root . shell> chown -R mysql data shell> bin/mysqld_safe --user=mysql & # Next command is optional shell> cp support-files/mysql.server /etc/init.d/mysql.server
附網上的參數配置參考,但是我使用網友這個編譯安裝是不成功的。這里只是為了參考他備注的參數,備注參數感覺還是可以的。
# cmake \ -DWITH_BOOST=/usr/local/boost_1_59_0 \ [boost目錄] -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ [MySQL安裝的根目錄] -DMYSQL_DATADIR=/mydata/mysql/data \ [MySQL數據庫文件存放目錄] -DSYSCONFDIR=/etc \ [MySQL配置文件所在目錄] -DMYSQL_USER=mysql \ [MySQL用戶名] -DWITH_MYISAM_STORAGE_ENGINE=1 \ [MySQL的數據庫引擎] -DWITH_INNOBASE_STORAGE_ENGINE=1 \ [MySQL的數據庫引擎] -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ [MySQL的數據庫引擎] -DWITH_MEMORY_STORAGE_ENGINE=1 \ [MySQL的數據庫引擎] -DWITH_READLINE=1 \ [MySQL的readline library] -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \ [MySQL的通訊目錄] -DMYSQL_TCP_PORT=3306 \ [MySQL的監聽端口] -DENABLED_LOCAL_INFILE=1 \ [啟用加載本地數據] -DENABLE_DOWNLOADS=1 \ [編譯時允許自主下載相關文件] -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ [使MySQL支持所有的擴展字符] -DDEFAULT_CHARSET=utf8 \ [設置默認字符集為utf8] -DDEFAULT_COLLATION=utf8_general_ci \ [設置默認字符校對] -DWITH_DEBUG=0 \ [禁用調試模式] -DMYSQL_MAINTAINER_MODE=0 \ -DWITH_SSL:STRING=bundled \ [通訊時支持ssl協議] -DWITH_ZLIB:STRING=bundled [允許使用zlib library]
centos7.x系統如何實現mysql5.7.16編譯安裝就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。