我的漫漫程序之旅

          專注于JavaWeb開發(fā)
          隨筆 - 39, 文章 - 310, 評(píng)論 - 411, 引用 - 0
          數(shù)據(jù)加載中……

          mysql5.5.28在Linux下的安裝

          1.       下載mysql

          http://dev.mysql.com/downloads/mysql/ 官網(wǎng)上下載mysql-5.5.28-linux2.6-i686.tar.gz.

          2.       解壓

             假如tar包在/home/zdw/software目錄下

          #tar -xvf mysql-5.5.28-linux2.6-i686.tar.gz

          3.       移動(dòng)到/usr/local/mysql

          #mv mysql-5.5.28-linux2.6-i686 /usr/local/

          添加快捷方式mysql指向mysql-5.5.28-linux2.6-i686

          #ln -s mysql-5.5.28-linux2.6-i686/ mysql

          4.       安裝依賴的lib:執(zhí)行/usr/local/mysql/bin/mysqld,報(bào)錯(cuò)

          /usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot               open shared object file: No such file or directory

          使用apt-cache search libaio,找到如下軟件源

          libaio-dev - Linux kernel AIO access library - development files

          libaio1 - Linux kernel AIO access library - shared library

          libaio1-dbg - Linux kernel AIO access library - debugging symbols

          使用#apt-get install libaio1 安裝

          5.       配置用戶,目錄

          #groupadd mysql

          #useradd -r -g mysql mysql

          #cd /usr/local/mysql

          #chown -R mysql .

          #chgrp -R mysql .

          6.       初始化mysql

              假如當(dāng)前目錄為/usr/local/mysql

          #scripts/mysql_install_db --user=mysql

          7.       啟動(dòng)mysql

          最簡單的啟動(dòng)方式:

          #/usr/local/mysql/bin/mysqld --user=mysql

          默認(rèn)情況下使用/usr/local/mysql/data作為mysql的數(shù)據(jù)目錄,包括數(shù)據(jù)庫文件,log日志。

          常用的mysql啟動(dòng)參數(shù):

          /usr/local/mysql/bin/mysqld  --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  --port=3306 --socket=/tmp/mysql.socks

          推薦的啟動(dòng)mysql

          #/usr/local/mysql/support-files/mysql.server start

          啟動(dòng)完成之后用ps -ef |grep mysql 命令查看是否啟動(dòng)

          8.       登錄mysql

          #/usr/local/mysql/bin/mysql -u root -p

          默認(rèn)密碼為空

          修改root密碼

          mysql>use mysql ;
          mysql>update user set password=PASSWORD("123456") where user='root';
          mysql>FLUSH PRIVILEGES;

          9.       關(guān)閉mysql

          最簡單的方式

          #killall mysqld

          推薦的方式

          #/usr/local/mysql/support-files/mysql.server stop

          使用mysql.server stop關(guān)閉mysqld會(huì)銷毀pid文件,并做容錯(cuò)操作,但是最后也是調(diào)用kill命令kill mysql

           

          關(guān)閉mysql,盡量不要用kill -9 mysql_pid或者是killall -9 mysql,否則mysql進(jìn)程無法做退出處理,就可能會(huì)丟失數(shù)據(jù),甚至導(dǎo)致表損壞。

           

          10.   淺析mysql.server腳本的啟動(dòng)流程

          mysql.server腳本可以看到在以下腳本調(diào)用mysqld_safe這個(gè)bash

          $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

          默認(rèn)情況下,$bindir/mysqld_safe就是/usr/local/mysql/bin/mysqld_safe這個(gè)shell,我的本機(jī)的調(diào)用參數(shù)如下:

          /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/blue-pc.pid

          mysqld_safe也是一個(gè)shell,可以看到在這個(gè)腳本在初始化N多變量后,調(diào)用

          eval_log_error "$cmd"

          這個(gè)shell function最后就是調(diào)用

           #echo "Running mysqld: [$cmd]" eval "$cmd"

          在我本機(jī),這個(gè)$cmd就是

          /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/blue-pc.err --pid-file=/usr/local/mysql/data/blue-pc.pid

          參考文章:
          http://dev.mysql.com/doc/refman/5.5/en/binary-installation.html
          本文在Ubuntu11.04和Fedora14下測試成功。



          posted on 2012-12-11 14:39 々上善若水々 閱讀(8612) 評(píng)論(0)  編輯  收藏 所屬分類: JavaWeb

          主站蜘蛛池模板: 南雄市| 大英县| 惠安县| 屏边| 松潘县| 连州市| 平顺县| 鹤峰县| 宽甸| 铜鼓县| 祥云县| 漾濞| 乌恰县| 陵川县| 巴彦县| 广平县| 密云县| 裕民县| 新龙县| 鄢陵县| 湖州市| 阜新| 江永县| 南汇区| 西宁市| 甘孜县| 辉南县| 略阳县| 菏泽市| 永登县| 平潭县| 阿勒泰市| 兖州市| 叶城县| 扶沟县| 河池市| 保亭| 星座| 孙吴县| 霍山县| 通州市|