Linux環境配置-Mysql安裝與使用
阿新 • • 發佈:2019-02-06
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錯誤
是由於建立方式的問題,可以參考下面部落格解決該問題