MySQL入門教程

來源:互聯網
上載者:User

MySQL入門教程

作業系統:CentOS 6.7
MySQL版本:5.6.30

  • 1.前期準備
  • 2.系統配置
  • 3.CMake編譯配置
  • 4.make && make install
  • 5.後期配置和測試
  • Reference
1.前期準備

首先需要CMake,可以yum直接安裝:

yum install cmake

也可以官網 https://cmake.org/ 下載源碼編譯。
我這裡選擇了官網下載最新版本cmake-3.5.2.tar.gz。

# tar -zxvf cmake-3.5.2.tar.gz && cd cmake-3.5.2# ./configure部分輸出略。-- Build files have been written to: /soft/cmake-3.5.2---------------------------------------------CMake has bootstrapped.  Now run gmake.# gmake # make install
2.系統配置

添加組和使用者:

groupadd mysqluseradd -g mysql mysql

vi /etc/security/limits.conf 檔案末尾添加:

mysql   soft    nproc   2047mysql   hard    nproc   16384mysql   soft    nofile  1024mysql   hard    nofile  65536
3.CMake編譯配置

解壓源碼包:

tar zxvf mysql-5.6.30.tar.gz && cd mysql-5.6.30

CMake編譯配置

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DENABLED_LOCAL_INFILE=ON \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DCOMPILATION_COMMENT='JSS for mysqltest' \-DWITH_READLINE=ON \-DSYSCONFDIR=/data/mysqldata/3306 \-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock

遇到以下錯誤,

-- 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:421 (MYSQL_CHECK_EDITLINE)-- Configuring incomplete, errors occurred!See also "/soft/mysql-5.6.30/CMakeFiles/CMakeOutput.log".See also "/soft/mysql-5.6.30/CMakeFiles/CMakeError.log".[root@JY-DB mysql-5.6.30]# 

yum安裝提示缺失的包:

yum install ncurses-devel

重新刪除設定檔:

rm -rf CMakeCache.txt

然後重新CMake工具編譯:

CMake Warning:  Manually-specified variables were not used by the project:    WITH_READLINE-- Build files have been written to: /soft/mysql-5.6.30[root@JY-DB mysql-5.6.30]# 
4.make && make install
[root@JY-DB mysql-5.6.30]# make && make install大量輸出略。

這個時間會比較長,也跟機器效能有關。

5.後期配置和測試5.1 打包MySQL二進位版本:
[root@JY-DB data]# tar zcvf mysql-5.6.30.tar.gz /usr/local/mysql/
5.2 修改MySQL軟體所在目錄擁有者:
chown -R mysql.mysql /usr/local/mysql
5.3 修改mysql使用者環境變數:

vi ~/.bash_profile

export LANG=zh_CN.GB18030export PATH=/usr/local/mysql/bin:$PATH
5.4 建立資料庫服務:
# mkdir -p /data/mysqldata/{3306/{data,tmp,binlog},backup,scripts}# chown -R mysql.mysql /data/mysqldata# su - mysql$ more /usr/local/mysql/support-files/my-default.cnf $ vi /data/mysqldata/3306/my.cnf

my.cnf設定檔內容如下:

[client]port = 3306socket = /data/mysqldata/3306/mysql.sock#The MySQL Server[mysqld]port = 3306user = mysqlsocket = /data/mysqldata/3306/mysql.sockpid-file = /data/mysqldata/3306/mysql.pidbasedir = /usr/local/mysqldatadir = /data/mysqldata/3306/datatmpdir = /data/mysqldata/3306/tmpopen_files_limit = 10240explicit_defaults_for_timestampsql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES#Buffermax_allowed_packet = 256Mmax_heap_table_size = 256Mnet_buffer_length = 8ksort_buffer_size = 2Mjoin_buffer_size = 4Mread_buffer_size = 2Mread_rnd_buffer_size = 16M#Loglog-bin = /data/mysqldata/3306/binlog/mysql-binbinlog_cache_size = 32Mmax_binlog_cache_size = 512Mmax_binlog_size = 512Mbinlog_format = mixedlog_output = FILElog-error = ../mysql-error.logslow_query_log = 1slow_query_log_file = ../slow_query.loggeneral_log = 0general_log_file = ../general_query.logexpire-logs-days = 14#InnoDBinnodb_data_file_path = ibdata1:2048M:autoextendinnodb_log_file_size = 256Minnodb_log_files_in_group = 3innodb_buffer_pool_size = 1024M[mysql]no-auto-rehashprompt = (\u@\h)[\d]>\_default-character-set = gbk

初始化MySQL資料庫:

$ /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql
5.5 啟動資料庫服務:
mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &

測試連接並查看MySQL進程和連接埠監聽狀態:

netstat -lnt | grep 3306ps -ef | grep bin/mysql | grep -v grep

實際操作過程如下:

[root@JY-DB ~]# su - mysql[mysql@JY-DB ~]$ mysqlWelcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.6.30-log JSS for mysqltestCopyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.(root@localhost)[(none)]> exitBye[mysql@JY-DB ~]$ netstat -lnt |grep 3306tcp        0      0 :::3306                     :::*                        LISTEN      [mysql@JY-DB ~]$  [mysql@JY-DB ~]$ ps -ef | grep bin/mysql | grep -v grepmysql     6736  1753  0 11:24 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnfmysql     7202  6736  0 11:24 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysqldata/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/data/mysqldata/3306/data/../mysql-error.log --open-files-limit=10240 --pid-file=/data/mysqldata/3306/mysql.pid --socket=/data/mysqldata/3306/mysql.sock --port=3306
Reference
  • 李丙洋. 塗抹MySQL. 水利水電出版社, 2014.  PDF 下載見
  • dev.mysql.com

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 3
  • 4
  • 下一頁
【內容導航】
第1頁:MySQL源碼安裝 第2頁:MySQL二進位版本快速部署
第3頁:MySQL配置安全性、易用性 第4頁:MySQL主從配置

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.