首先,我們知道MySQL是一個關係型數據,有商業版和社區版。商業版收費,社區版免費。
我這裏使用的是社區版。
MySQL安裝的方法有很多,可以yum安裝,最簡單了,但是不能定製化。可以源碼安裝,但是很耗時間。
所以我們這裏採用二進制源碼安裝試一下。
軟件下載的地址這裏。
url:
https://ftp.dgpm.co/s/EmH8jTGZJgHmTEi (密碼dfas)
安裝mysql,我們首先需要建立一個mysql的虛擬用戶啦!
useradd -s /sbin/nologin -M mysql
檢查用戶
id mysql
解壓二進制安裝包
tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz
查看大小
du -sh mysql-5.5.32-linux2.6-x86_64
移動到相對應的路徑
mv mysql-5.5.32-linux2.6-x86_64 /application/mysql-5.5.32
建立一個軟鏈接
ln -s /application/mysql-5.5.32/ /application/mysql
開始安裝。並在裏面配置參數。
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
檢查是否有錯誤。
echo $?
給文件夾添加用戶權限。
chown -R mysql.mysql /application/mysql/
備份原有的mysql配置文件。
cp /etc/my.cnf /etc/my.cnf2
拷貝mysql默認的配置文件到etc下。
cp /application/mysql/support-files/my-small.cnf /etc/my.cnf
這裏要特殊說明,因爲我們的自定義的路徑安裝,可以查看一下文件。cat /application/mysql/bin/mysqld_safe
因爲二進制文件默認安裝的路徑應該是/usr/local /msyql 。所以我們把配置文件里路徑改過來。
用sed替換一下。
sed 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe
嘗試啓動mysql服務
/application/mysql/bin/mysqld_safe &
檢查是否有3306端口開啓,mysqld的默認端口
lsof -i:3306
爲了方便我們使用msyql的命令行,不需要每次都打全路徑,我們可以把mysql的命令行加入到環境變量
方法如下,在vim /etc/profile的最後一行添加如下代碼。
PATH="/application/mysql/bin:$PATH"
如下效果。
source /etc/profile
更新一下。
查詢一下。
whereis mysql
然後登陸一下。
mysql
爲了讓我們啓動msyqld服務更加規範,我們mysqld啓動添加到/etc/init.d/
方法如下:
拷貝msyql默認啓動腳本的文件到/etc/init.d/下,並改名爲mysqld
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
前面已經說過了,因爲二進制文件默認安裝的路徑都是/usr/local/,但我們的是自定義路徑,所以還需要mysqld的啓動文件裏把文件修改一下。
sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld
sed 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld |grep /application/mysql
添加執行權限。
chmod +x /etc/init.d/mysqld
殺掉原有mysqld進程,嘗試init.d啓動。
killall mysqld
lsof -i:3306
/etc/init.d/mysqld start
添加開機啓動。
chkconfig mysqld on
chkconfig --list
最後的啓動效果。
然後就是需要設置一下登入密碼。
設置密碼 mysqladmin -uroot password "123456"
修改密碼 mysqladmin -uroot -p123456 password "oldboy"
一些常用的mysql命令
顯示所有數據庫show databases;
顯示所有表單show tables;
刪除數據庫 drop database test;
刪除用戶drop user 'root'@'lnmp02-svr';
添加用戶grant all on *.* to 'root'@localhost identified by '123456' with grant option;flush privileges;