linux centos7系統下安裝mysql5.7
- 安裝mysql5.7-26
- 下載地址
- 建立資料夾
我的資料夾/data/xypt,然後在裡面建立了software存放下載的軟體
進入軟體目錄,cd /data/xypt/software ,可根據你自己的根目錄檔案建立資料夾
取上面的地址,Mysql 5.7-26免安裝包:wget
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
- 解壓
進入壓縮包資料夾
cd /data/xypt/software
tar -xzvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
移動到xypt資料夾下並改成mysql
mv mysql-5.7.26-linux-glibc2.12-x86_64 /data/xypt/mysql
- 建立資料倉庫
資料庫現存目錄為:/data/xypt/mysql
建立資料倉庫,也放到xypt資料夾下
mkdir /data/xypt/data
- 檢視許可權
ls -lh 或 ll 可看當前資料夾所屬的使用者及許可權
- 建立使用者及分配許可權
進入mysql資料庫目錄 cd /data/xypt/mysql
#pwd
建立使用者組和使用者,很多資料用的都是mysql,我這裡用的是自己的,如果為了方便可以用mysql,不過有的預設的linux會有mysql的組和使用者,所以為了體驗可以用個自定義的使用者。我這裡用的是xiaohu,當然為了省麻煩,使用者組和使用者都是xiaohu
groupadd xiaohu //建立使用者組,groupdel 是刪除組
// useradd xiaohu //建立使用者,userdel xiaohu 是刪除使用者
useradd -r -s /sbin/nologin -g xiaohu xiaohu -d /data/xypt/mysql ---新建msyql使用者禁止登入shell
- 檢視使用者及使用者組資訊
cat /etc/group 檢視使用者組資訊
cat /etc/password 檢視所有使用者資訊
使用者資訊詳見:https://www.cnblogs.com/123-/p/4189072.html
- 改變許可權
進入mysql資料夾
# cd /data/xypt/mysql
#chown -R xiaohu . //最後有個點,這個點代表當前目錄,當前目錄許可權
#chgrp -R xiaohu . //所屬組許可權
對使用者賦予資料倉庫許可權
#chown -R xiaohu /data/xypt/data
- 資料庫初始化
# bin/mysqld --initialize --user=xiaohu --basedir=/data/xypt/mysql5.7-26 --datadir=/data/xypt/data/mysql
最後的root@localhost:後的字母為生成的臨時密碼,後續登入資料庫要用到。
如果第二次執行或執行報錯,如下。
這個問題出現是資料倉庫已經存在初始化資料,將資料倉庫的所有檔案刪除後在執行就行了。
進入資料倉庫 #cd /data/xypt/data
刪除資料夾下所有檔案:rm -rf *
#bin/mysql_ssl_rsa_setup --datadir=/data/mysql --這個是mysql5.7以後安裝初始化階段多的一步,為安裝SSL的。
如果沒有出現上面資訊,那就是安裝有問題,刪除使用者及使用者組和資料倉庫資料庫資料夾,從頭再來一次。執行上面命令後,預設會在資料倉庫裡面生成.pem檔案這些檔案用於啟動SSL功能的。
網址地址:https://www.cnblogs.com/mysql-dba/p/7061300.html
- 修改系統配置檔案
進入資料庫資料夾下的support-files
#cd /data/xypt/mysql/support-files
進入該目錄下,5.7以上版本是沒有my-default.cnf這個檔案的,因為5.7以上的版本不用my-default.cnf也可以啟動,所以就去掉了。這個地方如果沒有這個檔案那就建一個。
#touch my-default.cnf --建立檔案
#vim my-default.cnf --編輯,vi也可以編輯,只不過vim是文字編輯,有顏色顯示。vim進入後可以通過點E編輯
cnf檔案 內容
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
# 基礎目錄
basedir=/data/xypt/mysql
# 資料目錄
datadir=/data/xypt/data
# MySQL監聽埠
port=3306
# soket檔案
socket=/var/lib/mysql/mysql.sock
# 伺服器字符集
character-set-server = utf8
# mysql pid檔案 程序ID檔案
#pid-file=/tmp/mysqld.pid
# skip-grant-tables
# explicit_defaults_for_timestamp=1 設定時間列是否自動更新,timestamp
lower-case-table-names = 1 # 區別表名大小寫
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
table_open_cache = 256
max_connections = 6000
max_connect_errors = 6000
[mysqld_safe]
# mysql 錯誤日誌檔案
log-error=/data/xypt/data/mysqld.log
# mysql pid檔案 程序ID檔案
#pid-file=/data/xypt/mysql/mysqld.pid
這裡面說一下幾個資料明細。
basedir為資料庫檔案目錄路徑,datadir為資料倉庫目錄,socket路徑寫成/var/lib/mysql/mysql.sock最好不要自定義,否則會有報錯。log-error錯誤日誌檔案存放地址,我是放到了資料倉庫中,如果資料倉庫沒有這個mysqld.log,通過#touch mysqld.log建立檔案。
標藍色的mysqlpid有兩處,一處在[mysqld]中是固定的路徑/tmp/mysqld.pid,另一個在[mysqld_safe]是自定義路徑,放在資料庫資料夾下。經過自己的測試,下面的這種寫法會報以下錯誤。
所以將下面這種隱藏,將上面這種放開,放開就是將#號刪除即可。
詳細引數介紹見網路地址:
https://www.cnblogs.com/xu743876685/p/8642027.html
sql_mode詳細數值介紹:
https://www.cnblogs.com/grimm/p/5752259.html
open_tables和table_open_cache數值大小詳見地址:
https://www.cnblogs.com/fjping0606/p/6531292.html
max_connections數值詳見地址:
https://www.jb51.net/article/51829.htm
max_connect_errors數值詳見地址:
https://blog.csdn.net/mydriverc2/article/details/79025841
上面操作是將my-default.cnf建立,並將引數簡單介紹了一下。
#cp my-default.cnf /etc/my.cnf
#cp mysql.server /etc/init.d/mysql
#vim /ect/init.d/mysql
修改basedir和datadir地址。
- 啟動mysql
#/etc/init.d/mysql start
如果再次出現以下資訊
出現上面的問題就是因為許可權的問題,可網上資料很多都說了很多也沒解決我的問題,最後終於知道了是我分配了/data/xypt/mysql和/data/xypt/data這兩個檔案的許可權,但我沒有分配根目錄/data的許可權,所以這裡將許可權重新賦予/data根目錄一下就行。
則執行#vim /etc/my.cnf,新增使用者
- 登入mysql
登入:# mysql -hlocalhost -uroot -p
#use mysql
更改密碼
update user set authentication_string=password(1234) where user=xiaohu
--設定root賬戶的host地址(修改了才可以遠端連線)
mysql>grant all privileges on *.* to 'root'@'%' identified by '1234';
mysql>flush privileges;
Mysql使用者操作詳見地址:
https://www.cnblogs.com/zhchoutai/p/6929103.html
https://www.cnblogs.com/123-/p/4189072.html
伺服器關機與重啟命令詳解
https://www.cnblogs.com/itlive/p/4097891.html
----------------------------------------------------------------------
安裝mysql轉載網址來源: