1. 程式人生 > >Linux環境配置-Mysql安裝與使用

Linux環境配置-Mysql安裝與使用

1.下載mysql

首先我們需要先從官網下載指定版本位數的安裝包
https://dev.mysql.com/downloads/mysql/

這裡寫圖片描述

2.解壓mysql

將壓縮包放在需要的目錄並解壓
tar -xvf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
修改檔案目錄名稱
mv mysql-5.6.41-linux-glibc2.12-x86_64 mysql 

同時也存在其他很多安裝mysql的方法,若出現error: Failed dependencies: 
解決辦法  rpm -ivh xxxxxx  --nodeps (不行再加--force)

3.新增使用者組以及使用者

新增使用者組
groupadd mysql
新增使用者
useradd -r -g mysql mysql

4.安裝mysql

進入安裝mysql軟體目錄:執行命令 cd /usr/local/mysql

修改當前目錄擁有者為mysql使用者:執行命令 chown -R mysql:mysql ./

安裝資料庫:執行命令 
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql --pid-file=/var/run/mysqld/mysql.pid --tmpdir=/var/tmp

修改當前目錄擁有者為root使用者:執行命令 chown -R root:root ./

修改當前data目錄擁有者為mysql使用者:執行命令 chown -R mysql:mysql data

5.複製預設全域性啟動引數配置檔案到/etc目錄

cp ./support-files/my-default.cnf  /etc/my.cnf
附一張我目前的配合屬性圖

這裡寫圖片描述

6.啟動mysql服務和新增開機啟動mysql服務

新增開機啟動:執行命令cp support-files/mysql.server /etc/init.d/mysql,把啟動指令碼放到開機初始化目錄

啟動mysql服務:執行命令 service mysql start
若未配置關聯則使用該條命令sudo /usr/local/mysql/support-files/mysql.server start     

ps -ef|grep mysql 或者 /usr/local/mysql/support-files/mysql.server status
都可以檢視mysql是否啟動成功

7.安裝啟動過程中可能出現的問題

7.1 bash: ./vmware-install.pl: /user/bin/perl: 

    若出現該提示bash: ./vmware-install.pl: /usr/bin/perl: bad interprete 安裝Perl即可
    yum install perl gcc kernel-devel
    yum upgrade kernel kernel-devel 

    yum -y install autoconf


7.2 The server quit without updating PID file 

    一般在啟動mysql的時候會出現這種情況,我們一般可以通過檢視錯誤日誌得到結果,錯誤日誌會儲存在我們開始配置檔案裡log-error中配置的目錄

    多數情況是因為讀取配置檔案中資訊錯誤,或者配置錯誤會導致,重新檢查配置檔案初始化mysql即可

7.3 Can't connect to local MySQL server through socket

    一般在連線mysql的時候會出現這種情況,同樣多數也是由於配置檔案中缺少配置導致,檢查/etc/my.cnf中
    是否存在[client]以及[mysql]並且添加了socket引數
    [client]
    default-character-set=utf8
    socket=/var/lib/mysql/mysql.sock

    [mysql]
    default-character-set=utf8
    socket=/var/lib/mysql/mysql.sock

7.4 error while loading shared libraries: libaio.so.1

rpm -qa|grep libaio
yum install  libaio-devel.x86_64

8.連線mysql

預設情況下,賬號為root,密碼為空,我們先從該伺服器上連線mysql服務端
/usr/local/mysql/bin/mysql -uroot

通常情況下都可以直接連線,若密碼不對
    /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
新開一個命令列 mysql -uroot登入
update mysql.user set authentication_string=password('123abc') where user='root' and Host = 'localhost';//更新密碼
flush privileges;//重新整理許可權

如果提示必須修改密碼
set global validate_password_policy=0;//取消密碼校驗級別
SET PASSWORD = PASSWORD('123');

9.遠端連線mysql

當我們需要使用其他伺服器去連線另一臺伺服器上的mysql服務,首先需要開啟mysql服務埠訪問,我這裡就暫時用該方式開啟
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload //過載生效剛才的埠設定

若為雲伺服器,只需在相應控制檯安全組策略新增埠開放,需要將將伺服器本身伺服器防火牆關閉才可遠端訪問
然後我們通過其他伺服器去連線會出現is not allowed to connect mysql server,這是由於mysql預設只允許所在伺服器連線

這裡我們新建一個使用者名稱密碼都為test的mysql使用者,然後新建一個testM資料庫,下面給該使用者授權並且設定允許遠端通過該賬戶訪問
grant all privileges on testM.* to 'test'@'%' identified by 'test';
重新整理許可權,這樣我們就可以通過test賬戶遠端訪問該伺服器的mysql下的testM資料庫
flush privileges;
上面我們在建立mysql使用者名稱的時候可能會出現Field 'ssl_cipher' doesn't have a default value錯誤
是由於建立方式的問題,可以參考下面部落格解決該問題