Centos7安裝Mysql8

第一次裝的時候感覺很簡單沒有記錄专甩,第二次裝的時候報了很多錯誤!P哉选!县遣!

注意如果服務(wù)器有自帶的mysql 或者 mariadb 一定要先進行卸載糜颠,怎么卸載看下面

服務(wù)器版本如下:

[root@centos7 ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 

基本命令

啟動 : systemctl start mysqld
重啟: systemctl restart mysqld
查看狀態(tài): systemctl status mysqld

安裝步驟

第一步,清理環(huán)境

1. 首先艺玲,查看系統(tǒng)是否已經(jīng)安裝了mysql數(shù)據(jù)庫

rpm -qa | grep mysql

[root@localhost etc]# rpm -qa | grep mysql
mysql-community-libs-8.0.16-2.el7.x86_64
mysql-community-common-8.0.16-2.el7.x86_64
mysql-community-client-8.0.16-2.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-server-8.0.16-2.el7.x86_64
2. 查詢到已安裝的MySQL庫后括蝠,執(zhí)行以下命令依次卸載

yum remove mysql-xxx-xxx
若沒有查詢后,沒有安裝Mysql庫饭聚,可直接跳過此步忌警。

3. 刪除mysql的配置文件(MySQL卸載不會自動刪除配置文件,需自行清理)

首先使用如下命令查找出所用的配置文件
find / -name mysql

[root@localhost etc]# find / -name mysql
/etc/logrotate.d/mysql
/var/lib/docker/overlay2/a74267a6cde69551beede82788b48f1430f6ac88e4c7a8cdf9bcf16b2125aac6/diff/etc/mysql
/var/lib/docker/overlay2/a74267a6cde69551beede82788b48f1430f6ac88e4c7a8cdf9bcf16b2125aac6/diff/usr/include/mysql
/var/lib/docker/overlay2/a74267a6cde69551beede82788b48f1430f6ac88e4c7a8cdf9bcf16b2125aac6/diff/usr/include/mysql/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql

根據(jù)需求使用以下命令 依次 對配置文件進行刪除

rm -rf /var/lib/mysql

二秒梳、刪除MariaDB的文件

由于 在CentOS中默認安裝有MariaDB法绵,所以如果我們不刪除MariaDB文件的話,安裝mysql時可能會發(fā)生沖突酪碘。沖突信息如下:

[root@localhost yum.repos.d]# yum install mysql-community-server.x86_64 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * epel: mirrors.ustc.edu.cn
 * extras: mirrors.163.com
 * updates: centos.ustc.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package mariadb-server.x86_64 1:5.5.52-1.el7 will be obsoleted
--> Processing Dependency: mariadb-server for package: akonadi-mysql-1.9.2-4.el7.x86_64
---> Package mysql-community-server.x86_64 0:5.7.19-1.el7 will be obsoleting
--> Processing Dependency: mysql-community-common(x86-64) = 5.7.19-1.el7 for package: mysql-community-server-5.7.19-1.el7.x86_64
--> Processing Dependency: mysql-community-client(x86-64) >= 5.7.9 for package: mysql-community-server-5.7.19-1.el7.x86_64
--> Running transaction check
---> Package mariadb.x86_64 1:5.5.52-1.el7 will be obsoleted
---> Package mariadb-server.x86_64 1:5.5.52-1.el7 will be obsoleted
--> Processing Dependency: mariadb-server for package: akonadi-mysql-1.9.2-4.el7.x86_64
---> Package mysql-community-client.x86_64 0:5.7.19-1.el7 will be obsoleting
--> Processing Dependency: mysql-community-libs(x86-64) >= 5.7.9 for package: mysql-community-client-5.7.19-1.el7.x86_64
---> Package mysql-community-common.x86_64 0:5.7.19-1.el7 will be installed
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.52-1.el7 will be obsoleted
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: perl-DBD-MySQL-4.023-5.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 1:qt-mysql-4.8.5-13.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: perl-DBD-MySQL-4.023-5.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 1:qt-mysql-4.8.5-13.el7.x86_64
---> Package mariadb-server.x86_64 1:5.5.52-1.el7 will be obsoleted
--> Processing Dependency: mariadb-server for package: akonadi-mysql-1.9.2-4.el7.x86_64
---> Package mysql-community-libs.x86_64 0:5.7.19-1.el7 will be obsoleting
--> Running transaction check
---> Package mariadb-server.x86_64 1:5.5.52-1.el7 will be obsoleted
--> Processing Dependency: mariadb-server for package: akonadi-mysql-1.9.2-4.el7.x86_64
---> Package mysql-community-libs-compat.x86_64 0:5.7.19-1.el7 will be obsoleting
--> Finished Dependency Resolution
Error: Package: akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda)
           Requires: mariadb-server
           Removing: 1:mariadb-server-5.5.52-1.el7.x86_64 (@anaconda)
               mariadb-server = 1:5.5.52-1.el7
           Obsoleted By: mysql-community-server-5.7.19-1.el7.x86_64 (mysql57-community)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

