centos7源碼編譯安裝mariadb10.3.14版本

下載mariadb數據庫php

mariadb10.3.14node

[root@localhost httpd-2.4.39]# rpm -qa|grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@localhost httpd-2.4.39]# mariadb -v
-bash: mariadb: 未找到命令
[root@localhost httpd-2.4.39]# rpm -e mariadb
錯誤:未安裝軟件包 mariadb 
[root@localhost httpd-2.4.39]# rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64
錯誤:依賴檢測失敗:
	libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-7.el7.x86_64 須要
	libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-7.el7.x86_64 須要
[root@localhost httpd-2.4.39]#

先安裝mysql8.0版本暫時不考慮mariadb數據庫mysql

[root@localhost httpd-2.4.39]# cd ../
[root@localhost devdir]# wget -c https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-el7-x86_64.tar.gz

163開源鏡像linux

http://mirrors.163.com/mysql/Downloads/MySQL-8.0/web

http://mirrors.163.com/sql

速度!!!!數據庫

強制卸載mariadb相關依賴組件bootstrap

[root@localhost devdir]# rpm -qa|grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@localhost devdir]# rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64
錯誤:依賴檢測失敗:
	libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-7.el7.x86_64 須要
	libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-7.el7.x86_64 須要
[root@localhost devdir]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
[root@localhost devdir]# 

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

安裝mysql8.0步驟vim

[root@localhost devdir]# tar -zxvf mysql-8.0.16-el7-x86_64.tar.gz 
[root@localhost devdir]# cd mysql-8.0.16-el7-x86_64
[root@localhost mysql-8.0.16-el7-x86_64]# groupadd mysql
[root@localhost mysql-8.0.16-el7-x86_64]# useradd -r -g mysql -s /bin/f
factor                file                  firewall-offline-cmd
fallocate             find                  flock
false                 find2perl             fmt
fc                    findmnt               fold
fg                    fipscheck             free
fgconsole             fipshmac              freetype-config
fgrep                 firewall-cmd          
[root@localhost mysql-8.0.16-el7-x86_64]# useradd -r -g mysql -s /bin/false mysql
[root@localhost mysql-8.0.16-el7-x86_64]# mkdir -p /usr/local/mysql
[root@localhost mysql-8.0.16-el7-x86_64]# mkdir -p /data/mysql
[root@localhost mysql-8.0.16-el7-x86_64]# 
boost庫依賴
[root@localhost mysql-8.0.16-el7-x86_64]# cd ../
[root@localhost devdir]# wget -c https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz

[root@localhost boost_1_70_0]# ./bootstrap.sh 

編譯安裝
cd /root/devdir/mysql-8.0.16-el7-x86_64

cmake . \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 -DMYSQL_DATADIR=/data/mysql \
 -DDOWNLOAD_BOOST=1 \
 -DWITH_BOOST=/usr/local/boost_1_70_0 \
 -DSYSCONFDIR=/etc \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DWITH_PARTITION_STORAGE_ENGINE=1 \
 -DWITH_FEDERATED_STORAGE_ENGINE=1 \
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
 -DWITH_MYISAM_STORAGE_ENGINE=1 \
 -DENABLED_LOCAL_INFILE=1 \
 -DENABLE_DTRACE=0 \
 -DDEFAULT_CHARSET=utf8mb4 \
 -DDEFAULT_COLLATION=utf8mb4_general_ci \
 -DWITH_EMBEDDED_SERVER=1

make && make install

解決boot依賴關係bash

添加禁止登錄系統的mysql用戶

添加用戶組 groupadd mysql
添加用戶   useradd -r -g mysql -s /bin/false mysql

