安裝mysql之前 我想告訴你
在Linux內核當中運行一個進程 一定是以某用戶的身份進行運行的
今天 Mysql就是如此 不管 以後是什麼服務 都是一樣的......
運行環境如下: 非常純淨的系統 什麼都沒有安裝
CentOS 6.4
mysql-5.1.72
檢查結果:
[root@LAMP tools]# cat /etc/redhat-release CentOS release 6.4 (Final) [root@LAMP tools]# uname -r 2.6.32-358.el6.x86_64 [root@LAMP tools]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:2F:59:28 inet addr:172.16.30.11 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::20c:29ff:fe2f:5928/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:368 errors:0 dropped:0 overruns:0 frame:0 TX packets:277 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:34526 (33.7 KiB) TX bytes:37299 (36.4 KiB) [root@LAMP tools]# hostname LAMP
1.添加一個系統用戶 不創建家目錄 不允許用戶登錄 只是用戶運行 mysql這個進程使用
[root@LAMP tools]# useradd -r -s /sbin/nologin mysql [root@LAMP tools]# id mysql uid=498(mysql) gid=498(mysql) groups=498(mysql) [root@LAMP tools]# tail -1 /etc/passwd mysql:x:498:498::/home/mysql:/sbin/nologin
2.解壓 mysql-5.1.72.tar.gz 軟件
[root@LAMP tools]# pwd /root/tools [root@LAMP tools]# ll total 31024 -rw-r--r--. 1 root root 133591 May 16 14:14 cronolog-1.6.2.tar.gz -rw-r--r--. 1 root root 7583841 Jul 17 2015 httpd-2.2.31.tar.gz -rw-r--r--. 1 root root 24044338 May 16 20:34 mysql-5.1.72.tar.gz [root@LAMP tools]# tar xf mysql-5.1.72.tar.gz
3.檢查配置
./configure \
--prefix=/application/mysql5.1.72 \
--with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock \
--localstatedir=/application/mysql5.1.72/data \
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-user=mysql \
--with-big-tables \
--without-debug \
--with-pthread \
--with-extra-charsets=complex \
--with-readline \
--with-ssl \
--with-embedded-server \
--with-local-infile \
--with-plugins=partition,innobase \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static
./configure \ --prefix=/application/mysql5.1.72 \ --with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock \ --localstatedir=/application/mysql5.1.72/data \ --enable-assembler \ --enable-thread-safe-client \ --with-mysqld-user=mysql \ --with-big-tables \ --without-debug \ --with-pthread \ --with-extra-charsets=complex \ --with-readline \ --with-ssl \ --with-embedded-server \ --with-local-infile \ --with-plugins=partition,innobase \ --with-mysqld-ldflags=-all-static \ --with-client-ldflags=-all-static
可能會遇到的問題 curses包未安裝
解決方案是採用 yum 進行安裝
yum install ncurses-devel -y
完成上面的包裝之後 再進行 ./configure配置檢查一下 就可以.....
4.編譯 並進行安裝
[root@LAMP mysql-5.1.72]# echo $? //打印上一條命令是否有錯誤 0代表成功 0 [root@LAMP mysql-5.1.72]# make && make install //編譯 並 安裝
****************************************************************************
下面進行初始化配置 MySQL數據
****************************************************************************
5.把源程序目錄下面
[root@LAMP mysql-5.1.72]# pwd /root/tools/mysql-5.1.72 [root@LAMP mysql-5.1.72]# \cp support-files/my-small.cnf /etc/my.cnf
6.創建一個軟鏈接
[root@LAMP mysql-5.1.72]# ln -s /application/mysql5.1.72/ /application/mysql
7.創建一個目錄存放數據庫文件
[root@LAMP mysql-5.1.72]# mkdir /application/mysql/data -p [root@LAMP mysql-5.1.72]# ll -ld /application/mysql/data/ drwxr-xr-x. 2 root root 4096 May 17 18:42 /application/mysql/data/
8.修改 /application/mysql 目錄權限 因爲我們要指定用戶 mysql初始化
所以 mysql得要有所有管理權
[root@LAMP mysql-5.1.72]# chown -R mysql:mysql /application/mysql
9.進入初始化
/application/mysql/bin/mysql_install_db \
--basedir=/application/mysql \
--datadir=/application/mysql/data \
--user=mysql
/application/mysql/bin/mysql_install_db \ --basedir=/application/mysql \ --datadir=/application/mysql/data \ --user=mysql
10.將support-files/mysql.server文件複製到 /etc/init.d/mysqld
做爲系統服務啓動
[root@LAMP support-files]# pwd /root/tools/mysql-5.1.72/support-files [root@LAMP support-files]# cp mysql.server /etc/init.d/mysqld [root@LAMP support-files]# [root@LAMP support-files]# chmod a+x /etc/init.d/mysqld
11.出於安全考慮 我們應該把 /application/mysql 的權限還給 root
再把 /application/mysql/data 這個目錄設置成 mysql管理權
[root@LAMP support-files]# chown -R root:root /application/mysql [root@LAMP support-files]# chown -R mysql:mysql /application/mysql/data/
12.啓動吧.........
[root@LAMP ~]# /etc/init.d/mysqld start Starting MySQL. SUCCESS! [root@LAMP ~]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 19223 mysql 10u IPv4 103134 0t0 TCP *:mysql (LISTEN)
13.後續工作
將 /etc/init.d/mysql start 開機自啓動
將 /application/mysql/bin 放到環境變量當中去
[root@LAMP ~]# echo "/etc/init.d/mysql start" >> /etc/rc.local [root@LAMP ~]# cd /etc/profile.d/ [root@LAMP profile.d]# touch mysql.sh [root@LAMP profile.d]# vi mysql.sh
[root@LAMP profile.d]# source mysql.sh 讓mysql.sh裏面的環境變量生效
14.測試一下
[root@LAMP ~]# mysql //直接在命令行敲 mysql就可以進入管理.... Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.72 Source distribution Copyright (c) 2000, 2013, 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 | | test | +--------------------+ 3 rows in set (0.00 sec)
恭喜你 你已經學會安裝 Mysql了
QQ:771541213