linux系統安裝mysql


操作系統:CentOS Linux release 7.5

安裝軟件:mysql5.7

說明:使用官方編譯好的二進制文件進行安裝

1.檢查操作系統是否自帶mysql

     [root@localhost local]# rpm -qa|grep mysql

     如果沒有看第二步。

  1. 如果有..............
  1. 使用yum命令,因為yum命令可以自動刪除與mysql相關的依賴;如果使用rpm命令,則還需要手動去刪除和mysql相關的文件
    1. [root@localhost local]# yum -y remove mysql-libs-xxxxx

      檢查刪除是否成功。如果沒有提示則刪除成功。

      [root@localhost local]# rpm -qa|grep mysql

 

2.下載mysql5.7

     mysql官網 https://dev.mysql.com/downloads/mysql/5.7.html#downloads

    將下載的安裝包"mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz"利用xftp上傳至/usr/local下或者使用命令scp -r  上傳到服務器/usr/local
    解壓
    [root@localhost local]# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

   修改文件名

  [root@localhost local]# mv mysql-5.7.21-linux-glibc2.12-x86_64/ mysql57

    進入/mysql57創建data文件夾

 

  1. [root@localhost local]# cd mysql57/
        [root@localhost mysql57]# mkdir data
 
 
 
 
 

 

 

5.配置mysql

創建以下文件,設置訪問權限,用於mysql配置中

第一步:創建文件/tmp/mysql.sock。並設置權限

創建文件

    [root@localhost mysql57]# mkdir tmp
    [root@localhost mysql57]# cd tmp
    [root@localhost tmp]# ll
    total 0
    [root@localhost tmp]# touch mysql.sock
    [root@localhost tmp]# ll
    total 0
    -rw-r--r-- 1 root root 0 Aug 11 21:59 mysql.sock

設置權限

    [root@localhost tmp]# chown -R mysql:mysql /usr/local/mysql57/tmp/mysql.sock
    [root@localhost tmp]# chmod 755 /usr/local/mysql57/tmp/mysql.sock

第二步:創建/log/mysqld.log。並設置權限

    [root@localhost mysql57]# mkdir log
    [root@localhost mysql57]# cd log
    [root@localhost log]# ll
    total 0
    [root@localhost log]# touch mysqld.log
    [root@localhost log]# chown -R mysql:mysql /usr/local/mysql57/log/mysqld.log
    [root@localhost log]# chmod 755 /usr/local/mysql57/log/mysqld.log

如果出錯,說明路徑沒有寫全,要寫絕對路徑

第三步:創建/tmp/mysqld.pid。並設置權限

    [root@localhost log]# cd ../tmp
    [root@localhost tmp]# touch mysqld.pid
    [root@localhost tmp]# chown -R mysql:mysql /usr/local/mysql57/tmp/mysqld.pid
    [root@localhost tmp]# chmod 755 /usr/local/mysql57/tmp/mysqld.pid  

6.初始化mysql

[root@localhost mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql57/ --datadir=/usr/local/mysql57/data/

可能會報錯。報錯信息
bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

解決方法:
原因:
yum安裝的是libnuma.so.1,但安裝時默認安裝的是32的,而db2需要的是64位的
1.如果已經安裝了libnuma.so.1,先yum remove libnuma.so.1
[root@localhost mysql57]# yum remove libnuma.so.1

 2.安裝依賴包 yum -y install numactl.x86_64
[root@localhost mysql57]# yum -y install numactl.x86_64

安裝完成后重新,執行
[root@localhost mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql57/ --datadir=/usr/local/mysql57/data/

安裝成功

 

配置SSL參數(在mysql目錄下)

[root@localhost mysql57]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql57/data/

由於mysql-5.7.23版本my.cnf不在/support-files下,故我們創建my.cnf文件。

 

  1. [root@localhost mysql57]# touch /etc/my.cnf
  2. [root@localhost mysql57]# vim /etc/my.cnf

 

復制如下內容(每個人安裝路徑可能不一樣,需要修改):

    [mysqld]
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    basedir=/usr/local/mysql57
    datadir=/usr/local/mysql57/data
    port = 3306
    socket=/tmp/mysql.sock
    log-error=/usr/local/mysql57/log/mysqld.log
    pid-file=/usr/local/mysql57/tmp/mysqld.pid
    #表名不區分大小寫
    lower_case_table_names = 1
    max_connections=5000
    sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

配置完成

 7.啟動mysql

配置mysql自動啟動(可根據需要配置)

    [root@localhost mysql57]# cp support-files/mysql.server /etc/init.d/mysql
    [root@localhost mysql57]# vim /etc/init.d/mysql

添加配置(i 進入編輯;esc--> :wq保存退出)

 

 

 若配置了mysql自啟動方式則可以使用服務方式啟動mysql

    #查看mysql狀態
    /etc/init.d/mysql status 或者 service mysql status
    #啟動mysql
    /etc/init.d/mysql start 或者 service mysql start
    #停止mysql
    /etc/init.d/mysql stop 或者 service mysql stop
    #重新啟動mysql
    /etc/init.d/mysql restart 或者 service mysql restart
    查看mysql服務說明啟動成功
    ps -ef|grep mysql

 啟動mysql

    [root@localhost tmp]# service mysql start
    Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql57/tmp/mysqld.pid).
報錯了,上面說沒有/usr/local/mysql57/tmp/mysqld.pid。

解決方案:

a)創建文件/usr/local/mysql57/tmp/mysqld.pid
b)修改權限
修改存放mysqld.pid文件目錄的權限
    chown -R mysql /usr/local/mysql57/tmp
    chgrp -R mysql /usr/local/mysql57/tmp
    chmod 777 /usr/local/mysql57/tmp

