您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mysql如何源碼安裝5.7-17-19版本,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
由于項目需要,現在要使用5.7.19版本的mysql
1:首先下載mysql 二進制安裝文件
mysql-5.6.19.tar.gz
存放目錄/mysql/mysql-5.6.19.tar.gz
tar -xf mysql-5.6.19.tar.gz
cd mysql-5.6.19
進行cmake,但是提示Cmake版本過低,至少需要2.8的版本
2:下載cmake
cmake-2.8.10.2.tar.gz
tar -xf cmake-2.8.10.2.tar.gz
./configure
make && make install
3:進行cmake
先創建mysql 安裝目錄以及數據文件存放目錄
mkdir -p /mysql/mysql
mkdir -p /mysql/mysql/data
同時需要創建mysql 賬號
useradd mysql
passwd mysql
再進行目錄授權:
chown -R mysql:mysql /mysql
這個是5.7.17版本的編譯安裝
cd mysql-5.6.17
cmake \
-DCMAKE_INSTALL_PREFIX=/mysql/ \ //mysql軟件安裝的根目錄
-DMYSQL_DATADIR=/mysql/data \ //mysql 數據文件存放目錄
-DSYSCONFDIR=/etc \ //mysql 配置文件(my.cnf)目錄
-DWITH_MYISAM_STORAGE_ENGINE=1 \ //存儲引擎選項
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //以啟用InnoDB、引擎支持:
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \ //啟用加載本地數據
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \ //默認字符集
-DDEFAULT_COLLATION=utf8_general_ci //字符集校對
進行編譯,編譯時報錯如下:
heck size of wctype_t - done
-- Check size of wint_t
-- Check size of wint_t - done
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:85 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:128 (FIND_CURSES)
cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:411 (MYSQL_CHECK_EDITLINE)
這個報錯是提示缺少ncurses-devel依賴包
進行下載:ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
warning: ncurses-devel-5.7-3.20090208.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:ncurses-devel ########################################### [100%]
同時rm -rf CMakeCache.txt 然后進行重新cmake
完成之后,進行make && make install 進行mysql 安裝
- Installing: /mysql/man/man1/msql2mysql.1
-- Installing: /mysql/man/man8/mysqld.8
-- Installing: /mysql/support-files/solaris/postinstall-solaris
算安裝完成了,接下來就需要進行配置
這是5.7.17的步驟
4: 進入到mysql的安裝目錄,/mysql下:進行mysql 數據庫初始化
scripts/mysql_install_db --basedir=mysql --datadir=/mysql/data --user=mysql //初始化mysql數據庫
但是報錯
[root@db_test scripts]# ./mysql_install_db --basedir=mysql --datadir=/mysql/data --user=mysql
FATAL ERROR: Could not find ./bin/my_print_defaults
cd /u01/soft/mysql-5.6.17/support-files
cp my-default.cnf /usr/local/mysql/my.cnf //copy配置文件
[root@db_test support-files]# chown -R mysql:mysql /mysql
vi /my.cnf 添加以下內容
[mysqld]
basedir = /mysql
datadir = /mysql/data
log-error = /mysql/mysql_error.log
pid-file = /mysql/mysql.pid
user = mysql
tmpdir = /tmp
初始化mysql數據庫
[root@db_test scripts]# ./mysql_install_db --basedir=/mysql --datadir=/mysql/data --user=mysql
Installing MySQL system tables...2017-05-11 15:01:56 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-05-11 15:01:56 8161 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-05-11 15:01:56 8161 [Note] InnoDB: The InnoDB memory heap is disabled
2017-05-11 15:01:56 8161 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-05-11 15:01:56 8161 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-05-11 15:01:56 8161 [Note] InnoDB: Using CPU crc32 instructions
2017-05-11 15:01:56 8161 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-05-11 15:01:56 8161 [Note] InnoDB: Completed initialization of buffer pool
2017-05-11 15:01:56 8161 [Note] InnoDB: Highest supported file format is Barracuda.
2017-05-11 15:01:56 8161 [Note] InnoDB: Log scan progressed past the checkpoint lsn 1600617
2017-05-11 15:01:56 8161 [Note] InnoDB: Database was not shutdown normally!
2017-05-11 15:01:56 8161 [Note] InnoDB: Starting crash recovery.
2017-05-11 15:01:56 8161 [Note] InnoDB: Reading tablespace information from the .ibd files...
2017-05-11 15:01:56 8161 [Note] InnoDB: Restoring possible half-written data pages
2017-05-11 15:01:56 8161 [Note] InnoDB: from the doublewrite buffer...
或使用下列命令把mysql添加為系統服務
cd/mysql/support-files/
cp ./mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
在配置環境變量
export PATH=$PATH:/mysql/bin
[mysql@db_test ~]$ mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.17 Source distribution
Copyright (c) 2000, 2014, 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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
2 rows in set (0.00 sec)
5:5.7.19版本的安裝步驟
5.7.19版本安裝是時候提示
CMake Error at cmake/boost.cmake:81 (MESSAGE):
You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>
所以下載boost軟件
[root@localhost ~]# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar -xf boost_1_59_0.tar.gz
cp -r boost_1_59_0 /usr/local/boost
進行安裝
cmake \
-DCMAKE_INSTALL_PREFIX=/mysql/mysql \
-DMYSQL_DATADIR=/mysql/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DENABLE_DOWNLOADS=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/boost
完成之后,進行make && make install
時間很長,可以出去抽根煙。
配置環境變量
export PATH=/mysql/mysql/bin:/mysql/mysql/lib:$PATH
時間很長
cd mysql/bin
./mysqld --initialize-insecure --user=mysql --basedir=/mysql/mysql --datadir=/mysql/data
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod a+x /etc/init.d/mysqld
再編輯/etc/my.cnf
[mysqld]
datadir=/mysql/data
socket=/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/mysql/mysql/logs/mysqld.log
pid-file=/mysql/mysql/logs/mysqld.pid
[client]
default-character-set=utf8
socket=/mysql/mysql.sock
[mysql]
default-character-set=utf8
socket=/mysql/mysql.sock
啟動mysql
[root@localhost mysql]# service mysqld start
Starting MySQL.2018-08-30T01:45:21.383785Z mysqld_safe error: log-error set to '/mysql/mysql/logs/mysqld.log', however file don't exists. Create writable for user 'mysql'.
The server quit without updating PID file (/mysql/data/loca[失敗]localdomain.pid)
報錯,需要創建文件。
[root@localhost logs]# touch mysqld.log
[root@localhost logs]# touch mysqld.pid
[root@localhost logs]# chown -R mysql:mysql /mysql
[root@localhost mysql]# service mysqld start
Starting MySQL. [確定]
[root@localhost mysql]#
[mysql@localhost ~]$ mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.19 Source distribution
Copyright (c) 2000, 2017, 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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql>
再修改root的密碼
Database changed
mysql> select host,user,authentication_string from user;
+-----------+---------------+-------------------------------------------+
| host | user | authentication_string |
+-----------+---------------+-------------------------------------------+
| localhost | root | |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+---------------+-------------------------------------------+
3 rows in set (0.00 sec)
mysql> UPDATE user SET authentication_string=PASSWORD('shenzhen#123')WHERE user='root';
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user,authentication_string from user;
+-----------+---------------+-------------------------------------------+
| host | user | authentication_string |
+-----------+---------------+-------------------------------------------+
| localhost | root | *4E25F9206A350692D2F5AC0512B41C69759FF312 |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+---------------+-------------------------------------------+
3 rows in set (0.00 sec)
mysql>
mysql>
關于“mysql如何源碼安裝5.7-17-19版本”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。