linux下安裝mysql5.7


這是我在騰訊雲上安裝mysql的一些記錄

系統版本:CentOS Linux release 7.4.1708 (Core)

mysql版本:mysql-5.7.25-linux-glibc2.12

一、安裝前:

  1.1 檢查linux系統版本:[root@VM_0_14_centos ~]#  cat /etc/system-release

  1.2 檢查是否安裝了mysql:[root@VM_0_14_centos ~]# rpm -qa | grep mysql  (我機子安裝了mysql后再執行該命令,還是什么都沒找到。。。)

    卸載已安裝的mysql:[root@VM_0_14_centos ~]# rpm -e --nodeps mysql

二、下載、安裝mysql

  2.1 軟件來源:

    [root@VM_0_14_centos ~]#  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 

    或者:鏈接:https://pan.baidu.com/s/17CyWUAL3cKJ8WK-haFiGtA    提取碼:pv68 

  2.2 解壓安裝包、重命名為mysql並將其移動至/usr/local/mysql

        

  2.3 添加系統用戶

    添加 mysql 組和 mysql 用戶:

      添加 mysql 組:[root@VM_0_14_centos ~]# groupadd mysql

      添加 mysql 用戶:[root@VM_0_14_centos ~]# useradd -r -g mysql mysql

      擴展:

        查看是否存在 mysql 組:[root@VM_0_14_centos ~]# more /etc/roup | grep mysql

        查看 msyql 屬於哪個組:[root@VM_0_14_centos ~]# groups mysql

        查看當前活躍的用戶列表:[root@VM_0_14_centos ~]# w

  2.3 檢查是否安裝libaio

    [root@VM_0_14_centos ~]# rpm -qa | grep libaio

    若沒有則安裝

      版本檢查:[root@VM_0_14_centos ~]# yum search libaio

      安裝:[root@VM_0_14_centos ~]# yum -y install libaio

  2.4 安裝mysql

    創建mysql配置文件:

      創建/etc/my.cnf 並將並寫入配置文件:

      [mysql]
      # 設置mysql客戶端默認字符集
      default-character-set=utf8
      socket=/usr/local/mysql/mysql.sock
      [mysqld]
      #skip-name-resolve
      #設置3306端口
      port = 3306
      socket=/usr/local/mysql/mysql.sock
      # 設置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_name=1
      max_allowed_packet=16M

    在/usr/local/mysql 文件夾內創建data文件夾,用來存放數據

    修改當前目錄擁有者為 mysql 用戶:[root@VM_0_14_centos ~]# chown -R mysql:mysql ./

    初始化:[root@VM_0_14_centos mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

    初始化后,系統會自動為mysqlroot用戶賦予一個臨時密碼:紅圈中就是,一定要記住,第一次登錄后要用的 

三、配置

  4.1 設置開機啟動 

    a. 復制啟動腳本到資源目錄:[root@VM_0_14_centos mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

    b. 增加 mysqld 服務控制腳本執行權限:[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld

    c. 將 mysqld 服務加入到系統服務:[root@localhost mysql]# chkconfig --add mysqld

    d. 檢查mysqld服務是否已經生效:[root@localhost mysql]# chkconfig --list mysqld

      命令輸出類似下面的結果:

        mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off 

      表明mysqld服務已經生效,在2、3、4、5運行級別隨系統啟動而自動啟動,以后可以使用 service 命令控制 mysql 的啟動和停止。

      查看啟動項:chkconfig --list | grep -i mysql

      刪除啟動項:chkconfig --del mysql

    e. 啟動 mysqld:[root@localhost mysql]# service mysqld start

    報錯:

       解決:socket 沒找到,八成是/etc/my.cnf中sock配置得有問題, 這樣配:socket=/usr/local/mysql/mysql.sock

       配置文件改完后再次啟動mysql:service mysqld start 就OK了

    在登錄mysql時再次報錯:

      

      執行登錄命令時,系統默認會查找/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是映射一個鏈接到/usr/bin目錄下。

      這個是因為/usr/local/bin目錄下缺失mysql導致,只需要一下方法建立軟鏈接,即可以解決:

         把mysql安裝目錄,比如/usr/local/mysql/bin/mysql,映射到/usr/bin目錄下:

        

     然后再登錄mysql,又報錯:

     

     找不到套接字了,首先要知道這個mysql.sock是干嘛的: 

      連接localhost通常通過一個Unix域套接字文件進行,一般是/tmp/mysql.sock。如果套接字文件被刪除了,本地客戶就不能連接。這可能發生在你的系統運行一個cron任務刪除了/tmp下的臨時文件。

     解決:先執行:[root@VM_0_14_centos ~]# find / -name mysql.sock

     如果可以查找到, 做個軟連接就好了

     [root@VM_0_14_centos tmp]# ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock

  4.2 配置環境變量:

    vim /etc/profile

    加上這一句:export PATH = $PATH:/usr/local/mysql/bin

  4.3 更改密碼、配置允許外網連接:

     這時就可以登上去了,但是登陸后無法進行任何操作,且外網也無法連接到該mysql:

    改密碼三步:

      1: SET PASSWORD = PASSWORD('your new password');

       2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

       3: flush privileges;

    設置外網可連:

    

END!

想了解更多Python關於爬蟲、數據分析的內容,歡迎大家關注我的微信公眾號:悟道Python

  

 


免責聲明!

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



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