1.使用rpm 命令查找出要刪除的mariadb文件,命令如下

rpm -pa | grep mariadb

可能出現(xiàn)結(jié)果

mariadb-libs-5.5.56-2.el7.x86_64

刪除上面的程序

yum -y remove mariadb-libs.x86_64

至此朋譬,原有的mysql和mariadb數(shù)據(jù)庫就刪除了

三、安裝mysql

  • contos7默認安裝了mariadb數(shù)據(jù)庫,這里把他移除:yum remove mariadb-libs.x86_64
  • 創(chuàng)建文件目錄 mkdir /etc/mysql

1兴垦、 安裝mysql官網(wǎng)提供的mysql repo源**

網(wǎng)址:https://dev.mysql.com/downloads/repo/yum/ 操作如下:

image.png

2. 把這個rpm文件下載下來放到服務(wù)器上,或者在linux系統(tǒng)中通過wget命令下載

wget http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

下載完成后使用yum命令本地安裝yum源

3. 安裝mysql80-community-release-el7-1.noarch.rpm包徙赢。使用命令:

yum localinstall mysql80-community-release-el7-1.noarch.rpm
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
執(zhí)行完畢后使用下面的命令檢查是否安裝成功
yum repolist enabled | grep "mysql.*-community.*"

看到類似下圖說明安裝成功


image.png
安裝MySQL

使用命令yum install -y mysql-community-server進行安裝

image.png

4. 使用命令 “yum install mysql-community-server”安裝mysql。大概有1個多G探越,請耐心等待安裝完成

默認配置文件路徑:
配置文件:/etc/my.cnf
日志文件:/var/log/var/log/mysqld.log
服務(wù)啟動腳本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid

啟動MySQL服務(wù)

使用systemctl start mysqld命令啟動
使用systemctl status mysqld查看服務(wù)啟動狀態(tài)

image.png

開機啟動

打上下面這兩條命令就行了,不行就不行了..看不懂
systemctl enable mysqld
systemctl daemon-reload

. 修改root默認密碼

兩種方式第二種在下面我用的第一種
在修改密碼之前要先做一件事,就是找到mysql的配置文件(vim /etc/my.cnf)↓
把密碼的加密方式改成之前版本的,8.0版本更換了密碼的加密方式,我們就先用舊的..


image.png

把上面圖片里這一行信息前面的"#"刪掉,改完之后記得重啟服務(wù)(systemctl restart mysqld)

修改密碼

1.剛剛啟動成功之后, 用命令查看默認密碼并且登錄
查看:cat /var/log/mysqld.log | grep password
登陸:mysql -u root -p 然后輸入密碼

  1. 修改密碼
    set global validate_password.policy=0;
    set global validate_password.length=1;
    ALTER USER "root"@"localhost" IDENTIFIED BY "123456"; // 新密碼為123456


    image
  2. exit 退出 mysql -u root -p 然后輸入密碼即可登錄

授權(quán)遠程訪問

首先確保關(guān)閉了防火墻 并重啟mysql狡赐。
一般不允許root用戶進行遠程登錄,我先記錄一下命令,這個是root遠程登錄授權(quán)的命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密碼' WITH GRANT OPTION;

遠程訪問

  1. 選擇數(shù)據(jù)庫 use mysql show tables;可以看到很多表
mysql> use mysql
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| component                 |
| db                        |
| default_roles             |
| engine_cost               |
| func                      |
| general_log               |
| global_grants             |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| password_history          |
| plugin                    |
| procs_priv                |
| proxies_priv              |
| role_edges                |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
33 rows in set (0.00 sec)

