Linux 下安裝MySql 5.7
阿新 • • 發佈:2020-01-21
1.檢查是否已經安裝
命令:
rmp -qa|grep mysql
如果沒有安裝,應當如下圖所示
如果有安裝
使用yum命令,yum命令可以自動刪除與mysql相關的依賴
yum -y remove mysql-libs-5.1.73-8.el6_8.x86_64
刪除後再檢視是否成功。如果沒有提示則刪除成功。
2.下載mysql 5.7
mysql官網下載地址
將下載好的壓縮包上傳到伺服器,工具自選,我這裡用的是filezilla。
解壓檔案,命令:
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
解壓完成後刪除壓縮包
rm -f mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
3.建立mysql使用者及使用者組
groupadd mysql
//useradd -r引數表示mysql使用者是系統使用者,不可用於登入系統;第一個mysql是使用者組,第二個mysql是使用者
useradd -r -g mysql mysql
檢視使用者組是否建立成功
groups mysql
將mysql目錄訪問許可權賦為myql使用者
chown -R mysql /home/mysql//home/mysql/mysql-5.7.29-linux-glibc2.12-x86_64
改變mysql目錄的使用者組屬於mysql組
chgrp -R mysql /home/mysql//home/mysql/mysql-5.7.29-linux-glibc2.12-x86_64
檢視許可權被修改
4.配置mysql
//建立mysql.sock 並設定許可權(mysql目錄下)
mkdir temp
cd temp
//建立mysql.sock檔案
touch mysql.sock
//設定許可權
chown -R mysql:mysql /home/mysql/temp/mysql.sock
chmod 755 /home/mysql/temp/mysqlsock
建立/tmp/mysqld.pid。並設定許可權
5.初始化mysql
bin/mysqld --initialize --user=mysql --basedir=/home/mysql/mysql-5.7.29-linux-glibc2.12-x86_64/ --datadir=/home/mysql/data/
這裡遇到一個問題,問題如下
於是,根據提示安裝libaio
yum -y install yum install libaio-devel.x86_64
安裝完成後重新執行初始化命令,發現又出現如下錯誤
這裡是因為data目錄下已經生成了一些檔案,需要把這些檔案刪除
刪除之後再重新執行就可以了。
6.啟動與報錯問題解決
1.首先,我是遇到了如下這個錯誤。
根據提示對對應的檔案賦許可權就可以了,可能會有多個。一直執行下去就行。
chown -R mysql:mysql /var/log/mariadb
chmod 755 /var/log/mariadb
2.然後,是遇到這個2002的錯誤
解決問題命令:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
3.繼續登入,出現以下問題
解決方案,在/etc/my.cnf檔案中加入一行:skip-grant-tables
然後就可以免密登入,登入之後再修改root使用者密碼,最後一定記得刪除my.cnf檔案中的skip-grant-tables這句程式碼。
需注意的是5.7版本中沒有password欄位了,改為了authentication_string
update user set authentication_string=password('***') where user='root';
4.修改後第一次登入會讓你重新設定密碼
alter user 'root'@'localhost' identified by 'your password'
5.使用Navicat連線時出現以下錯誤
登入伺服器,執行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123..' WITH GRANT OPTION;
然後就可以連線了