1. 程式人生 > >centos7安裝mysql8詳細教程

centos7安裝mysql8詳細教程

第一部分 CentOS7安裝mysql

1.1 安裝前清理工作;

1.1.1 清理原有的mysql資料庫;

使用以下命令查找出安裝的mysql軟體包和依賴包:

rpm -pa | grep mysql

顯示結果如下:

  1. mysql80-community-release-el7-1.noarch

  2. mysql-community-server-8.0.11-1.el7.x86_64

  3. mysql-community-common-8.0.11-1.el7.x86_64

  4. mysql-community-libs-8.0.11-1.el7.x86_64

  5. mysql-community-client-8.0.11-1.el7.x86_64

使用以下命令依次刪除上面的程式

yum remove mysql-xxx-xxx-

刪除mysql的配置檔案,解除安裝不會自動刪除配置檔案,首先使用如下命令查找出所用的配置檔案;

find / -name mysql

可能的顯示結果如下:

  1. /etc/logrotate.d/mysql

  2. /etc/selinux/targeted/active/modules/100/mysql

  3. /etc/selinux/targeted/tmp/modules/100/mysql

  4. /var/lib/mysql

  5. /var/lib/mysql/mysql

  6. /usr/bin/mysql

  7. /usr/lib64/mysql

  8. /usr/local/mysql

根據需求使用以下命令 依次 對配置檔案進行刪除

rm -rf /var/lib/mysql

1.1.2 刪除MariaDB的檔案,

由於MySQL在CentOS7中收費了,所以已經不支援MySQL了,取而代之在CentOS7內部集成了mariadb,而安裝MySQL的話會和MariaDB的檔案衝突,所以需要先解除安裝掉MariaDB.

使用rpm 命令查找出要刪除的mariadb檔案;

rpm -pa | grep mariadb

可能的顯示結果如下:

mariadb-libs-5.5.56-2.el7.x86_64

刪除上面的程式

rpm -e mariadb-libs-5.5.56-2.el7.x86_64

可能出現錯誤提示如下:

  1. 依賴檢測失敗:

  2. libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

  3. libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

  4. libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

使用強制刪除:

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

至此就將原來有的mysql 和mariadb資料庫刪除了;

1.2 安裝mysql

1.2.1 下面mysql官網提供的mysql repo源

centos的yum 源中預設是沒有mysql的,所以我們需要先去官網下載mysql的repo源並安裝;

1.2.2 使用putty的pscp將檔案上傳到CentOS

使用putty將F:盤下剛下好的mysql repo檔案上傳到Centos/usr/local/mysql資料夾下;

D:\Putty>pscp F:\mysql80-community-release-el7-1.noarch.rpm [email protected]:/usr/local/mysql/

1.2.3 安裝 yum repo檔案並更新 yum 快取;

rpm -y -ivh mysql57-community-release-el7-11.noarch.rpm
或者
yum -y install mysql80-community-release-el7-1.noarch.rpm

執行結果:

會在/etc/yum.repos.d/目錄下生成兩個repo檔案mysql-community.repo mysql-community-source.repo

更新 yum 命令

yum clean all
yum makecache

1.2.4 使用 yum安裝mysql

當我們在使用yum安裝mysql時,yum預設會從yum倉庫中安裝mysql最新的GA版本;如何選擇自己的版本;

第一步: 檢視mysql yum倉庫中mysql版本,使用如下命令

yum repolist all | grep mysql

可以看到 MySQL 5.5 5.6 5.7為禁用狀態 而MySQL 8.0為啟用狀態;

第二步 使用 yum-config-manager 命令修改相應的版本為啟用狀態最新版本為禁用狀態

yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

或者可以編輯 mysql repo檔案,

cat /etc/yum.repos.d/mysql-community.repo 

將相應版本下的enabled改成 1 即可;

1.2.5 安裝mysql 命令如下:

yum -y install mysql-community-server

1.2.6 開啟mysql 服務以及檢視mysql狀態,若如圖,則為啟動成功

systemctl start mysqld.service

systemctl status mysqld.service

1.2.7 獲取初始密碼登入mysql

mysql在安裝後會建立一個[email protected]賬戶,並且把初始的密碼放到了/var/log/mysqld.log檔案中;

cat /var/log/mysqld.log | grep password
或者
grep "password" /var/log/mysqld.log

或者

使用初始密碼登入mysql

mysql -u root -p 

修改初始密碼:

輸入初始密碼,此時不能做任何事情,因為MySQL預設必須修改密碼之後才能操作資料庫;但是,因為MySQL有密碼設定的規範,密碼設定太過簡單

會報錯,具體是與validate_password_policy的值有關;然後不修改密碼就不能修改validate_password_policy,所以我在這裡先將密碼修改,改成一個滿

