Centos6.4安裝mysql-5.5.33綠色版

1.肯定系統版本
[root@station253 ~]# head -n1 /etc/issue
CentOS release 6.4 (Final)
[root@station253 ~]# uname -r
2.6.32-358.el6.x86_64
[root@station253 ~]# cat /proc/version 
Linux version 2.6.32-358.el6.x86_64 
[root@station253 ~]# ls /mnt/hgfs/Share64/mysql
mysql-5.5.33-linux2.6-x86_64.tar.gz
此版本是綠色解壓縮直接執行版本node

2.肯定事先沒有rpm包安裝過mysql
[root@station253 ~]# rpm -qa | grep mysqlmysql

3.安裝所須要的庫文件
[root@station253 ~]# yum -y install gcc gcc-c++ cmake bisonlinux

4.建立用戶和組
[root@station253 ~]# groupadd -r mysql
## -r此參數是用來創建系統賬號。它會自動幫你選定一個小於499的gid
[root@station253 ~]# useradd -g mysql -r -M -s /bin/nologin mysql
## -g 所屬組 –r 創建系統帳號 –M 不創建用戶家目錄 –s 用戶默認shell是禁止用戶登錄系統
[root@station253 ~]# id mysql
uid=498(mysql) gid=499(mysql) groups=499(mysql)c++

5.建立數據存放目錄data
[root@station253 ~]# mkdir -pv /mydata/data
## -p 連同父目錄 –v 詳細狀況
Mysql的數據文件應該獨立存放。最起碼是單獨分區上,分區作成Raid5或Raid10,或者作成LVM邏輯卷。
所以,這裏先作邏輯卷,再將數據庫存放到那裏。
[root@station253 ~]# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c6755
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
/dev/sda2              26         791     6144000   83  Linux
/dev/sda3             791         918     1024000   83  Linux
/dev/sda4             918        2611    13597696    5  Extended
/dev/sda5             919        1046     1024000   82  Linux swap / Solaris
Command (m for help): n
First cylinder (1046-2611, default 1046): 
Using default value 1046
Last cylinder, +cylinders or +size{K,M,G} (1046-2611, default 2611): +5G
Command (m for help): n
First cylinder (1700-2611, default 1700): 
Using default value 1700
Last cylinder, +cylinders or +size{K,M,G} (1700-2611, default 2611): +5G
Command (m for help): t
Partition number (1-7): 6
Hex code (type L to list codes): 8e   #建立一個新分區類型爲8e
Changed system type of partition 6 to 8e (Linux LVM)
Command (m for help): t
Partition number (1-7): 7
Hex code (type L to list codes): 8e
Changed system type of partition 7 to 8e (Linux LVM)
Command (m for help): w
The partition table has been altered!
[root@station253 ~]# partprobe /dev/sda        
#RHEL5.x上partprobe在RHEL6.x下已經不適用,新命令partx
-bash: partprobe: command not found
[root@station253 ~]# partx -a /dev/sda   #讓內核從新讀取分區
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
BLKPG: Device or resource busy
error adding partition 3
BLKPG: Device or resource busy
error adding partition 4
BLKPG: Device or resource busy
error adding partition 5sql

[root@station253 ~]# fdisk /dev/sda
Command (m for help): p
/dev/sda6            1046        1699     5247314   8e  Linux LVM
/dev/sda7            1700        2353     5253223+  8e  Linux LVM
[root@station253 ~]# vgcreate myvg /dev/sda{6,7}
-bash: vgcreate: command not found
#老版本的vgcreate是在新lvm2包中,安裝
[root@station253 ~]# yum -y install lvm2
[root@station253 ~]# pvcreate  /dev/sda{6,7}  #建立物理卷
  Physical volume "/dev/sda6" successfully created
  Physical volume "/dev/sda7" successfully created
[root@station253 ~]# vgcreate myvg /dev/sda{6,7}  #建立卷組
  Volume group "myvg" successfully created
[root@station253 ~]# vgs                         #查看卷組或命令lvdisplay
  VG   #PV #LV #SN Attr   VSize  VFree 
  myvg   2   0   0 wz--n- 10.01g 10.01g
[root@station253 ~]#  lvcreate -L 5G -n mydata myvg  #建立邏輯卷
  Logical volume "mydata" created
[root@station253 ~]# lvs                             #查看邏輯卷
  LV     VG   Attr      LSize Pool Origin Data%  Move Log Cpy%Sync Convert
  mydata myvg -wi-a---- 5.00g             
[root@station253 ~]# mkfs.ext4 /dev/myvg/mydata     #格式化
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
 32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.shell

6. 掛載設置
[root@station253 ~]# vim /etc/fstab    #修改掛載配置文件
#新增一行
/dev/myvg/mydata        /mydata/data                              ext4    defaults        0 0   
[root@station253 ~]# mount -a  #掛載
[root@station253 ~]# reboot   #虛擬機掛載不出時重啓系統
[root@station253 ~]# mount|sort   #查看全部掛載
/dev/mapper/myvg-mydata on /mydata/data type ext4 (rw)
[root@station253 ~]# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/mapper/myvg-mydata
              ext4    5.0G  138M  4.6G   3% /mydata/data數據庫