mysql> 
  1. 修改連接規(guī)則:host表示允許哪個ip來連接,user表示哪個數(shù)據(jù)庫钦幔。例如 mysql –uroot –p 連的就是叫root數(shù)據(jù)庫枕屉。
  2. 查看規(guī)則 select host,user from user \G; 修改規(guī)則 update user set host= '%' where user = 'root';


    image
mysql>  update user set host= '%' where user = 'root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select host,user from user \G;
*************************** 1. row ***************************
host: %
user: root
*************************** 2. row ***************************
host: localhost
user: mysql.infoschema
*************************** 3. row ***************************
host: localhost
user: mysql.session
*************************** 4. row ***************************
host: localhost
user: mysql.sys
4 rows in set (0.00 sec)

ERROR: 
No query specified

mysql> 
  1. mysql5.7.6之后就修改了加密規(guī)則,我這里是mysql8.0.12 所以需要更改加密方式鲤氢。(由于上面已經(jīng)修改了配置文件所以這種方式并未嘗試)
    update user set plugin='mysql_native_password' where user ='root';
  2. 刷新權(quán)限 flush privileges;
  3. 測試外網(wǎng)連接mysql服務(wù)器搀擂。
    (如果外網(wǎng)連接失敗的話西潘,先按照【重置密碼】執(zhí)行一遍,再執(zhí)行【修改密碼】哨颂,只是ALTER USER "root"@"localhost" IDENTIFIED BY "1234";要替換成ALTER USER "root"@"%" IDENTIFIED BY "1234";)


    image.png

重置密碼

  1. 開啟免密碼登陸 修改my.cnf文件 默認在/etc/my.cnf喷市。
    vim /etc/my.cnf 在【mysqld】模塊下面添加:skip-grant-tables 保存退出。
  2. 重啟服務(wù)咆蒿,使配置生效 东抹。 service mysqld restart
  3. 登陸 mysql -u root -p //不輸入密碼直接敲回車鍵
  4. 選擇數(shù)據(jù)庫 use mysql 把密碼置空(因為免密登陸時不能直接修改密碼)
    update user set authentication_string = '' where user = 'root';
  5. 退出 quit 把/etc/my.cnf免密刪掉。 重啟服務(wù) service mysqld restart
  6. 登陸 mysql -u root -p //直接敲回車鍵沃测,因為剛剛置空密碼了缭黔。
  7. 和上面修改密碼的步驟一樣,重復(fù)一遍就好了~ 哈哈蒂破!

卸載mysql

首先 馏谨, 停止mysql service mysqld stop
總共分兩步: 1.卸載mysql組件 2.刪除相關(guān)文件夾

【第一步卸載mysql組件】

【 查看MySQL組件 】
[root@localhost ~]# rpm -qa | grep -i mysql
mysql-community-libs-8.0.12-1.el7.x86_64
mysql-community-common-8.0.12-1.el7.x86_64
mysql-community-client-8.0.12-1.el7.x86_64
mysql-community-server-8.0.12-1.el7.x86_64
【刪除】
[root@localhost ~]# rpm -ev mysql-community-server-8.0.12-1.el7.x86_64
Preparing packages...
mysql-community-server-8.0.12-1.el7.x86_64
warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave
【刪除】
[root@localhost ~]# rpm -ev mysql-community-client-8.0.12-1.el7.x86_64
Preparing packages...
mysql-community-client-8.0.12-1.el7.x86_64
【刪除失敗】
[root@localhost ~]# rpm -ev mysql-community-common-8.0.12-1.el7.x86_64
error: Failed dependencies:
    mysql-community-common(x86-64) >= 8.0.0 is needed by (installed) mysql-community-libs-8.0.12-1.el7.x86_64
【繼續(xù)查看】
[root@localhost ~]# rpm -qa | grep -i mysql
mysql-community-libs-8.0.12-1.el7.x86_64
mysql-community-common-8.0.12-1.el7.x86_64
【刪除】
[root@localhost ~]# rpm -e --noscripts mysql-community-libs-8.0.12-1.el7.x86_64
[root@localhost ~]# 
【刪除】
[root@localhost ~]# rpm -e --noscripts mysql-community-common-8.0.12-1.el7.x86_64
[root@localhost ~]# 
【查看】
[root@localhost ~]# rpm -qa | grep -i mysql
[root@localhost ~]# 

【第二步:刪除相關(guān)目錄】

【查看】
[root@localhost ~]# find / -name mysql
/etc/mysql
/etc/selinux/targeted/active/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
【刪除】
[root@localhost ~]# rm -rf /etc/mysql
[root@localhost ~]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
[root@localhost ~]# rm -rf /var/lib/mysql
[root@localhost ~]# find / -name mysql
【再次檢查,什么都沒有說明卸載成功了】
[root@localhost ~]# rpm -qa | grep -i mysql
[root@localhost ~]#

注意如果卸載不掉用下面的方法卸載
一附迷、如果是使用yum安裝的mysql惧互,使用如下命令進行卸載(不能確定使用何種方式安裝的mysql情況下,按后續(xù)步驟一一進行處理即可):

# yum remove mysql mysql-server mysql-libs compat-mysql51
# rm -rf /var/lib/mysq
# rm /etc/my.cnf

使用rpm -qa|grep mysql命令來查看rpm方式安裝的mysql喇伯,如果查詢結(jié)果不為空喊儡,需要將這些rpm卸載掉。

#參考鏈接:
https://www.cnblogs.com/wlwl/p/9686809.html
https://my.oschina.net/liuyuantao/blog/1859577
https://blog.csdn.net/qq_39470733/article/details/80999080

注意參考:https://blog.csdn.net/chrisjingu/article/details/90291445

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稻据,一起剝皮案震驚了整個濱河市艾猜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捻悯,老刑警劉巖匆赃,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異今缚,居然都是意外死亡算柳,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門姓言,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞬项,“玉大人,你說我怎么就攤上這事何荚±暮荆” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵兽泣,是天一觀的道長。 經(jīng)常有香客問我胁孙,道長唠倦,這世上最難降的妖魔是什么称鳞? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮稠鼻,結(jié)果婚禮上冈止,老公的妹妹穿的比我還像新娘。我一直安慰自己候齿,他們只是感情好熙暴,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著慌盯,像睡著了一般周霉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上亚皂,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天俱箱,我揣著相機與錄音,去河邊找鬼灭必。 笑死狞谱,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的禁漓。 我是一名探鬼主播跟衅,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼播歼!你這毒婦竟也來了伶跷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤荚恶,失蹤者是張志新(化名)和其女友劉穎撩穿,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谒撼,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡食寡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了廓潜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抵皱。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖辩蛋,靈堂內(nèi)的尸體忽然破棺而出呻畸,到底是詐尸還是另有隱情,我是刑警寧澤悼院,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布伤为,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏绞愚。R本人自食惡果不足惜叙甸,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望位衩。 院中可真熱鬧裆蒸,春花似錦、人聲如沸糖驴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贮缕。三九已至辙谜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跷睦,已是汗流浹背筷弦。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留抑诸,地道東北人烂琴。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像蜕乡,于是被迫代替她去往敵國和親奸绷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 根據(jù)搜集的資料安裝測試并在安裝測試過程中整理的文檔层玲,部分參考文檔在相應(yīng)位置有標記号醉。如有不足希望多多指出 一、配置y...
    丶Assassin丨閱讀 543評論 0 0
  • CentOS7安裝mysql8.0步驟 1.1 安裝前清理工作辛块;1.1.1 清理原有的mysql數(shù)據(jù)庫畔派;使用以下命...
    yichen_china閱讀 29,873評論 3 15
  • https://dev.mysql.com/downloads/mysql/ 下載rpm的tar包并解壓 壓解后...
    不給起這個名字閱讀 1,005評論 0 0
  • 1.下載 MySQL 所需要的安裝包 網(wǎng)址:https://dev.mysql.com/downloads/m...
    白小純吶閱讀 684評論 0 0
  • 什么是千谷德國溶脂線脂肪分解術(shù) 新型千谷德國溶脂線脂肪分解術(shù)-利用蛋白溶脂線進入穴道內(nèi),在人體內(nèi)軟化润绵、分解线椰、吸收、...
    培訓(xùn)老師連連閱讀 507評論 0 0