MySQL-8.0 源碼包方式安裝
阿新 • • 發佈:2018-12-09
gre temp 系統服務 code login 初始 interface default roc
1)安裝Mysql數據庫
[root@localhost ~]# rpm -q mysql mysql-server
未安裝軟件包 mysql
未安裝軟件包 mysql-server
[root@localhost ~]# yum -y install ncurses-devel
[root@localhost ~]# rpm -q ncurses-devel
ncurses-devel-5.9-14.20130511.el7_4.x86_64
安裝配置工具cmake
[root@localhost ~]# tar xf cmake-3.13.1.tar.gz -C /usr/src/ [root@localhost ~]# cd /usr/src/cmake-3.13.1/ [root@localhost cmake-3.13.1]# ./configure && gmake && gmake install
創建運行用戶
[root@localhost ~]# useradd -M -s /sbin/nologin mysql
解包,配置,編譯,安裝
[root@localhost ~]# tar xf mysql-8.0.11.tar.gz -C /usr/src/ [root@localhost ~]# cd /usr/src/mysql-8.0.11/ [root@localhost mysql-5.7.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc && make && make install -DCMAKE_INSTALL_PREFIX=/usr/local/mysql //數據庫程序安裝目錄 -DDEFAULT_CHARSET=utf8 //指定字符集編碼 -DDEFAULT_COLLATION=utf8_general_ci //默認的字符集校對規則,utf8_general_ci適用於utf-8字符集的通用規則 -DWITH_EXTRA_CHARSETS=all //指定額外支持的字符集編碼 -DSYSCONFDIR=/etc //指定配置文件存放目錄
報錯處理:
---------------------------------------------------------------------------------------------------------------------------- CMake Error at cmake/boost.cmake:81 (MESSAGE): You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory> This CMake script will look for boost in <directory>. If it is not there, it will download and unpack it (in that directory) for you. If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://example.com:80 Call Stack (most recent call first): cmake/boost.cmake:238 (COULD_NOT_FIND_BOOST) CMakeLists.txt:507 (INCLUDE) -- Configuring incomplete, errors occurred! See also "/usr/src/mysql-5.7.24/CMakeFiles/CMakeOutput.log". See also "/usr/src/mysql-5.7.24/CMakeFiles/CMakeError.log". ----------------------------------------------------------------------------------------------------------------------------
解決辦法是:
1.在/usr/local下創建一個名為boost的文件夾
[root@localhost ~]# mkdir /usr/local/boost
2.進入目錄並下載boost
[root@localhost ~]# cd /usr/local/boost
[root@localhost boost]# wget https://sourceforge.net/projects/boost/files/boost/1.66.0/boost_1_66_0.tar.gz
3.解壓boost
[root@localhost boost]# tar xf boost_1_66_0.tar.gz
4.繼續cmake,添加上紅色部分
[root@localhost mysql-5.7.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc -DWITH_BOOST=/usr/local/boost && make && make install
2)安裝後的調整
對數據庫目錄進行權限設置
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# chown -R mysql:mysql ./
建立配置文件(CentOS7系統默認支持MariaDB數據庫,系統默認的/etc/my.cnf配置文件是MariaDB的配置文件 )
[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
[mysqld_safe]
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid
3)初始化數據庫
[root@localhost mysql]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
2018-12-08T01:51:39.798903Z 1 [Note] A temporary password is generated for root@localhost: dskL0)8S3FGe
--basedir=/usr/local/mysql/ //指定安裝目錄(產品目錄)
--datadir=/usr/local/mysql/data //指定數據目錄
--user=mysql //指定用戶身份
4)設置環境變量
[root@localhost mysql-5.7.24]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.7.24]# . /etc/profile = source /etc/profile
5)添加系統服務
添加MySQL為系統服務,以便通過systemctl命令進行管理
[root@localhost mysql-5.7.24]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
[root@localhost mysql-5.7.24]# chmod +x /usr/local/mysql/bin/mysqld.sh
[root@localhost ~]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql #指定程序運行的用戶賬戶
Group=mysql #指定程序運行的組賬戶
Type=forking
PIDFile=/usr/local/mysql/data/localhost.pid #指定PID文件的位置,默認為“主機名.pid”
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop
[Install]
WantedBy=mutil-user.target
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# systemctl enable mysqld
Created symlink from /etc/systemd/system/mutil-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 六 2018-12-08 09:54:04 CST; 42s ago
Main PID: 2520 (mysqld)
CGroup: /system.slice/mysqld.service
├─2364 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid...
└─2520 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/my...
12月 08 09:53:57 localhost systemd[1]: Starting MySQL Server...
12月 08 09:54:04 localhost systemd[1]: mysqld.service: Supervising process 2520 which is not...ts.
12月 08 09:54:04 localhost systemd[1]: Started MySQL Server.
12月 08 09:54:16 localhost systemd[1]: mysqld.service: Supervising process 2520 which is not...ts.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# netstat -lnpt | grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 2520/mysqld
MySQL默認通過TCP3306端口提供服務,可通過編輯/etc/my.cnf文件中"port=3306"行進行修改。
[root@localhost mysql]# mysqladmin -u root -p‘dskL0)8S3FGe‘ password 123456
[root@localhost mysql]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.11 Source distribution
Copyright (c) 2000, 2018, 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> exit
Bye
[root@localhost mysql]#
MySQL-8.0 源碼包方式安裝