7.數據目錄配置
[root@station253 ~]# chown -R mysql.mysql /mydata
[root@station253 ~]# ll -d /mydata
drwxr-xr-x 3 mysql mysql 4096 Dec 14 17:11 /mydata
[root@station253 ~]# ll -d /mydata/data
drwxr-xr-x 3 mysql mysql 4096 Dec 14 17:39 /mydata/datavim

8.編譯安裝
[root@station253 ~]# cp /mnt/hgfs/Share64/mysql/mysql-5.5.33-linux2.6-x86_64.tar.gz /opt
[root@station253 ~]# cd /opt
[root@station253 opt]# tar zxvf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local
[root@station253 opt]# ls /usr/local/mysql-5.5.33-linux2.6-x86_64/
bin  COPYING  data  docs  include  INSTALL-BINARY  lib  man  mysql-test  README  scripts  share  sql-bench  support-files
[root@station253 opt]# cd /usr/local/
[root@station253 local]# ln -sv mysql-5.5.33-linux2.6-x86_64 mysql
`mysql' -> `mysql-5.5.33-linux2.6-x86_64'
生產環境下,作軟鏈接是爲寫參數和升級方便
[root@station253 mysql]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   #安裝目錄
-DMYSQL_DATADIR=/var/mysql/data \                #數據庫存放目錄
-DMYSQL_USER=mysql \                           #默認用戶
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \            #Unix socket 文件路徑
-DDEFAULT_CHARSET=utf8 \                       #使用 utf8 字符集
-DDEFAULT_COLLATION=utf8_general_ci \            #校驗字符集
-DWITH_EXTRA_CHARSETS=all \                   #安裝全部擴展字符集
-DWITH_MYISAM_STORAGE_ENGINE=1 \           #安裝 myisam 存儲引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \         #安裝 innodb 存儲引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \          #安裝 memory 存儲引擎
-DWITH_READLINE=1 \                          #快捷鍵功能
-DENABLED_LOCAL_INFILE=1 \                   #容許從本地導入數據
-DMYSQL_TCP_PORT=3306                     #MySQL 監聽端口
-DWITH_SSL=yes \                            #支持 SSL
CMake Error The source directory usr local does not appear to contain CMakeLists.txt
所以版本爲綠色版,沒有CMakeLists.txt
若是以前由於庫文件安裝不全,編譯失敗,安裝徹底的庫文件以後,再次編譯失敗,則須要刪除編譯文件。# rm -rf CMakeCache.txtbash

9.配置mysql環境
#爲Mysql提供Sysv服務腳本
[root@station253 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
#添加執行權限並加入到系統服務
[root@station253 mysql]# chmod +x /etc/rc.d/init.d/mysqld
[root@station253 mysql]# chmod 755 /etc/init.d/mysqld
[root@station253 mysql]# chkconfig --add mysqld
#提供Mysql主配置文件,大於512MB內存使用該配置文件
[root@station253 mysql]# cp support-files/my-large.cnf /etc/my.cnf
#修改主配置文件數據存放目錄位置
[root@station253 mysql]# vim /etc/my.cnf
在[mysqld]中最後添加
38 datadir = /mydata/data
40 thread_concurrency = 2  //8改爲2,併發進程數是CPU顆數2倍
#添加Mysql的PATH環境變量
[root@station253 mysql]# echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
[root@station253 mysql]# . /etc/profile
#添加Mysql的庫文件
[root@station253 mysql]# echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf
[root@station253 mysql]# ldconfig
#添加Mysql頭文件信息
[root@station253 mysql]# ln -s /usr/local/mysql/include /usr/include/mysql
#啓動進程
[root@station253 mysql]# service mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/mydata/data/station253.example.com.pid).
10.排錯
#查詢錯誤日誌
[root@station253 mysql]# cat /mydata/data/station253.example.com.err 
131214 19:03:22 mysqld_safe Starting mysqld daemon with databases from /mydata/data
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
131214 19:03:22 mysqld_safe mysqld from pid file /mydata/data/station253.example.com.pid ended
#報錯顯示缺乏共享庫
[root@station253 mysql]#  rpm -qa | grep libaio
#果真沒有安裝,安裝它
[root@station253 mysql]# yum -y install libaio
libaio-0.3.107-10.el6.x86_64.rpm
#啓動進程
[root@station253 mysql]# service mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/mydata/data/station253.example.com.pid).
#查詢錯誤日誌
[root@station253 mysql]# cat /mydata/data/station253.example.com.err | egrep 'Note|ERROR'
131214 19:15:26 [Note] Plugin 'FEDERATED' is disabled.
131214 19:15:26 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
131214 19:15:28 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
131214 19:15:28 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
131214 19:15:28 [Note] Server socket created on IP: '0.0.0.0'.
131214 19:15:28 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
#出錯緣由是沒有初始化
[root@station253 mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/data
Installing MySQL system tables...
OK
Filling help tables...
OK
#安裝成功
[root@station253 mysql]# service mysqld start
Starting MySQL... SUCCESS!
併發

相關文章
相關標籤/搜索