本文主要從如下幾個方面對本身在centos7 下安裝mysql8過程作以下總結:html
https://blog.csdn.net/managementandjava/article/details/80039650java
------------------------------------------------------------------------------------------------------------------node
使用如下命令查找出安裝的mysql軟件包和依賴包:mysql
rpm -pa | grep mysql
顯示結果以下:linux
使用如下命令依次刪除上面的程序sql
yum remove mysql-xxx-xxx-
刪除mysql的配置文件,卸載不會自動刪除配置文件,首先使用以下命令查找出所用的配置文件;數據庫
find / -name mysql
可能的顯示結果以下:vim
根據需求使用如下命令 依次 對配置文件進行刪除centos
rm -rf /var/lib/mysql
因爲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
可能出現錯誤提示以下:
使用強制刪除:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
至此就將原來有的mysql 和mariadb數據庫刪除了;
centos的yum 源中默認是沒有mysql的,因此咱們須要先去官網下載mysql的repo源並安裝;
mysql官網下載連接:mysql repo下載地址 以下:
使用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/
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
執行結果:
會在/etc/yum.repos.d/目錄下生成兩個repo文件mysql-community.repo mysql-community-source.repo
更新 yum 命令
當咱們在使用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 命令修改相應的版本爲啓用狀態最新版本爲禁用狀態
或者能夠編輯 mysql repo文件,
cat /etc/yum.repos.d/mysql-community.repo
將相應版本下的enabled改爲 1 便可;
yum install mysql-community-server
systemctl start mysqld.service
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!';
CentOS7默認使用的是firewall做爲防火牆,我這裏改成習慣經常使用的iptables防火牆
第一步: 關閉firewall防火牆
第二步: 安裝iptables防火牆
yum install iptables-services -y
第三步: 啓動iptable防火牆
第四步: 編輯防火牆增長端口 防火牆文件位置爲: /etc/sysconfig/iptables
vim /etc/sysconfig/iptables
在倒數第三行上增長
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
第五步: 重啓防火牆
經常使用mysql服務命令:
本節參考文檔:
參考文獻1: centos安裝mysql
參考文獻2: A Quick Guide to Using the MySQL Yum Repository
------------------------------------------------------------------------------------------------------------------
多是你的賬號不容許從遠程登錄,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"登陸mysql數據庫 執行以下命令:
賦予任何主機訪問數據的權限
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;
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遇到的問題
------------------------------------------------------------------------------------------------------------------
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命令