簡述MySql8.0編譯安裝過程

環境:Centos8最小化安裝

[root@Oracle2 ~]# cat /etc/redhat-release 
CentOS Linux release 8.0.1905 (Core) 

注意:不要用8以下的系統編譯MySQL8,會存在各個工具版本不夠高的各種報錯,非常麻煩

Mysql版本
mysql-8.0.18

第一步:安裝依賴包

安裝rpcgen,從這裏下載
https://github.com/thkukuk/rpcsvc-proto/releases

[root@test3 mysql]# wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz
[root@test3 mysql]# tar -xzf rpcsvc-proto-1.4.tar.gz 
[root@test3 mysql]# cd rpcsvc-proto-1.4/
[root@test3 rpcsvc-proto-1.4]# ./configure
[root@test3 rpcsvc-proto-1.4]# make && make install

安裝其他依賴

yum install -y ncurses-devel cmake gcc perl-Data-Dumper gcc-c++ git openssl-devel make

第二步:下載MySQL到boots源碼包
下載地址:https://dev.mysql.com/downloads/mysql/
簡述MySql8.0編譯安裝過程

解壓
tar -xzf mysql-boost-8.0.18.tar.gz
cd mysql-8.0.18/

第三步:編譯安裝

檢查
[root@test3 mysql-8.0.18]# cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DFORCE_INSOURCE_BUILD=1 -DWITH_BOOST=boost/

開始編譯安裝
[root@test3 mysql-8.0.18]# make -j 4 && make install

簡述MySql8.0編譯安裝過程

可能會存在的報錯:

-- Running cmake version 3.11.4
-- Found Git: /usr/bin/git (found version "2.18.1") 
-- MySQL 8.0.18
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
See also "/root/mysql/mysql-8.0.18/CMakeFiles/CMakeOutput.log".

解決辦法:

[root@test3 mysql-8.0.18]# yum install -y make

報錯:

Cannot find appropriate system libraries for WITH_SSL=system.
Make sure you have specified a supported SSL version. 
Valid options are : 
system (use the OS openssl library), 
yes (synonym for system), 
</path/to/custom/openssl/installation>**

解決辦法:

[root@test3 mysql-8.0.18]# yum install -y openssl-devel

報錯:

-- Checking for module 'libtirpc'
--   Package 'libtirpc', required by 'virtual:world', not found
CMake Error at cmake/rpc.cmake:65 (MESSAGE):
  Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc
Call Stack (most recent call first):
  plugin/group_replication/libmysqlgcs/configure.cmake:57 (MYSQL_CHECK_RPC)
  plugin/group_replication/libmysqlgcs/CMakeLists.txt:28 (INCLUDE)

解決辦法:

[root@test3 mysql-8.0.18]# yum install -y libtirpc-devel

第四步:配置

新建數據存放目錄
[root@test3 mysql-8.0.18]# mkdir /data/mysql -p
[root@test3 mysql-8.0.18]# chown mysql:mysql /data/mysql/
[root@test3 mysql-8.0.18]# chown mysql:mysql -R /usr/local/mysql/
[root@test3 mysql-8.0.18]# cp  support-files/mysql.server /usr/local/sbin/
[root@test3 mysql-8.0.18]# chmod 755 /usr/local/sbin/mysql.server

到這裏生成一份配置文件放到/etc/my.cnf
https://imysql.com/my-cnf-wizard.html
簡述MySql8.0編譯安裝過程
初始化數據庫

[root@test3 mysql-8.0.18]# /usr/local/mysql/bin/mysqld --initialize --user=mysql
啓動數據庫
[root@test3 mysql-8.0.18]# mysql.server start
Starting MySQL... SUCCESS! 
配置環境變量
[root@test3 mysql-8.0.18]# echo 'PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
[root@test3 mysql-8.0.18]# source /etc/profile

第五步:登錄

找到臨時密碼
[root@test3 mysql-8.0.18]# grep password /data/mysql/error.log | grep root
2020-01-09T22:18:59.395962+08:00 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: MYtoDe(>o6i&

修改臨時root密碼
[root@test3 mysql-8.0.18]# mysqladmin -u root -p password "Re@1dh6at"
Enter password: 
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.

用root登錄
[root@test3 mysql-8.0.18]# mysql -p
Enter password: 

簡述MySql8.0編譯安裝過程

第六步:新建數據庫並授權用戶

注:Mysql 從8.0起就不能把授權數據庫和新建用戶放到一條命令了

新建testdb數據庫
root@Oracle2 22:30:  [(none)]> create database testdb;
Query OK, 1 row affected (0.01 sec)
新建testuser用戶並設置密碼
root@Oracle2 22:35:  [(none)]> create user [email protected] identified by 'huH345sfrfs';
Query OK, 0 rows affected (0.01 sec)
授權
root@Oracle2 22:36:  [(none)]> grant all privileges on testdb.* to [email protected];
Query OK, 0 rows affected (0.00 sec)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章