1. 程式人生 > >linux mysql 安裝(詳解)

linux mysql 安裝(詳解)

sco l數據庫 con host ner 類型 因此 fork .frm

準備工作:1.確認沒有使用RPM安裝過MySQL-server(服務端) mysql(客戶端)
2.安裝光盤自帶的ncurses-devel包
3.安裝cmake包
Cmake編譯安裝: tar zxf cmake-2.8.6.tar.gz -C /usr/src
cd /usr/src/cmake-2.8.6 ./configure gmake &&gmake install
然後編譯安裝mysql
前提先創建運行賬戶 groupadd mysql 先創建一個私有組
Useradd -M -s /sbin/nologin -g mysql mysql 指定使用的shell 這個shell 不需要直接登陸到系統 -M不給賬戶分配宿主目錄 -g 給用戶指定私有組 最後創建一個賬戶名為mysql
然後開始解壓mysql的源代碼包 tar zxf mysql-5.6.36.tar.gz -C /usr/src
cd /usr/src/mysql-5.6.36
然後開始配置,mysql和其他源代碼包不一樣 他需要用cmake來配置 其他需要的是./configure 而mysql內並沒有./configure
配置命令:cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 指定mysql程序安裝到哪個目錄 一般安裝在/usr/local/mysql
-DSYSCONFDIR=/etc 指定配置文件的目錄 my.cnf
-DDEFAULT_CHARSET=utf8 指定使用的字符集編碼
-DDEFAULT_COLLATION=utf8_general_ci 指定校對規則 utf8_general_ci 是適用於utf8字符集的通用規則
-DWITH_EXTRA_CHARSETS=all 指定額外支持的其他字符集編碼 all為支持所有
然後 編譯並安裝 make && makeinstall
安裝後還需要調整
先對數據庫的目錄進行權限調整 chown -R mysql:mysql /usr/local/mysql
-R 表示將設置的屬主和屬組遞歸下去 將下層所有目錄也遞歸 先屬主後屬組
然後建立配置文件 本來隨著他的安裝成功 已經在/etc/my.cnf 有了配置文件 但是centos 7默認支持的是maria db 數據庫 而不是mysql數據庫 因此其配置文件是maria db的配置文件 而非mysql的 我們可以去mysql源碼目錄內的support-files 文件下 將mysql默認的樣本配置文件my-default.cnf 文件替換過來 命令如下
先將原來的刪除 rm -rf /etc/my.cnf 然後復制 cp support-files/my-default.cnf /etc/my.cnf
復制完成之後我們就有了mysql 的配置文件 然後開始初始化數據庫
使用初始化腳本mysql_install_db
/usr/local/mysql/scripts/mysql_install_db
--user=mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--user 指定以什麽用戶去執行腳本 mysql
--basedir 執行腳本的目錄 /usr/local/mysql
--datadir 指定數據存放的目錄 /usr/local/mysql/data
Mysql 每個表內有三個文件類型 .frm:保存表結構的 .myd:保存表數據的 *.myi:保存表索引的
初始化結束之後 為了方便在任何目錄下使用mysql命令 需要在/etc/profile 設置環境變量
echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
設置完之後並不會立即生效 使用命令 ./etc/profile 使其立即生效
這個時候我們使用systemctl是無法進行管理服務的 需要使用support-files下的mysql.server腳本文件將其復制到mysql的bin目錄下使用並改名為mysql.sh
cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
然後現在其他用戶若是想啟動服務沒有權限 所以還要分配權限
chmod +x /usr/local/mysql/bin/mysqld.sh
然後創建mysql系統服務的配置文件 vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql

Type =forking
PIDFile=/usr/local/mysql/data/www.pid 指定pid文件位置 主機名.picl
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop

[Install]
WantedBy=multi-user.target
現在我們就可以通過 systemctl start mysqld啟動
netstat -anpt 查看服務器端口號
mysqld 的端口號是TCP的3306
永久修改主機名 可以通過 hostnamectl set-hostname 來修改

linux mysql 安裝(詳解)