重新啟動成功(如果還不行,就是中間某個步驟寫錯了。或者直接把mysql目錄權限賦為777

 

8.配置mysql到環境變量

[root@localhost tmp]# vim /etc/profile
  1. export MYSQL57_HOME=/usr/local/mysql57/bin #mysql5.7/bin路徑
  2. export PATH=$PATH:${MYSQ57_HOME}
 

這個地方是冒號 ( :)

設置環境變量立即生效

[root@localhost tmp]# source /etc/profile

方法一:修改mysql密碼 (安裝完后無論什么操作都提示錯誤)
原因是:我們的初始密碼時間過期了,重新改一下密碼就行

登錄mysql :mysql -uroot -p
然后執行sql語句修改密碼:alter user user() identified by "你的新密碼";
方法二:

    update mysql.user set authentication_string=password('123456') where User="root" and Host="localhost";

     flush privileges;  #刷新系統授權表

【備注:查了一下資料,發現MySQL5.7以后,password字段不再存在,變成了authentication_string】
 
 
            

+++++++++++++++++++++++++忘記密碼后重置密碼++++++++++++++++++

重置密碼解決MySQL for Linux錯誤 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
一般這個錯誤是由密碼錯誤引起,解決的辦法自然就是重置密碼。

假設我們使用的是root賬戶。

1.重置密碼的第一步就是跳過MySQL的密碼認證過程,方法如下:

vim /etc/my.cnf(注:windows下修改的是my.ini)

在文檔內搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim編輯狀態下直接輸入該命令可搜索文本內容)

在[mysqld]后面任意一行添加“skip-grant-tables”用來跳過密碼驗證的過程,如下圖所示:

保存文檔並退出:

:wq

2.接下來我們需要重啟MySQL:

/etc/init.d/mysql restart(有些用戶可能需要使用/etc/init.d/mysqld restart)
注意:我用的是service mysqld restart

3.重啟之后輸入#mysql即可進入mysql。

4.接下來就是用sql來修改root的密碼

mysql> use mysql;
mysql> update user set password=password("你的新密碼") where user="root";
設置密碼我沒成功 報錯
mysql> update user set password=password("123456") where user="root";
ERROR 1054 (42S22): Unknown column 'password' in 'field list'

原因:
5.7版本下的mysql數據庫下已經沒有password這個字段了,password字段改成了authentication_string
所以使用下面一句話
mysql> update mysql.user set authentication_string=password('*******') where user='*******'; #修改密碼成功
mysql> flush privileges;
mysql> quit

到這里root賬戶就已經重置成新的密碼了。

5.編輯my.cnf,去掉剛才添加的內容,然后重啟MySQL。大功告成!

網上有很多關於這個問題的解決說明,很多剛接觸的朋友可能比較迷惑的是在自己的平台上找不到my.cnf或者my.ini文件,如果你是Linux,使用如下方式可以搜索到:

至於windows平台,去安裝目錄下找一下my.ini吧。

 


原文鏈接:https://blog.csdn.net/pdsu161530247/article/details/81585889

               :https://www.cnblogs.com/wenqiangit/p/9767294.html

 
 
 


免責聲明!

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



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