[root@localhost boost_1_70_0]# pwd
/root/devdir/boost_1_70_0
[root@localhost boost_1_70_0]# ll -a ../
總用量 860940
drwxr-xr-x. 12 root root       4096 5月   9 20:15 .
dr-xr-x---.  3 root root        165 5月   9 19:17 ..
drwxr-xr-x. 28 1001 mysql      4096 5月   9 18:24 apr-1.7.0
-rw-r--r--.  1 root root    1093896 4月   5 02:12 apr-1.7.0.tar.gz
drwxr-xr-x. 21 1001 mysql      4096 5月   9 18:45 apr-util-1.6.1
-rw-r--r--.  1 root root     554301 10月 23 2017 apr-util-1.6.1.tar.gz
drwxr-xr-x.  9 root root       4096 5月   9 20:32 boost_1_70_0
-rw-r--r--.  1 root root  116000903 4月  10 04:06 boost_1_70_0.tar.gz
drwxr-xr-x. 15 root root       4096 5月   9 15:51 cmake-3.14.3
-rw-r--r--.  1 root root    8851085 4月  22 22:40 cmake-3.14.3.tar.gz
drwxr-sr-x. 12 root    40      4096 5月   9 19:06 httpd-2.4.39
-rw-r--r--.  1 root root    9199150 3月  31 11:42 httpd-2.4.39.tar.gz
drwxr-xr-x.  9 root root       4096 5月   9 16:54 libzip-1.2.0
-rw-r--r--.  1 root root    1514966 3月  12 21:18 libzip-1.2.0.tar.gz
drwxrwxr-x.  8 root root       4096 5月   9 16:41 libzip-1.5.2
-rw-r--r--.  1 root root    1203524 3月  12 21:19 libzip-1.5.2.tar.gz
drwxr-xr-x. 11 root root        194 5月   9 20:01 mysql-8.0.16-el7-x86_64
-rw-r--r--.  1 root root  721603282 4月  13 19:20 mysql-8.0.16-el7-x86_64.tar.gz
drwxr-xr-x.  9 1169  1169     12288 5月   9 18:48 pcre-8.43
-rw-r--r--.  1 root root    2085854 2月  24 00:46 pcre-8.43.tar.gz
drwxr-xr-x. 17 webu webg       4096 5月   9 17:16 php-7.3.4
-rw-r--r--.  1 root root   19424779 4月   2 22:01 php-7.3.4.tar.gz
[root@localhost boost_1_70_0]# 

tar xzf boost_1_70_0.tar.gz
cd boost_1_70_0
./bootstrap.sh
./b2 install

安裝MySQL數據庫軟件

[root@localhost boost_1_70_0]# cd ../mysql-8.0.16-el7-x86_64
[root@localhost mysql-8.0.16-el7-x86_64]# pwd
/root/devdir/mysql-8.0.16-el7-x86_64
[root@localhost mysql-8.0.16-el7-x86_64]# 
[root@localhost mysql-8.0.16-el7-x86_64]# cmake . \
>  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
>  -DMYSQL_DATADIR=/data/mysql \
>  -DDOWNLOAD_BOOST=1 \
>  -DWITH_BOOST=/usr/local/boost_1_70_0 \
>  -DSYSCONFDIR=/etc \
>  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
>  -DWITH_PARTITION_STORAGE_ENGINE=1 \
>  -DWITH_FEDERATED_STORAGE_ENGINE=1 \
>  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
>  -DWITH_MYISAM_STORAGE_ENGINE=1 \
>  -DENABLED_LOCAL_INFILE=1 \
>  -DENABLE_DTRACE=0 \
>  -DDEFAULT_CHARSET=utf8mb4 \
>  -DDEFAULT_COLLATION=utf8mb4_general_ci \
>  -DWITH_EMBEDDED_SERVER=1
CMake Error: The source directory "/root/devdir/mysql-8.0.16-el7-x86_64" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
[root@localhost mysql-8.0.16-el7-x86_64]# ls
bin   include  LICENSE         man     README.router  share          var
docs  lib      LICENSE.router  README  run            support-files
[root@localhost mysql-8.0.16-el7-x86_64]# 

小計:mysql-8.0.16-el7-x86_64已經編譯好了不須要cmake了。

初始化MySQL8.0

