MySQL 第一篇

1、MySQL介紹mysql

    MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性linux

    特色:c++

       性能卓越,服務穩定,不多出現宕機sql

       開放源代碼且無版權制約,自主性強,使用成本低數據庫

       支持多操做系統,提供多種API接口,支持多種開發語言(Python,Php,Java)vim

2、MySQL安裝方式安全

    1yum安裝     (適合對數據庫要求不過高的場合)bash

       大的門戶網站把源碼根據企業需求製做成rpm,搭建yum倉庫tcp

    2.常規方式編譯安裝性能

       .configure/make/make install    (mysql 5.1及之前)

       cmake /make /make install

序號

MySQL安裝方式

特色說明

1

yum/rpm安裝

簡單,部署速度快,可是無法定製安裝,適合新手

2

二進制安裝

解壓軟件,簡單配置後就能夠使用,不用安裝,部署速度較快,專業DBA經常使用這種方式,軟件名如:mysql-5.5.50-linux2.6-x86_64.tar.gz

3

源碼編譯安裝

能夠定製安裝(指定字符集,安裝路徑等),可是安裝時間長

4

源碼軟件結合yum/rpm安裝

把源碼軟件製做成符合要求的rpm,放到yum倉庫,而後經過yum來安裝,結合了13的優勢,安裝快速,能夠任意定製參數

 

3、MySQL安裝實戰(源碼cmake方式編譯安裝MySQL)

    1.下載mysql/cmake安裝包

1
2
3
[root@master ~] # mkdir /home/tools
[root@master ~] # wget –P /home/tools https://cmake.org/files/v2.8/cmake-2.8.12.tar.gz
[root@master ~] # wget -P /home/tools/ http://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.50.tar.gz

    2.創建帳號

1
2
3
4
5
6
[root@master ~] # groupadd mysql
[root@master ~] # useradd -s /sbin/nologin -g mysql -M mysql
useradd 參數說明:
    -s /sbin/nologin        # 表示禁止該用戶登陸,只需角色存在便可,增強安全
    -g mysql                # 指定屬組
    -M                      # 表示不建立用戶家目錄

    3.配置安裝環境

       建立目錄並受權

1
2
3
4
[root@master ~] # mkdir -p /usr/local/mysql
[root@master ~] # mkdir -p /db/mysql
[root@master ~] # chown -R mysql.mysql /usr/local/mysql
[root@master ~] # chown -R mysql.mysql /db

       安裝依賴

1
[root@master ~] # yum install gcc gcc-c++ make cmake ncurses-devel bison perl -y

       配置解析

1
2
3
4
[root@master ~] # hostname
master.opsedu.com
[root@master ~] # vim /etc/hosts
192.168.10.66   master         # 添加一條

    4.安裝mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@master tools] # tar -zxf mysql-5.5.50.tar.gz
[root@master tools] # cd mysql-5.5.50
[root@master mysql-5.5.50] # cmake \
> -DCMAKE_INSTALL_PREFIX= /usr/local/mysql/ \
> -DMYSQL_DATADIR= /db/mysql \
> -DMYSQL_TCP_PORT=3306 \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DEXTRA_CHARSETS=all \
> -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 \
> -DMYSQL_UNIX_ADDR= /tmp/mysql .sock
[root@master mysql-5.5.50] # make          # 編譯
[root@master mysql-5.5.50] # make install

    5.初始化mysql

       配置mysql環境變量

1
2
[root@master mysql-5.5.50] # echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
[root@master mysql-5.5.50] # source /etc/profile

       查看配置文件

1
2
3
4
5
6
7
[root@master mysql-5.5.50] # ll support-files/*.cnf
-rw-r--r-- 1 root root  4667 Jul9 01:26 support-files /my-huge .cnf
-rw-r--r-- 1 root root 19759 Jul  9 01:26 support-files /my-innodb-heavy-4G .cnf
-rw-r--r-- 1 root root  4641 Jul9 01:26 support-files /my-large .cnf
-rw-r--r-- 1 root root  4652 Jul9 01:26 support-files /my-medium .cnf
-rw-r--r-- 1 root root  2816 Jul9 01:26 support-files /my-small .cnf
[root@master mysql-5.5.50] # /bin/cp support-files/my-small.cnf /etc/my.cnf          # copy配置文件

       建立mysql數據庫文件

1
[root@master mysql-5.5.50] # /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/db/mysql --user=mysql

                  以上命令主要是生成mysql庫及相關文件:

                   這些文件是mysql正確運行所必需的基本數據庫文件,其功能是對mysql權限、狀態等進行管理

                  

       啓動mysql

1
2
3
[root@master mysql-5.5.50] # /usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@master mysql-5.5.50] # netstat -lnt|grep 3306
tcp        0  0 0.0.0.0:3306          0.0.0.0:*             LISTEN

       配置mysql開機啓動

1
2
3
4
[root@master mysql-5.5.50] # cp support-files/mysql.server /etc/init.d/mysqld
[root@master mysql-5.5.50] # chmod 700 /etc/init.d/mysqld
[root@master mysql-5.5.50] # chkconfig --add mysqld
[root@master mysql-5.5.50] # chkconfig mysqld on

       初始化碰見錯誤

           示例1:

           WARING:The host ‘mysql’ could not be locked up with resolveip

           須要修改主機名的解析,使其和usernae –n同樣

          

           示例2:

           ERROR:1004 Can’t create file /tmp/#sql300e_1_0.frm(errno:13)

           緣由是/tmp權限有問題(不解決,後面可能沒法登錄數據庫)

          

    6.後續操做

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@master mysql-5.5.50] # mysql       # mysql安裝好後,默認沒有密碼
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.50 Source distribution
  
Copyright (c) 2000, 2016, 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>
 
# 爲mysql增長(設定)密碼
[root@master mysql-5.5.50] # mysqladmin -uroot password 'q.123456'

      7. 單實例MySQL自動部署腳本

相關文章
相關標籤/搜索