CentOS7 安裝 mysql8

本文主要從如下幾個方面對本身在centos7 下安裝mysql8過程作以下總結:html

  • CentOS7 安裝mysql8 步驟;
  • window下的Navicat 鏈接MySql8;
  • 涉及到的Linux命令

https://blog.csdn.net/managementandjava/article/details/80039650java

------------------------------------------------------------------------------------------------------------------node

第一部分 CentOS7安裝mysql

1.1 安裝前清理工做;

1.1.1 清理原有的mysql數據庫;

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

rpm -pa | grep mysql

顯示結果以下:linux

  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

使用如下命令依次刪除上面的程序sql

yum remove mysql-xxx-xxx-

刪除mysql的配置文件,卸載不會自動刪除配置文件,首先使用以下命令查找出所用的配置文件;數據庫

find / -name mysql

可能的顯示結果以下:vim

  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

根據需求使用如下命令 依次 對配置文件進行刪除centos

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.  
     
  3.  
    libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 須要
  4.  
     
  5.  
    libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 須要
  6.  
     
  7.  
    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源並安裝;

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 root@192.168.145.136:/usr/local/mysql/

1.2.3 安裝 yum repo文件並更新 yum 緩存;

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

執行結果:

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

更新 yum 命令

  1.  
    yum clean all
  2.  
    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 命令修改相應的版本爲啓用狀態最新版本爲禁用狀態

  1.  
    yum-config-manager --disable mysql80-community
  2.  
    yum-config-manager --enable mysql57-community

或者能夠編輯 mysql repo文件,

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

將相應版本下的enabled改爲 1 便可;

1.2.5 安裝mysql 命令以下:

yum install mysql-community-server

1.2.6 開啓mysql 服務

systemctl start mysqld.service

1.2.7 獲取初始密碼登陸mysql

mysql在安裝後會建立一個root@locahost帳戶,而且把初始的密碼放到了/var/log/mysqld.log文件中;

cat /var/log/mysqld.log | grep password

使用初始密碼登陸mysql

mysql -u root -p

修改初始密碼:因此剛開始設置的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字符。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

1.2.8 在防火牆中開啓3306端口

CentOS7默認使用的是firewall做爲防火牆,我這裏改成習慣經常使用的iptables防火牆

第一步: 關閉firewall防火牆

  1.  
    systemctl stop firewalld.service
  2.  
    systemctl disable firewalld.service
  3.  
    systemctl mask firewalld.service

第二步: 安裝iptables防火牆

yum install iptables-services -y

第三步: 啓動iptable防火牆

  1.  
    systemctl enable iptables
  2.  
    systemctl start iptables

第四步: 編輯防火牆增長端口 防火牆文件位置爲: /etc/sysconfig/iptables

vim /etc/sysconfig/iptables

在倒數第三行上增長

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

第五步: 重啓防火牆

  1.  
    systemctl enable iptables.service
  2.  
    systemctl start iptables.service

1.2.9 將mysql 服務加入開機啓動項,並啓動mysql進程

  1.  
    systemctl enable mysqld.service
  2.  
    systemctl start mysqld.service

經常使用mysql服務命令:

  1.  
    登陸mysql
  2.  
    mysql -u username -p
  3.  
     
  4.  
    退出mysql
  5.  
    quit
  6.  
     
  7.  
    啓動mysql
  8.  
    systemctl start mysqld.service
  9.  
     
  10.  
    結束
  11.  
    systemctl stop mysqld.service
  12.  
     
  13.  
    重啓
  14.  
    systemctl restart mysqld.service
  15.  
     
  16.  
    開機自啓
  17.  
    systemctl enable mysqld.service
  18.  
     
  19.  
    查看mysql版本
  20.  
    select version();

本節參考文檔:

參考文獻1: centos安裝mysql

參考文獻2: A Quick Guide to Using the MySQL Yum Repository

 

------------------------------------------------------------------------------------------------------------------

第二部分 Navicat 鏈接 Mysql8

2.1 開啓mysql遠程服務:

2.1.1 修改mysql數據庫下的user表中host的值

多是你的賬號不容許從遠程登錄,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"登陸mysql數據庫 執行以下命令:

  1.  
    mysql -u root -p
  2.  
    use mysql;
  3.  
    update user set host='%' where user='root';

2.1.2 使用受權的方式

賦予任何主機訪問數據的權限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES

若是想myuser用戶使用mypassword密碼從任何主機鏈接到mysql服務器的話。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

若是你想容許用戶myuser從ip爲192.168.1.6的主機鏈接到mysql服務器,並使用mypassword做爲密碼

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

2.2 在使用 Navicat for Mysql鏈接mysql 8.0時會報以下錯誤:

Authentication plugin 'caching_sha2_password' cannot be loaded:

mysql8.0 引入了新特性 caching_sha2_password;這種密碼加密方式客戶端不支持;客戶端支持的是mysql_native_password 這種加密方式;

咱們可能夠查看mysql 數據庫中user表的 plugin字段;

可使用命令將他修改爲mysql_native_password加密模式:

update user set plugin='mysql_native_password' where user='root';

再用Navicat連接 就能夠連接成功;

 

本節參考文獻:

參考文獻1: mysql開啓遠程的兩種方式

參考文獻2:初次安裝mysql遇到的問題

 

------------------------------------------------------------------------------------------------------------------

第三部分:安裝過程當中涉及到的Linux命令學習;

3.1 rpm

 

3.2 putty 上傳文件 pscp命令;

    在window機上CD進入pttty安裝目錄:

cd :\program files (x86)\Putty

    將本地文件拷貝到Linux上:pscp 文件 用戶名@LinuxIP:目錄

pscp hello.txt root@192.168.145.135:/tmp/userfile/

    將本地文件夾 拷貝到Linux上:pscp  -r 目錄 用戶名@LinuxIP:目錄

pscp -r c:\file root@10.43.65.98:/root/testFolder

    將Linux上的文件\root\test.txt拷貝到本地C盤src文件夾,以下:

pscp root@abc_pc:/root/test.txt  C:\src

 

3.3 修改防火牆文件/etc/sysconfig/iptables

 

3.4 systemctl命令

相關文章
相關標籤/搜索