centos7安裝mysql

最近打算在家裏服務器上部署雲盤,所以又開始了一系列的環境搭建操作,在安裝mysql的時候發現有一些與以前不同,於是記錄下來,避免下次再出現像今天這樣到處搜索問題。

一.卸載舊版本
使用下面的命令檢查是否安裝有MySQL Server

rpm -qa | grep mysql

有的話通過下面的命令來卸載掉

rpm -e mysql   //普通刪除模式
rpm -e --nodeps mysql    // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除

二:安裝MySQL
1.安裝依賴

yum -y install make gcc-c++ cmake bison-devel  ncurses-devel

2.獲取源碼(國內建議去sohu的鏡像下載http://mirrors.sohu.com/mysql...
mysql5.7需要boost這個庫,網上很難找到合適的版本,建議直接下載有boost庫的mysql版本

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-boost-5.7.24.tar.gz
tar xvf mysql-boost-5.7.24.tar.gz
cd mysql-5.7.24

3.編譯安裝

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/usr/local/mysql/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost


make && make install

編譯的參數可以參考http://dev.mysql.com/doc/refm...

三:配置MySQL
使用下面的命令查看是否有mysql用戶及用戶組

cat /etc/passwd #查看用戶列表
cat /etc/group  #查看用戶組列表

如果沒有就創建

groupadd mysql
useradd -g mysql mysql

修改/usr/local/mysql權限

chown -R mysql:mysql /usr/local/mysql

mysql5.7.18以後不再提供默認的mysql配置文件,這裏我們再網上找了一個簡單的配置,
vi /etc/my.cnf 然後寫入一下內容

[client]
port = 3306
default-character-set=utf8

[mysqld]
# 一般配置選項
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character-set-server=utf8
default_storage_engine = InnoDB

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

配置服務腳本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on #添加到開機啓動項
service mysql start #啓動mysql

將mysql執行文件加到path目錄,vi /etc/profile

PATH=/usr/local/mysql/bin:$PATH
export PATH

然後執行source /etc/profile

四:初始化mysql
1.執行初始化腳本(初始化成功最後一行會生成mysql root密碼注意記錄下來,或者也可以用./mysqld --initialize--insecure初始化一個空密碼的賬號)

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
...
2019-04-11T14:34:15.922856Z 1 [Note] A temporary password is generated for root@localhost: /rTmud(Th5Yy

2.防火牆開放3306端口
Firewalld中添加端口方法如下:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

參考文章
https://www.cnblogs.com/hsbt2...
http://www.cnblogs.com/xiongp...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章