足要求的密碼,然後在進行validate_password_policy的修改。(詳見最下邊:修改密碼強度問題答疑

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
SQLyog遠端連線mysql時出現1130的解決辦法
 
在遠端主機上執行:msyql -u roo -p
 :(password)
進入mysql:
 use mysql
 一般會出現:You must reset your password using ALTER USER statement before executing this statement. \
需要設定新的密碼。
設定密碼:
set password=password('new password')
password設定過於簡單會出現:Your password does not satisfy the current policy requirements
 
解決辦法:
設定安全級別:
set global validate_password_policy=0(1 or 2);
設定預設密碼長度:
set global validate_password_length=長度;
 
設定新密碼:
set password=password('new password');
 
進去mysql表
use mysql
 
查詢user表中root使用者的主機資訊:
select user,host from user;
 
修改user表中root使用者的主機資訊改用%
 
update user set host='%' where user='root'
 
重新整理許可權:
flush privilege;
或者
flush privileges;
 
重新遠端mysql即可。

1.2.8 在防火牆中開啟3306埠(虛擬機器中安裝的話,對安全性要求沒那麼高,可以把防火牆全都關掉即可)

CentOS7預設使用的是firewall作為防火牆,我這裡改為習慣常用的iptables防火牆

第一步: 關閉firewall防火牆

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service

第二步: 安裝iptables防火牆

yum install iptables-services -y

第三步: 啟動iptable防火牆
 

systemctl enable iptables
systemctl start iptables

第四步: 編輯防火牆增加埠 防火牆檔案位置為: /etc/sysconfig/iptables

vim /etc/sysconfig/iptables

在倒數第三行上增加

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

第五步: 重啟防火牆

systemctl enable iptables.service
systemctl start iptables.service

1.2.9 將mysql 服務加入開機啟動項,並啟動mysql程序

 systemctl enable mysqld.service
 systemctl start mysqld.service

常用mysql服務命令:

登入mysql
mysql -u username -p
 
退出mysql 
quit
 
啟動mysql
systemctl start mysqld.service
 
結束
systemctl stop mysqld.service
 
重啟
systemctl restart mysqld.service
 
開機自啟
systemctl enable mysqld.service
 
檢視mysql版本
select version();

1.3 修改密碼強度問題答疑:

解決MySQL8.0報錯:Unknown system variable 'validate_password_policy'

一、問題描述

1、在安裝MySQL8.0時,修改臨時密碼,因密碼過於簡單(如:123456),不符合MySQL密碼規範,會觸發一個報錯資訊:

 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。 

二、遇到問題

1、解決辦法調整MySQL密碼驗證規則,修改 policy 和 length 的值。

2、MySQL 5.7 進行如下設定,即可解決問題:

mysql>  set global validate_password_policy=0;
mysql> set global validate_password_length=1;

3、MySQL 8.0 執行程式碼:

mysql>  set global validate_password_policy=0;
ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
 
mysql> set global validate_password_length=1;
ERROR 1193 (HY000): Unknown system variable 'validate_password_length'

三、問題解決

1、分析: 可以看到,修改 policy 和 length 的值,在MySQL5.7中好使,在MySQL8.0中無效。'validate_password_policy' 變數不存在。

2、解決: 先修改一個滿足的密碼 (如:Root_12root)。

補充: validate_password_policy 有以下取值:

Policy Tests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

預設是1,即MEDIUM,所以剛開始設定的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字元。

3、密碼修改後,可用命令檢視 validate_password 密碼驗證外掛是否安裝。

        mysql> SHOW VARIABLES LIKE 'validate_password%';

4、MySQL 5.7 檢視密碼驗證外掛:

5、 MySQL 8.0 檢視密碼驗證外掛:

四、問題總結

1、 通過檢視 MySQL5.7 和 MySQL8.0 密碼驗證外掛對比,可知兩個版本中,變數名不一樣。(*_password_policy 和 *_password.policy ) --- 問題原因所在。

2、MySQL 8.0 調整密碼驗證規則:

        mysql> set global validate_password.policy=0;
   mysql>  set global validate_password.length=1;

本節參考文件:內容已都涵蓋

相關推薦

centos7安裝mysql8詳細教程

第一部分 CentOS7安裝mysql 1.1 安裝前清理工作; 1.1.1 清理原有的mysql資料庫; 使用以下命令查找出安裝的mysql軟體包和依賴包: rpm -pa | grep mysql 顯示結果如下: mysql80-community-rel

Centos7 安裝rabbitmq詳細教程

一、RabbitMQ簡單介紹     RabbitMQ就是當前最主流的訊息中介軟體之一。RabbitMQ是一個開源的AMQP實現,伺服器端用Erlang語言編寫,支援多種客戶端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XM

centos7安裝supervisor詳細教程

解釋一些讓人容易疑惑名詞: supervisor:要安裝的軟體的名稱。 supervisord:裝好supervisor軟體後,supervisord用於啟動supervisor服務。 supervisorctl:用於管理supervisor配置檔案中prog

Centos7安裝mysql8教程

  網上的教程很多,我也參考了很多,以下是我實踐的步驟,真實有效。   1.配置Mysql 8.0安裝源: sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm &nb

CentOs7安裝 guetzli 詳細教程

CentOs7 中安裝 guetzli 教程,我的承諾,今天兌現。帶你上車 測試了結果,驚的我目瞪口呆。如果非要我用一個詞形容的話: 牛逼 太牛逼 先來教大家如何在 CentOs7 中安裝,專案的說明文件沒有很好的說明如何完成 redhat 系列的

CentOS下安裝XAMPP詳細教程(轉)

文件 sql user roc method 提示 ges 教程 comment 【原文】http://blog.csdn.net/hel12he/article/details/49781813 現在PHP的集成運行環境越來越多,個人比較喜歡XAMPP,更新速度快,好

vsftpd 安裝配置詳細教程

ota 復制 名稱 客戶端連接 conf ice cal ftp服務器 cannot linux下ftp軟件不少,大致特點:<br /> wu-ftp:比較老牌,但針對它的攻擊比較多,設置比較麻煩,但功能比較強大。<br /> vsftpd:功能強大

Windows 64位下安裝Redis詳細教程

enc 展示 eap redis 安裝 htm isp benchmark 新建 ref 工具/原料 Windows 64位操作系統 Redis 安裝包(當前教程版本2.8.12) 方法/步驟 在D盤新建文件夾【redis】,右鍵解壓Re

Window系統環境 安裝memcached詳細教程

系統安裝北大青鳥任老師講講memcached的安裝方法教程什麽是memcached:Memcached 是一個高性能的分布式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。Memcached基於一個存儲鍵/值對的ha

Robot Framework安裝部署詳細教程

記得 環境 get 錯誤提示 彈窗 語言 googl hive eap (轉自“義甬君”) Robot Framework安裝準備 說實話,在我玩了這麽多自動化工具後,感覺Robot Framework所需的環境和安裝過程是相對比較繁瑣和復雜的。要真正搭建一套可以使用的Ro

CentOS7 安裝mysql8.0(YUM方式)

show 5.7 nbsp mysql8 連接 技術分享 註意 alter 源安裝 1.下載mysql源安裝包 shell> wget http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.

mac上安裝Nginx詳細教程

bre ttl ssi 配置文件 -s address 重新 mac ont 1. 安裝(可以用 brew 安裝) sudo brew install nginx 2. 查看 nginx 版本 nginx -v3. 啟動 nginx sudo nginx 1也可以使用

Linux下安裝nginx詳細教程

一、進入home目錄建立目錄 nginx 二、準備nginx安裝相關的元件  1.下載nginx:wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.下載openssl:wget http://www.openssl.

Centos7 安裝 MySQL8以及遠端訪問的配置

Centos7 安裝MySQL8 1. 新增MySQL8的本地源 執行以下命令獲取安裝MySQL源 [[email protected] ~]# wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.r

DKhadoop安裝配置詳細教程與常見問題解決方法

DKhadoop安裝配置詳細教程與常見問題解決方法上週分別就DKHadoop的安裝準備工作以及伺服器作業系統配置寫了兩篇分享的文章,這是個人第一次嘗試寫一個系統性的分享文章,必然會有很多疏漏的地方,還望見諒吧。今天分享的是DKHadoop安裝以及常見問題的解決方案方法介紹。首先給大家分享一下DKHadoop安

Linux搭建lamp(Apache+PHP+Mysql環境)centos7.4版詳細教程

簡介 根據自己的產品對CPU、頻寬、記憶體等硬體配置的要求,選擇對應的配置,除錯期間我們一般選擇1核1G 1M,預設選擇40G雲盤。這樣一個月也就幾十塊的服務端成本。產品上線後,我們再根據使用者匯入規模,初期選擇了4核8G 10M 的配置。 1、確認centos版本 [[email&

第一章 python分散式爬蟲打造搜尋引擎環境搭建 第四節Centos7安裝python3詳細步驟

       今天來講解一下Linux系統下如何安裝python3版本!眾所周知,centos7自帶python2.7的版本,這個版本被系統很多程式所依賴,所以不建議刪除,如果使用最新的Python3那麼我們知道編譯安裝原始碼包和系統預設包之間是沒有任何影響的

centos7安裝RabbitMq詳細過程

安裝好系統執行更新: yum update -y reboot  //一般情況不用重啟,個人習慣。 1 2 3 有人問如果我是初學者使用ubuntu可以嗎?我的答案是如果你是為了在以後的生產應用中使用,請使用Centos,如果只是學著玩玩那就無所謂。在我在的公司(某世界500強,就

四:安裝pycharm詳細教程

1,先在PyCharm官網下載安裝包 連結:https://www.jetbrains.com/pycharm/download/#section=linux 選擇的是Professional專業版,直接點選DOWNLOAD下載就行了 如圖: 當然也可以用準備好的兩個不同版本的

Ubuntu下安裝JDK詳細教程

export 一個 java_home load 9.png 變量 wrr 點擊 div Ubuntu下安裝JDK詳細教程 作者:凱魯嘎吉 - 博客園 http://www.cnblogs.com/kailugaji/ Ubuntu版本:Ubuntu-12.04.5-des