tar版本好處:可以指定安裝目錄,比如可以把安裝文件安裝至陣列磁盤,方便數據恢復
環境:centos 6.4 x64
先下載mysql安裝包
選擇 linux - Generic(linux通用版本tar包版)

選擇自己需要的版本進行下載,再選擇

下載完畢后,得到安裝包 mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
此包不再需要make編譯源代碼(真是扛扛的),之前的mysql-5.6.4.tar.gz包是源碼包,需要先cmake,再make & make install
上傳到centos6.4的/software目錄下(可以改為你需要的目錄,這里只是演示)
ssh登錄到centos6.4,開始執行以下命令
1.解壓tar包
cd /software
tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21
2.添加用戶與組(並且修改屬性)
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql-5.6.21
chown -R mysql:mysql /software/data/mysql
這個是指定專門用於存放mysql數據文件的目錄(根據需求創建,當然也可直接用/software/mysql-5.6.21/data)
3.安裝數據庫
su mysql
(這里應該也可以不切換用戶,當然最好切換,否則部分新創建文件屬於root用戶)
cd mysql-5.6.21/scripts
./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data
exit
(這里切換回root用戶)
4.配置文件
cd /software/mysql-5.6.21/support-files
cp my-default.cnf /etc/my.cnf
(注意:5.5.X版本的沒有my-default.cnf, 而是my-small.cnf文件)
cp mysql.server /etc/init.d/mysql
(注意:一般是拷貝到/etc/rc.d/init.d目錄下,當然這樣也是可以的)
vim /etc/init.d/mysql #若mysql的安裝目錄是/usr/local/mysql,則可省略此步
修改文件中的兩個變更值
(按實際情況配置)
basedir=/software/mysql-5.6.21
datadir=/software/mysql-5.6.21/data
datadir=/software/mysql-5.6.21/data
5.配置環境變量
vim /etc/profile
export MYSQL_HOME="/software/mysql-5.6.21"
export PATH="$PATH:$MYSQL_HOME/bin"
保存退出
. /etc/profile
6.添加自啟動服務
chkconfig --add mysql
chkconfig mysql on
7.啟動mysql
service mysql start
8.登錄mysql及改密碼與配置遠程訪問
mysqladmin -u root password 'your_password' #修改root用戶密碼
mysql -u root -p #登錄mysql,需要輸入密碼
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
#允許root用戶遠程訪問
mysql>FLUSH PRIVILEGES; #刷新權限
mysql>exit
---------------------------2014/11/25 添加
又裝了一次此版本的mysql,發現root用戶不能登錄,提示沒權限。使用mysqld_safe 登進去,發現user表居然是空的,沒有一個用戶,郁悶。
於是從其它地方導出了一份user表的sql語句,手動插入了一個用戶,再登錄就可以了。
附:
忘記root密碼后,如何找回密碼
cd $MYSQL_HOME
./bin/mysqld_safe --basedir=/data/mysql-5.6.21 --datadir=/data/mysql-5.6.21/data --skip-grant-tables &
mysql -u root mysql
UPDATE user SET password=PASSWORD("new_password") WHERE user='root';
FLUSH PRIVILEGES;
mysql -u root mysql
UPDATE user SET password=PASSWORD("new_password") WHERE user='root';
FLUSH PRIVILEGES;
轉載至:https://www.iteye.com/blog/kavy-2313282