mysql的幾個經常使用安裝包:rpm、源碼、二進制免編譯mysql
步驟(二進制免編譯):linux
①sql
cd /usr/local/src
進入/usr/local/src目錄下數據庫
②bash
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
下載二進制免編譯源碼包ide
③spa
tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
解壓源碼包命令行
④日誌
mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
將解壓的源碼包 移動到/usr/local/mysql目錄下server
⑤
cd /usr/local/mysql
進入/usr/local/mysql目錄
⑥
useradd mysql
創建mysql用戶,由於啓動mysql須要該用戶
⑦
mkdir /data/mysql
建立datadir,數據庫文件會放到這裏
chown -R mysql:mysql /data/mysql
更改權限
⑧
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
命令執行後,執行echo $? 若是返回結果爲0(或者兩個ok),說明安裝成功
若是報錯,根據報錯提示安裝一些軟件包
第一次安裝提示
perl: warning: Falling back to the standard locale ("C"). FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_instal_db: Data::Dumper
查找這個包,使用yum安裝
[root@localhost mysql]# yum list |grep perl |grep -i dumper Failed to set locale, defaulting to C perl-Data-Dumper.x86_64 2.145-3.el7 base perl-XML-Dumper.noarch 0.81-17.el7 base [root@localhost mysql]# yum install -y perl-Data-Dumper.x86_64
⑨
cp support-files/my-default.cnf /etc/my.cnf
mysql的配置文件爲my.cnf
⑩
cp support-files/mysql.server /etc/init.d/mysqld
mysql啓動腳本文件
⑪
vi /etc/init.d/mysqld
定義basedir和 datadir
basedir指定mysql的程序目錄
datadir 指定存放數據的地方
⑫
/etc/init.d/mysqld start(stop)
啓動mysql
或者能夠用service mysqld start (stop)
若是沒有啓動腳本,能夠使用命令行的方式
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
--defaults-file指定配置文件所在路徑
-user指定用戶
datadir指定mysql的數據目錄
若是使用命令行啓動,關閉mysql服務,則使用killall mysqld,killall會等數據讀寫完成後,再殺進程
若是mysqld的進程始終殺不死,ps還有進程,那說明數據量很大,正在慢慢的寫入磁盤中,不要強制kill -9 強制殺死,不然可能丟失數據 或者損壞表
⑬把啓動腳本加入系統服務項,設定開機啓動並啓動mysql
chkconfig -add mysqld
//把mysql服務加入到系統服務列表中
chkconfig mysqld on
//使其開機啓動
若是mysql啓動不了,請到/data/mysql目錄下查看錯誤日誌,日誌名一般是主機名.err。檢查mysql是否啓動的命令爲
ps aux |grep mysql
//結果應大於兩行
netstat -lnp |grep 3306
//看看有沒有監聽3306端口
chkconfig mysqld on
//使其開機啓動
若是mysql啓動不了,請到/data/mysql目錄下查看錯誤日誌,日誌名一般是主機名.err。檢查mysql是否啓動的命令爲
ps aux |grep mysql
//結果應大於兩行
netstat -lnp |grep 3306
//看看有沒有監聽3306端口