CentOS7下MySQL8的二進制基本安裝配置


前言

  基於本地Centos7.6虛擬機Mysql8的配置(親測有效)

一.安裝前的准備

  1.到官網下載mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
  2.通過Xshell或者Xftp、PSPC、PSFTP等工具把安裝包上傳到CentOS服務器。
   PSftp示范
    (1)先在虛擬機上命令(ip addr)查看虛擬機的ip,沒有ip自己網上找配置方法

    (2)打開psftp,連接虛擬機
    open ip

    (3)賬號密碼登錄(注意:要回復y or n時,要照提示輸入,不能直接回車)

    (4)登陸成功后,當前目錄為root,切換到你要上傳的位置(這里以local目錄為例)
    cd /usr/local/

    (5)再切到本地存放mysql8壓縮包的目錄下(這里以F:\test為例)
    lcd F:\test

    (6)切到test目錄后,開始上傳(注意:后綴名也要打上去)
    put mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
    當提出pftp>提示時,說明上傳成功
    

 

   3.在安裝前需要確定現在這個系統有沒有 mysql,如果有那么必須卸載。
     (1)查看mysql數據庫
      rpm -qa | grep -i mysql

     (2)卸載mysql數據庫
      rpm -e --nodeps mysql 文件名

     (3)查找mysql文件
      find / -name mysql

     (4)刪除mysql有所文件和配置文件my.cnf(自己上傳的別錯刪了)
      rm -rf 指定路徑下的文件名
    

 

  4.解壓縮mysql文件
    (1)xz –d /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

    (2)tar –xvf /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64.tar

    (3)mv /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql

  5.查看解壓后的文件
    ls -al /usr/local/mysql
  

 

二.添加mysql組和用戶及權限分配

  1.檢查mysql組和用戶是否存在,如無創建
    cat /etc/group | grep mysql
    cat /etc/passwd | grep mysql

  2.創建mysql用戶組,指定mysql用戶屬於mysql組
    groupadd mysql
    useradd -g mysql mysql

  

   3.修改用戶mysql的密碼為A2019a(自己設定),回車后輸入密碼

    passwd mysql

  4給予安裝目錄mysql權限
  chown -R mysql:mysql /usr/local/mysql

  

 

三.創建和設置配置文件my.cnf

  1.在/etc/下創建創建my.cnf
    touch /etc/my.cnf
    vi /etc/my.cnf
  在配置文件my.cnf添加如下配置(注意注意:別打錯單詞了,我就試過差點懷疑人生)
   [mysql]

# 設置mysql客戶端默認字符集

default-character-set=utf8

[mysqld]

skip-name-resolve

#設置3306端口

port = 3306

# 設置mysql的安裝目錄

basedir=/usr/local/mysql

# 設置mysql數據庫的數據的存放目錄

datadir=/usr/local/mysql/data

# 允許最大連接數

max_connections=200

# 服務端使用的字符集默認為8比特編碼的latin1字符集

character-set-server=utf8

# 創建新表時將使用的默認存儲引擎

default-storage-engine=INNODB

lower_case_table_names=1

max_allowed_packet=16M

 

  2.賦my.cnf文件mysql權限
   chown mysql:mysql /etc/my.cnf

  


四.mysql初始化配置

  1.切換到mysql用戶權限
    su mysql

    2.初始化生成data目錄(切記不要手動創建data目錄)(補充:mysql用戶下初始化不成功(沒有生成密碼),用root用戶來操作,最后記得把生成data目錄賦予mysql用戶)
    /usr/local/mysql/bin/mysqld --initialize
    如果當前所在目錄為bin錄下,命令形式為./mysqld --initialize
    ./不能省略,否則出錯,因為省略后系統會當成mysqld程序執行,而不是bin目錄下的mysqld可執行文件

  3.如果提示沒有libaio程序就先安裝yum install libaio-devel.x86_64然后不斷回y就行
   但得先切回root用戶(命令su回車輸密碼即可),否則報錯權限不夠
   不用安裝也要先切回root,否則下面步驟也會報錯

   4.初始化完成后,仔細看提示,會自動生成mysql數據庫登陸密碼,記好
  

 

  5.此時在mysql目錄下會生成data目錄,但權限只有750,要追加到755

  

  chmod 755 /usr/local/mysql/data
  (或者 chmod o+r+x /usr/local/mysql/data)

  

 


五.軟連接與開機啟動項設置

  1.創建軟連接(實現可直接命令行執行mysql)
    ln -s /usr/local/mysql/bin/mysql /usr/bin

   2.mysqld配置,拷貝啟動文件到/etc/init.d/目錄下並重命令為mysqld
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

    3.檢查自啟動項列表中有沒有mysqld
    chkconfig --list mysqld

  4.如果沒有就添加mysqld
    chkconfig --add mysqld

  5.設置開機啟動
    chkconfig mysqld on

    6.啟動測試
    service mysqld start

  



六.pid問題解決

  

  1.如果無法啟動,且提示pid錯誤;首先一定要確認配置文件有沒有打錯字母,改正后,刪除data目錄
    rm -rf /usr/local/mysql/data

   2.重新初始化一遍
    /usr/local/mysql/bin/mysqld --initialize

  3.記下密碼后,追加755權限給data目錄
    chmod 755 /usr/local/mysql/data

  4.再重新啟動mysql服務
    service mysqld start
  仍不行重試第六個標題步驟
  按照前面來的操作,一般是不會有問題;配置文件中如果自定義mysql日志路徑,在創建文件夾存放日志文件時,該文件夾手動創建后要賦Mysql用戶權限

 

七.登錄mysql修改密碼

  1.登錄mysql,前面最新的密碼就派上用場了
    mysql -uroot -p密碼

   2.修改密碼
    set password='123456';

  在yum或rpm在線安裝完成后,首次登錄強制修改密碼
  alter user 'root'@'localhost' identified by '123456';
  有的人可能試過上面這句直接修改密碼不行,此時可以先減低密碼的防御策略,之后再視情況修改
  set global validate_password.policy=0;
  set global validate_password.length=1;
  再執行上面的修改密碼的語句

  基本配置到此完成

  mysql安全配置推薦參考https://www.freebuf.com/articles/database/36777.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM