您好,登錄后才能下訂單哦!
一、MySQL介紹
MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下公司。MySQL 最流行的關系型數據庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件之一。
MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。
MySQL所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策,它分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站數據庫。
二、MySQL的版本選擇
技巧1.選擇版本GA版本,Development版本、Alpha版本和Beta版本一般不用在項目中。因為它們肯定存在重大的問題或某些功能未完全實現。
技巧2.選擇GA版本,不要選擇最新,一般選擇前3-4個版本或10個月前的版本。
技巧3.查看官方說明,沒有重大bug更新的版本
三、安裝介紹
MySQL從5.3開始使用cmake的安裝方式。
本次版本選擇用戶量最多的MySQL5.5系列,分別給出本次需要的5.5.52和最新版的下載地址
MySQL5.5系下載地址
http://dev.mysql.com/downloads/mysql/5.5.html#downloads
四、安裝前準備
當前系統
[root@db01 ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@db01 ~]# uname -r 2.6.32-642.el6.x86_64 [root@db01 ~]# uname -m x86_64 [root@db01 ~]# uname -n db01
1、上傳所需要的MySQL編譯安裝包
可以使用rz,ftp等工具上傳至指定目錄;
演示: 我的存放/server/tools目錄下
[root@db01 ~]# mkdir -p /server/tools [root@db01 ~]# cd /server/tools [root@db01 tools]# rz rz waiting to receive. Starting zmodem transfer. Press Ctrl+C to cancel. Transferring mysql-5.5.52.tar.gz... 100% 20539 KB 20539 KB/sec 00:00:01 0 Errors [root@db01 tools]# [root@db01 tools]# ll 總用量 20540 -rw-r--r-- 1 root root 21032776 8月 26 17:32 mysql-5.5.52.tar.gz
2、安裝cmake工具
MySQL從5.3開始使用cmake工具安裝
cmake工具地址https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
演示:
1)下載工具
[root@db01 tools]# pwd /server/tools [root@db01 tools]# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz [root@db01 tools]# ls -l cmake-3.5.2.tar.gz -rw-r--r-- 1 root root 6863498 4月 16 01:40 cmake-3.5.2.tar.gz
2)解壓cmake3.5.2
[root@db01 tools]# tar xf cmake-3.5.2.tar.gz [root@db01 tools]# ls -ld cmake-3.5.2 drwxr-xr-x 11 root root 4096 4月 27 09:45 cmake-3.5.2
3)安裝cmake3.5.2
[root@db01 tools]# cd cmake-3.5.2 [root@db01 cmake-3.5.2]# ./configure [root@db01 cmake-3.5.2]# gmake [root@db01 cmake-3.5.2]# gmake install [root@db01 cmake-3.5.2]# cd ../
PS:如果嫌棄麻煩那么 yum安裝也可以(yum install -y cmake)
[root@db01 tools]# yum install -y cmake
3、安裝ncurses-devel依賴
ncurses,計算機語言,指的是提供字符終端處理庫。
[root@db01 tools]# yum install -y ncurses-devel
4、安裝MySQL
1)創建用戶和組
[root@db01 tools]# useradd -Ms /sbin/nologin mysql [root@db01 tools]# id mysql uid=501(mysql) gid=501(mysql) 組=501(mysql)
2)解壓編譯安裝
[root@db01 tools]# tar xf mysql-5.5.52.tar.gz [root@db01 tools]# cd mysql-5.5.52 [root@db01 mysql-5.5.52]# cmake . \ -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.52 \ -DMYSQL_DATADIR=/application/mysql-5.5.52/data \ -DMYSQL_UNIX_ADDR=/application/mysql-5.5.52/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \ -DENABLED_LOCAL_INFILE=ON \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \ -DWITH_FAST_MUTEXES=1 \ -DWITH_ZLIB=bundled \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_READLINE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DWITH_DEBUG=0 ………………………省略…………………………… oaded-virtual -Wno-unused-parameter -- CMAKE_C_FLAGS_RELWITHDEBINFO: -O2 -g -DNDEBUG -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O2 -g -DNDEBUG -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -- Configuring done -- Generating done -- Build files have been written to: /server/tools/mysql-5.5.52 [root@db01 mysql-5.5.52]# echo $? 0
<==顯示如上結果配置成功
參數解釋解釋:
cmake . \ -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.52 \ #指定安裝目錄 -DMYSQL_DATADIR=/application/mysql-5.5.52/data \ #指定數據存放目錄(重要) -DMYSQL_UNIX_ADDR=/application/mysql-5.5.52/tmp/mysql.sock \ #指定sock的路徑 -DDEFAULT_CHARSET=utf8 \ #指定默認字符集 -DDEFAULT_COLLATION=utf8_general_ci \ #指定校準字符集編碼 -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \ #安裝所需字符集 -DENABLED_LOCAL_INFILE=ON \ #啟用加載本地數據 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持innode儲存引擎 -DWITH_FEDERATED_STORAGE_ENGINE=1 \ #支持federated引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #支持黑洞儲存引擎 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \ #安裝支持數據庫分區 -DWITH_FAST_MUTEXES=1 \ -DWITH_ZLIB=bundled \ #zlib壓縮模式 -DENABLED_LOCAL_INFILE=1 \ -DWITH_READLINE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DWITH_DEBUG=0 #禁用debug,開啟影響性能
提示,編譯時可配置的選項很多,具體可參考結尾官方文檔
3)編譯安裝
[root@db01 mysql-5.5.52]# make ………………………省略…………………………… [100%] Built target my_safe_process [root@db01 mysql-5.5.52]# echo $? 0 <==編譯成功 [root@db01 mysql-5.5.52]# make install ………………………省略…………………………… -- Installing: /application/mysql-5.5.52/man/man1/mysqlslap.1 -- Installing: /application/mysql-5.5.52/man/man8/mysqld.8 [root@db01 mysql-5.5.52]# echo $? 0 <==安裝成功
如果上述操作未出現錯誤,則MySQL5.5.52軟件cmake方式的安裝就算成功了
4)創建軟連接,去除版本號
[root@db01 mysql-5.5.52]# ln -s /application/mysql-5.5.52/ /application/mysql
5、復制MySQL配置文件到/etc目錄下
[root@db01 mysql-5.5.52]# \cp /application/mysql/support-files/my-small.cnf /etc/my.cnf
6、配置環境變量
[root@db01 mysql-5.5.52]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile [root@db01 mysql-5.5.52]# tail -1 /etc/profile export PATH=/application/mysql/bin:$PATH [root@db01 mysql-5.5.52]# source /etc/profile [root@db01 mysql-5.5.52]# echo $PATH /application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
7、賦予目錄用戶組
[root@db01 mysql-5.5.52]# chown -R mysql.mysql /application/mysql/
8、執行數據庫初始化腳本
[root@db01 mysql-5.5.52]# cd /application/mysql/scripts/ [root@db01 scripts]# ./mysql_install_db \ > --basedir=/application/mysql-5.5.52 \ > --datadir=/application/mysql-5.5.52/data \ > --user=mysql Installing MySQL system tables... 161210 15:00:47 [Note] /application/mysql-5.5.52/bin/mysqld (mysqld 5.5.52) starting as process 21047 ... OK Filling help tables... 161210 15:00:48 [Note] /application/mysql-5.5.52/bin/mysqld (mysqld 5.5.52) starting as process 21054 ... OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /application/mysql-5.5.52/bin/mysqladmin -u root password 'new-password' /application/mysql-5.5.52/bin/mysqladmin -u root -h db01 password 'new-password' Alternatively you can run: /application/mysql-5.5.52/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /application/mysql-5.5.52 ; /application/mysql-5.5.52/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd /application/mysql-5.5.52/mysql-test ; perl mysql-test-run.pl Please report any problems at http://bugs.mysql.com/
上面有兩個OK就表示初始化數據庫完成
9、配置啟動MySQL
[root@db01 scripts]# cd [root@db01 ~]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld [root@db01 ~]# chmod +x /etc/init.d/mysqld [root@db01 ~]# sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld [root@db01 ~]# /etc/init.d/mysqld start Starting MySQL... SUCCESS!
啟動報錯
#/etc/init.d/mysqld start
(1)啟動文件保存
/etc/init.d/mysqld: line 276: cd: /usr/local/mysql: 沒有那個文件或目錄 Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
解決:
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld
(2)MySQL啟動報錯
/etc/init.d/mysqld start 報錯: [root@mysql mysql]# /etc/init.d/mysqld start Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/mysql.pid).
問題所在:mysql初始化出錯
解決:
1.清空數據data目錄
rm -f /application/mysql/data/*
2.重新初始化mysql
/application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data/
3.接著從初始化步驟后的步驟重新操作
netstat -lntup|grep mysql
10、加入開機自啟動
[root@db01 ~]# chkconfig mysqld on [root@db01 ~]# chkconfig --list mysqld mysqld 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
11、檢查端口
[root@db01 ~]# netstat -lntup | grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 21333/mysqld
到這里MySQL數據庫就安裝完畢啦 O(∩_∩)O~~!!!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。