1. 程式人生 > >linux centos7系統下安裝mysql5.7

linux centos7系統下安裝mysql5.7

  1. 安裝mysql5.7-26
  1. 下載地址

 

  1. 建立資料夾

我的資料夾/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

  1.  解壓

進入壓縮包資料夾

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

  1. 建立資料倉庫

資料庫現存目錄為:/data/xypt/mysql

建立資料倉庫,也放到xypt資料夾下

mkdir /data/xypt/data

  1. 檢視許可權

ls -lh 或 ll 可看當前資料夾所屬的使用者及許可權

  1. 建立使用者及分配許可權

進入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

  1. 檢視使用者及使用者組資訊

cat /etc/group 檢視使用者組資訊

cat /etc/password 檢視所有使用者資訊

使用者資訊詳見:https://www.cnblogs.com/123-/p/4189072.html

  1. 改變許可權

進入mysql資料夾

# cd /data/xypt/mysql

#chown -R xiaohu .  //最後有個點,這個點代表當前目錄,當前目錄許可權

#chgrp -R xiaohu .   //所屬組許可權

對使用者賦予資料倉庫許可權

#chown -R xiaohu /data/xypt/data

  1. 資料庫初始化

# 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

  1. 修改系統配置檔案

進入資料庫資料夾下的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地址。

  1. 啟動mysql

#/etc/init.d/mysql start

如果再次出現以下資訊

出現上面的問題就是因為許可權的問題,可網上資料很多都說了很多也沒解決我的問題,最後終於知道了是我分配了/data/xypt/mysql和/data/xypt/data這兩個檔案的許可權,但我沒有分配根目錄/data的許可權,所以這裡將許可權重新賦予/data根目錄一下就行。

則執行#vim /etc/my.cnf,新增使用者

  1. 登入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轉載網址來源:

https://www.cnblogs.com/dengshihuang/p/8029092.ht