主頁 > 知識庫 > CentOS8部署LNMP環(huán)境之編譯安裝mysql8.0.29的教程詳解

CentOS8部署LNMP環(huán)境之編譯安裝mysql8.0.29的教程詳解

熱門標簽:硅谷的囚徒呼叫中心 使用U盤裝系統(tǒng) 網站建設 美圖手機 智能手機 阿里云 百度競價點擊價格的計算公式 檢查注冊表項

一、前提

由于我安裝了幾次,我就不再講述報錯了,有點打腦殼?。?!提前把相關依賴和報錯就地解決。

1、所需源碼包

mysql-8.0.19.tar.gz 
boost_1_70_0.tar.gz		//安裝mysql-8所需要的boost版本
rpcsvc-proto-1.4.tar.gz		//后面出錯所需要的源碼包

mysql-8.0.19下載地址:http://mirrors.sohu.com/mysql/
boost_1_70_0下載地址:https://dl.bintray.com/boostorg/release/1.70.0/source/
rpcsvc-proto-1.4下載地址:https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/

2、解決依賴

[14:41:21 root@wangzhike ~]#yum install -y cmake ncurses-devel

3、存放位置

軟件源代碼包存放位置:/usr/local/src
源碼包編譯安裝位置:/usr/local/軟件名字

二、編譯安裝mysql-8.0.19

1、上傳源碼包

boost_1_70_0.tar.gz		
mysql-8.0.19.tar.gz		
rpcsvc-proto-1.4.tar.gz

2、解決rpcsvc-proto-1.4

1)、解壓

[17:05:14 root@wangzhike software]#tar -zxf rpcsvc-proto-1.4.tar.gz -C /usr/local/src/

2)、一步安裝

[17:09:48 root@wangzhike rpcsvc-proto-1.4]#./configure && make && make install

3、解決boost_1_70_0

[17:13:48 root@wangzhike~]# mkdir -p /usr/local/boost
[17:14:05 root@wangzhike~]# cd /usr/local/src
[17:15:02 root@wangzhike src]#cp /software/boost_1_70_0.tar.gz /usr/local/boost/
[17:26:22 root@wangzhike boost]#tar xf boost_1_70_0.tar.gz
////只上傳到/usr/local/src/存放目錄,解壓到當前boost目錄

4、創(chuàng)建mysql用戶及組

[17:27:46 root@wangzhike ~]#groupadd mysql
[17:28:10 root@wangzhike ~]#useradd -g mysql mysql -s /bin/false
####創(chuàng)建用戶mysql并加入到mysql組,不允許mysql用戶直接登錄系統(tǒng)
[17:28:11 root@wangzhike ~]#mkdir -p /data/mysql 
####創(chuàng)建MySQL數(shù)據庫存放目錄
[17:29:13 root@wangzhike ~]#chown -R mysql:mysql /data/mysql 
####設置MySQL數(shù)據庫存放目錄權限
[17:29:31 root@wangzhike ~]#mkdir -p /usr/local/mysql 
####創(chuàng)建MySQL安裝目錄

5、安裝mysql-8.0.19

1)、解壓

[17:43:24 root@wangzhike software]#tar -zxf mysql-8.0.19.tar.gz -C /usr/local/src/
[17:43:47 root@wangzhike software]#cd /usr/local/src/
[17:43:53 root@wangzhike src]#cd mysql-8.0.19/

2)、安裝

[17:47:01 root@wangzhike mysql-8.0.19]#cmake . \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DINSTALL_DATADIR=/data/mysql -DMYSQL_USER=mysql \

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DFORCE_INSOURCE_BUILD=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DEXTRA_CHARSETS=all \

-DWITH_BOOST=/usr/local/boost

若出現(xiàn)以下則沒毛病

CMake Warning: Manually-specified variables were not used by the
project:

EXTRA_CHARSETS
INSTALL_DATADIR
MYSQL_USER
WITH_EMBEDDED_SERVER

– Build files have been written to: /usr/local/src/mysql-8.0.19

若出現(xiàn)以下關于rpc.h的錯誤
Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc

解決方法:

[17:45:47 root@wangzhike mysql-8.0.19]#find / -name rpc.h
/usr/local/src/mysql-8.0.19/extra/libevent/include/event2/rpc.h
/usr/local/src/mysql-8.0.19/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/windeps/sunrpc/rpc/rpc.h

####并將/usr/local/src/mysql-8.0.19/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/windeps/sunrpc/目錄下的rpc/rpc.h拷貝到/usr/include/

如下

[17:52:57 root@wangzhike mysql-8.0.19]#cp -a /usr/local/src/mysql-8.0.19/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/windeps/sunrpc/rpc /usr/include/

3)、make && install

[17:55:20 root@wangzhike mysql-8.0.19]#make -j 3 && install
//過程超長且內存不足的會報錯

等待等待等待

若報以下錯則表示內存不足需要創(chuàng)建分區(qū)

+: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]: *** [sql/CMakeFiles/sql_gis.dir/build.make:154: sql/CMakeFiles/sql_gis.dir/gis/distance_functor.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:11144: sql/CMakeFiles/sql_gis.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

創(chuàng)建分區(qū):

[19:58:37 root@wangzhike mysql-8.0.19]#dd if=/dev/zero of=/swapfile bs=1k count=2048000
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB, 2.0 GiB) copied, 6.07651 s, 345 MB/s
####獲取要增加的2G的SWAP文件塊
[20:10:02 root@wangzhike mysql-8.0.19]#mkswap /swapfile
mkswap: /swapfile: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 2 GiB (2097147904 bytes)
no label, UUID=18a4bbb3-75d1-411b-ac0c-c87c63547509
####創(chuàng)建SWAP文件
[20:10:07 root@wangzhike mysql-8.0.19]#swapon /swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
####激活SWAP文件
[20:10:12 root@wangzhike mysql-8.0.19]#swapon -s
Filename        Type   Size Used Priority
/dev/sda2        partition  2144252 137300 -2
/swapfile        file   2047996 0  -3
#####查看SWAP信息是否正確
[20:10:19 root@wangzhike mysql-8.0.19]#echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
####添加到fstab文件中讓系統(tǒng)引導時自動啟動

在重新執(zhí)行make -j 3 && make install ,出現(xiàn)以下畫面則沒有報錯

```bash
-- Installing: /usr/local/mysql/man/man1/comp_err.1
-- Installing: /usr/local/mysql/man/man1/ibd2sdi.1
-- Installing: /usr/local/mysql/man/man1/innochecksum.1
-- Installing: /usr/local/mysql/man/man1/lz4_decompress.1
-- Installing: /usr/local/mysql/man/man1/my_print_defaults.1
-- Installing: /usr/local/mysql/man/man1/myisam_ftdump.1
-- Installing: /usr/local/mysql/man/man1/myisamchk.1
-- Installing: /usr/local/mysql/man/man1/myisamlog.1
-- Installing: /usr/local/mysql/man/man1/myisampack.1
-- Installing: /usr/local/mysql/man/man1/mysql.1
-- Installing: /usr/local/mysql/man/man1/mysql.server.1
-- Installing: /usr/local/mysql/man/man1/mysql_config.1
-- Installing: /usr/local/mysql/man/man1/mysql_config_editor.1
-- Installing: /usr/local/mysql/man/man1/mysql_secure_installation.1
-- Installing: /usr/local/mysql/man/man1/mysql_ssl_rsa_setup.1
-- Installing: /usr/local/mysql/man/man1/mysql_tzinfo_to_sql.1
-- Installing: /usr/local/mysql/man/man1/mysql_upgrade.1
-- Installing: /usr/local/mysql/man/man1/mysqladmin.1
-- Installing: /usr/local/mysql/man/man1/mysqlbinlog.1
-- Installing: /usr/local/mysql/man/man1/mysqlcheck.1
-- Installing: /usr/local/mysql/man/man1/mysqld_multi.1
-- Installing: /usr/local/mysql/man/man1/mysqld_safe.1
-- Installing: /usr/local/mysql/man/man1/mysqldump.1
-- Installing: /usr/local/mysql/man/man1/mysqldumpslow.1
-- Installing: /usr/local/mysql/man/man1/mysqlimport.1
-- Installing: /usr/local/mysql/man/man1/mysqlman.1
-- Installing: /usr/local/mysql/man/man1/mysqlpump.1
-- Installing: /usr/local/mysql/man/man1/mysqlshow.1
-- Installing: /usr/local/mysql/man/man1/mysqlslap.1
-- Installing: /usr/local/mysql/man/man1/perror.1
-- Installing: /usr/local/mysql/man/man1/zlib_decompress.1
-- Installing: /usr/local/mysql/man/man8/mysqld.8
-- Installing: /usr/local/mysql/man/man1/mysqlrouter.1
-- Installing: /usr/local/mysql/man/man1/mysqlrouter_passwd.1
-- Installing: /usr/local/mysql/man/man1/mysqlrouter_plugin_info.1

三、初始化mysql數(shù)據庫

1、修改mysql目錄權限

[20:37:59 root@wangzhike mysql-8.0.19]#chown -R mysql:mysql /usr/local/mysql
[20:42:07 root@wangzhike mysql-8.0.19]#chmod -R 755 /usr/local/mysql

2、初始化mysql

[20:45:07 root@wangzhike ~]#cd /usr/local/mysql/
[20:46:43 root@wangzhike mysql]#./bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --character-set-server=utf8
2020-04-14T12:47:13.718724Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.19) initializing of server in progress as process 9893
2020-04-14T12:47:13.719367Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2020-04-14T12:47:14.855541Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rUG-.8kdw<1f
####生成mysql系統(tǒng)數(shù)據庫。

3、修改配置文件
mysql 8.0.x默認沒有配置文件,我們自己創(chuàng)建一個。

[20:49:41 root@wangzhike mysql]#vi /usr/local/mysql/my.cnf
添加以下內容:
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
user = mysql
socket=/tmp/mysql.sock
tmpdir = /tmp
key_buffer_size=16M
max_allowed_packet=128M
default_authentication_plugin=mysql_native_password
open_files_limit = 60000
explicit_defaults_for_timestamp
server-id = 1
character-set-server = utf8
federated
max_connections = 1000
max_connect_errors = 100000
interactive_timeout = 86400
wait_timeout = 86400
sync_binlog=0
back_log=100
default-storage-engine = InnoDB
log_slave_updates = 1
[mysqldump]
quick
[client]
password="123456"
[mysqld-8.0]
sql_mode=TRADITIONAL
[mysqladmin]
force
[mysqld]
key_buffer_size=16M
service mysqld restart

:wq!保存退出
注意,service mysqld restart 這一句一定寫上,默認密碼為123456

其他操作

[20:53:05 root@wangzhike mysql]#ln -s /usr/local/mysql/my.cnf /etc/my.cnf
#添加到/etc目錄的軟連接
[20:53:12 root@wangzhike mysql]#cd
[20:53:13 root@wangzhike ~]#cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
#把Mysql加入系統(tǒng)啟動
[20:53:21 root@wangzhike ~]#chmod 755 /etc/init.d/mysqld
#增加執(zhí)行權限
[20:53:28 root@wangzhike ~]#chkconfig mysqld on
#加入開機啟動

4、編輯文件

[20:53:39 root@wangzhike ~]#vi /etc/rc.d/init.d/mysqld

####找到basedir=并修改為/usr/local/mysql
####找到datadir=并修改為/data/mysql

basedir=/usr/local/mysql		#MySQL程序安裝路徑
datadir=/data/mysql				#MySQl數(shù)據庫存放目錄

5、開機啟動成功

[20:54:32 root@wangzhike ~]#service mysqld start
Starting MySQL.Logging to '/data/mysql/wangzhike.err'.
. SUCCESS!		#啟動成功

6、添加變量

[20:54:44 root@wangzhike ~]#vi /etc/profile

在最后一行添加export PATH=$PATH:/usr/local/mysql/bin

[20:55:37 root@wangzhike ~]#source /etc/profile			#使配置立刻生效

7、添加軟連接

[20:55:44 root@wangzhike ~]#ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
[20:55:57 root@wangzhike ~]#ln -s /usr/local/mysql/include/mysql /usr/include/mysql
####以上為把myslq的庫文件鏈接到系統(tǒng)默認的位置

[20:56:02 root@wangzhike ~]#mkdir /var/lib/mysql
[20:56:14 root@wangzhike ~]#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

8、啟動mysql

[21:40:14 root@wangzhike ~]#mysql -uroot -p123456
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.19 Source distribution

Copyright (c) 2000, 2020, 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>

則表示登陸成功。

總結

到此這篇關于CentOS8部署LNMP環(huán)境之編譯安裝mysql-8.0.29的文章就介紹到這了,更多相關CentOS8部署LNMP環(huán)境之編譯安裝mysql-8.0.29內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:湖北 賀州 黃山 煙臺 懷化 湘潭 山南 通遼

巨人網絡通訊聲明:本文標題《CentOS8部署LNMP環(huán)境之編譯安裝mysql8.0.29的教程詳解》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266