linux centos7系統下安裝mysql5.7

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

 

  1. 創建文件夾

個人文件夾/data/xypt,而後在裏面建立了software存放下載的軟件html

進入軟件目錄,cd /data/xypt/software ,可根據你本身的根目錄文件建立文件夾mysql

取上面的地址,Mysql 5.7-26免安裝包:wgetlinux

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gzsql

  1.  解壓

進入壓縮包文件夾shell

cd /data/xypt/software數據庫

tar -xzvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gzvim

移動到xypt文件夾下並改爲mysql服務器

mv mysql-5.7.26-linux-glibc2.12-x86_64 /data/xypt/mysql網絡

  1. 建立數據倉庫

數據庫現存目錄爲:/data/xypt/mysqlsocket

建立數據倉庫,也放到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 查看全部用戶信息

用戶信息詳見:http://www.javashuo.com/article/p-rffjwzqx-bk.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]是自定義路徑,放在數據庫文件夾下。通過本身的測試,下面的這種寫法會報如下錯誤。

因此將下面這種隱藏,將上面這種放開,放開就是將#號刪除便可。

詳細參數介紹見網絡地址:

http://www.javashuo.com/article/p-owkieyfo-k.html

sql_mode詳細數值介紹:

https://www.cnblogs.com/grimm/p/5752259.html

open_tables和table_open_cache數值大小詳見地址:

http://www.javashuo.com/article/p-ecmkhjmy-gp.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

http://www.javashuo.com/article/p-rffjwzqx-bk.html

服務器關機與重啓命令詳解

https://www.cnblogs.com/itlive/p/4097891.html

----------------------------------------------------------------------

安裝mysql轉載網址來源:

http://www.javashuo.com/article/p-yznertdk-z.html

相關文章
相關標籤/搜索