[root@localhost mysql-8.0.16-el7-x86_64]# ll /usr/local/mysql/
總用量 0
[root@localhost mysql-8.0.16-el7-x86_64]# chown -R mysql:mysql /usr/local/mysql
[root@localhost mysql-8.0.16-el7-x86_64]# 
[root@localhost devdir]# cd /usr/local/mysql/
[root@localhost mysql]# ls
mysql-8.0.16-el7-x86_64
[root@localhost mysql]# cd ../
[root@localhost local]# mv mysql/mysql-8.0.16-el7-x86_64 ./
[root@localhost local]# mv -R mysql-8.0.16-el7-x86_64/* mysql/
mv:無效選項 -- R
Try 'mv --help' for more information.
[root@localhost local]# mv -r mysql-8.0.16-el7-x86_64/* mysql/
mv:無效選項 -- r
Try 'mv --help' for more information.
[root@localhost local]# mv  mysql-8.0.16-el7-x86_64/* mysql/
[root@localhost local]# ll mysql/
bin/            LICENSE         README.router   var/
docs/           LICENSE.router  run/            
include/        man/            share/          
lib/            README          support-files/  
[root@localhost local]# cd mysql
[root@localhost mysql]# rm ../mysql-8.0.16-el7-x86_64
rm: 沒法刪除"../mysql-8.0.16-el7-x86_64": 是一個目錄
[root@localhost mysql]# rm -r ../mysql-8.0.16-el7-x86_64
rm:是否刪除目錄 "../mysql-8.0.16-el7-x86_64"?y
[root@localhost mysql]# 
[root@localhost mysql]# vim /etc/profile
[root@localhost mysql]# source /etc/profile
[root@localhost mysql]# 
unset i
PATH="$PATH:/usr/local/bin:/usr/local/mysql/bin:/usr/local/httpd/bin:/usr/local/php/bin:/usr/local/libzip/lib64"
export PATH
[root@localhost mysql]# chown -R mysql:mysql /usr/local/mysql

mysql初始化工做:
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
//運行完成會生成一個暫時的密碼
[root@localhost mysql]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
2019-05-09T13:15:31.275786Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.16) initializing of server in progress as process 122741
2019-05-09T13:15:33.443277Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 0t=q*!jm%Rv5
2019-05-09T13:15:34.539683Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.16) initializing of server has completed
[root@localhost mysql]# 
[root@localhost mysql]# ls /etc/ |grep my.cnf
[root@localhost mysql]# ls /etc/m
machine-id                man_db.conf               modules-load.d/
magic                     mke2fs.conf               motd
makedumpfile.conf.sample  modprobe.d/               mtab
[root@localhost mysql]# ls
bin   include  LICENSE         man     README.router  share          var
docs  lib      LICENSE.router  README  run            support-files
[root@localhost mysql]# ll include/
errmsg.h          mysql/            mysql_time.h      mysqlx_version.h
field_types.h     mysql_com.h       mysql_version.h   
my_command.h      mysqld_error.h    mysqlx_ername.h   
my_list.h         mysql.h           mysqlx_error.h    
[root@localhost mysql]# ll support-files/mysql
mysqld_multi.server  mysql-log-rotate     mysql.server
[root@localhost mysql]# touch my-defalut.cnf
[root@localhost mysql]# chmod 755 my-defalut.cnf 
[root@localhost mysql]# vim my-defalut.cnf 
[root@localhost mysql]# cp my-defalut.cnf /etc/my.cnf
[root@localhost mysql]# 
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
port=3306
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/$hostname.pid
#//注意了,小細節,這裏的 $hostname 是linux的主機名。通常每一個人主機名都是不同的
。
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# chmod +x /etc/init.d/mysql 添加可執行權限
[root@localhost mysql]# chkconfig --add mysql    添加系統服務
[root@localhost mysql]# chkconfig --list

注:該輸出結果只顯示 SysV 服務,並不包含
原生 systemd 服務。SysV 配置數據
可能被原生 systemd 配置覆蓋。 

      要列出 systemd 服務,請執行 'systemctl list-unit-files'。
      查看在具體 target 啓用的服務請執行
      'systemctl list-dependencies [target]'。

mysql          	0:關	1:關	2:開	3:開	4:開	5:開	6:關
netconsole     	0:關	1:關	2:關	3:關	4:關	5:關	6:關
network        	0:關	1:關	2:開	3:開	4:開	5:開	6:關
[root@localhost mysql]# 
mysql -uroot -p   0t=q*!jm%Rv5
[root@localhost mysql]# service mysql start
Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
. SUCCESS! 
[root@localhost mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.16
修改mysql初始化密碼:
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by 'mysqlroot';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[root@localhost mysql]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@localhost mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql>
相關文章
相關標籤/搜索