linux mysql安裝_Linux下安裝mysql服務(超詳細)

Mysql數據庫的安裝對于開發者來說,是我們必然會面對的問題,它的安裝過程其實并不復雜,并且網絡上的安裝教程也非常多,但是對于新手來說,各種不同形式的安裝教程,又給新手們帶來了要選擇哪種方式進行安裝的難題,而且很多時候按照教程也沒有能夠安裝成功,安裝過程出現各種各樣的錯誤。

fd5c8260dae3cbea076d9b1904b7221b.png

下面記錄了我在Linux環境下安裝Mysql的完整過程,實操記錄,絕非水文,如有錯誤或遺漏,歡迎指正。

注意點:

  1. 本次安裝的mysql-5.7.24,對于5.7.24之后的版本,不適用此說明文檔,主要原因在于之后版本的mysql配置文件的目錄位置和結構有所改變,使用此說明可能會出現找不到配置文件或者配置后不生效的情況。
  2. 安裝過程中務必保證文件路徑的前后統一,否則可能會導致不可預期的結果,推薦直接使用文中的命令進行操作。

一 安裝前準備

1、檢查是否已經安裝過mysql,執行命令

[root@localhost /]# rpm -qa | grep mysql
29f41e1a33ef30c06c7414a2f0420d5a.png

從執行結果,可以看出我們已經安裝了mysql-libs-5.1.73-5.el6_6.x86_64,執行刪除命令

[root@localhost /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

再次執行查詢命令,查看是否刪除

[root@localhost /]# rpm -qa | grep mysql
1b40ac02dbdcf96e0acd0562ff5bba98.png

2、查詢所有Mysql對應的文件夾

[root@localhost /]# whereis mysqlmysql: /usr/bin/mysql /usr/include/mysql[root@localhost lib]# find / -name mysql/data/mysql/data/mysql/mysql

刪除相關目錄或文件

[root@localhost /]#  rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 

驗證是否刪除完畢

[root@localhost /]# whereis mysqlmysql:[root@localhost /]# find / -name mysql[root@localhost /]# 

3、檢查mysql用戶組和用戶是否存在,如果沒有,則創建

[root@localhost /]# cat /etc/group | grep mysql[root@localhost /]# cat /etc/passwd |grep mysql[root@localhost /]# groupadd mysql[root@localhost /]# useradd -r -g mysql mysql[root@localhost /]# 

4、從官網下載是用于Linux的Mysql安裝包

下載命令:

[root@localhost /]#  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

也可以直接到mysql官網選擇其他版本進行下載。

0cfc7dbb4cd82652821fa0f5d376f9e1.png

二 安裝Mysql

1、在執行wget命令的目錄下或你的上傳目錄下找到Mysql安裝包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 執行解壓命令:

[root@localhost /]#  tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz[root@localhost /]# lsmysql-5.7.24-linux-glibc2.12-x86_64mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

解壓完成后,可以看到當前目錄下多了一個解壓文件,移動該文件到/usr/local/下,并將文件夾名稱修改為mysql

如果/usr/local/下已經存在mysql,請將已存在mysql文件修改為其他名稱,否則后續步驟可能無法正確進行。

執行命令如下:

[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/[root@localhost /]# cd /usr/local/[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql

如果/usr/local/下不存在mysql文件夾,直接執行如下命令,也可達到上述效果。

[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

2、在/usr/local/mysql目錄下創建data目錄

[root@localhost /]# mkdir /usr/local/mysql/data

3、更改mysql目錄下所有的目錄及文件夾所屬的用戶組和用戶,以及權限

[root@localhost /]# chown -R mysql:mysql /usr/local/mysql[root@localhost /]# chmod -R 755 /usr/local/mysql

4、編譯安裝并初始化mysql,務必記住初始化輸出日志末尾的密碼(數據庫管理員臨時密碼)

[root@localhost /]# cd /usr/local/mysql/bin[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

第4步時,可能會出現錯誤:

6bec39758cbda4c2806e9f0989248ad1.png

出現該問題首先檢查該鏈接庫文件有沒有安裝使用 命令進行核查

[root@localhost bin]# rpm -qa|grep libaio   [root@localhost bin]# 

運行命令后發現系統中無該鏈接庫文件

[root@localhost bin]#  yum install  libaio-devel.x86_64

安裝成功后,繼續運行數據庫的初始化命令,此時可能會出現如下錯誤:

b5de32ec2328eae8abea6e69de0c438a.png

執行如下命令后:

[root@localhost bin]#  yum -y install numactl

執行無誤之后,再重新執行第4步初始化命令,無誤之后再進行第5步操作!

5、運行初始化命令成功后,輸出日志如下:

02c9ef3f9749a9705637e38e216b2a49.png

記錄日志最末尾位置root@localhost:后的字符串,此字符串為mysql管理員臨時登錄密碼。

6、編輯配置文件my.cnf,添加配置如下

[root@localhost bin]#  vi /etc/my.cnf[mysqld]datadir=/usr/local/mysql/dataport = 3306sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESsymbolic-links=0max_connections=400innodb_file_per_table=1lower_case_table_names=1

7、啟動mysql服務器

[root@localhost /]# /usr/local/mysql/support-files/mysql.server start

顯示如下結果,說明數據庫安裝成功

553b82d1055a4b302b0e879c8b4bf9f4.png

如果出現如下提示信息

Starting MySQL... ERROR! The server quit without updating PID file

查看是否存在mysql和mysqld的服務,如果存在,則結束進程,再重新執行啟動命令

#查詢服務ps -ef|grep mysqlps -ef|grep mysqld#結束進程kill -9 PID#啟動服務 /usr/local/mysql/support-files/mysql.server start
c87c1f08c1200b24f3cf21f394a547a6.png

如果以上方式還解決不了,那就刪除my.cnf和my.cnf.d兩個文件重新進行mysql的安裝。

8、添加軟連接,并重啟mysql服務

[root@localhost /]#  ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql [root@localhost /]#  ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql[root@localhost /]#  service mysql restart

9、登錄mysql,修改密碼(密碼為步驟5生成的臨時密碼)

[root@localhost /]#  mysql -u root -pEnter password:mysql>set password for root@localhost = password('yourpass');
5ef8cf6c27b5702d538befedf047f526.png

10、開放遠程連接

mysql>use mysql;msyql>update user set user.Host='%' where user.User='root';mysql>flush privileges;
04f415c37925492e0e736192cc25e049.png

11、設置開機自動啟動

1、將服務文件拷貝到init.d下,并重命名為mysql[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld2、賦予可執行權限[root@localhost /]# chmod +x /etc/init.d/mysqld3、添加服務[root@localhost /]# chkconfig --add mysqld4、顯示服務列表[root@localhost /]# chkconfig --list

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455625.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455625.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455625.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

dash 和 bash 切換

#先看看是用的哪個 shellls -al /bin/sh #如果是dash,切換到bashsudo ln -fs /bin/bash /bin/sh轉載于:https://www.cnblogs.com/abolide/p/6874265.html

Django中使用ajax技術概述

ajax 1.什么是ajax ajax就是在不刷新整個頁面的情況下,去更新局部頁面的內容(無刷新技術) 2.ajax有什么優點 最大的一點是頁面無刷新,在頁面內與服務器通信,給用戶的體驗非常好。 使用異步方式與服務器通信&#x…

IE、FF腳本兼容性問題

1.window.event IE有這個對象;FF沒有,FF通過參數傳遞 2.獲取事件源 IE:srcElement FF:target 3.添加與去除事件 IE:element.attachEvent("onclick", function(){}) element.detachEvent("onclick"…

ARM MOV和 LDR指令關系

ARM是RISC結構,數據從內存到CPU之間的移動只能通過L/S指令來完成,也就是ldr/str指令。比如想把數據從內存中某處讀取到寄存器中,只能使用ldr比如:ldr r0, 0x12345678就是把0x12345678這個地址中的值存放到r0中。而mov不能干這個活…

day2 操作系統

一.為何要有操作系統 程序員無法把所有的硬件操作細節都了解到,管理這些硬件并且加以優化使用是非常繁瑣的工作,這個繁瑣的工作就是操作系統來干的,有了他,程序員就從這些繁瑣的工作中解脫了出來,只需要考慮自己的應用…

Django之model模型

模型 1.如何安裝pymysql 1.file->settings->Project Interpreter 2.點擊右邊的"" 3.搜索pymysql 4.點擊最下面的"install package" 5.安裝成功會提示"Package "pymysql" install successfully"2.如何在django中配置mysql 1.在…

python安裝不了jupyter_python學習筆記——Windowns下Python3之安裝jupyter

Windowns下Python3之安裝jupyter Jupyter notebook: 一個交互式筆記本,支持運行40多種編程語言。 利用它來寫Python,代碼和運行結果都可以保存下載,十分方便。本文主要以自身的安裝過程為例,結合遇到的問題&#xff0c…

Java文件讀寫操作

http://blog.csdn.net/jiangxinyu/article/details/7885518/ 比較齊全,有多種文件讀寫操作轉載于:https://www.cnblogs.com/maowuyu-xb/p/7238170.html

視頻編碼與封裝方式詳解

1. 編碼方式和封裝格式... 1 2. 視頻編碼標準兩大系統... 2 MPEG-1. 2 MPEG-2. 3 MPEG-3. 3 MPEG-4. 3 ITU-T. 4 WMV. 4 3. 常用視頻編碼方式有Xvid( 4 4. 常見存儲封裝格式... 6 5. 幾種常見的轉換格式設置... 7 6. 無損視頻編碼... 9 1. 編碼方式和封裝格式常見…

Binder

問:為什么Android要采用Binder作為IPC機制 答案來自百度知道: (1)從性能的角度數據拷貝次數:Binder數據拷貝只需要一次,而管道、消息隊列、Socket都需要2次,但共享內存方式一次內存拷貝都不需要…

matlab 三維核密度圖_Matlab精彩畫圖示例:三維網狀圖和三維曲面圖

接上篇:Matlab精彩畫圖示例:繪制圖上圖這篇介紹兩個繪制三維圖的命令:mesh - 繪制三維網狀圖surf - 繪制三維曲面圖matlab代碼如下:繪制三維圖的matlab代碼示例程序運行結果如下:mesh(X,Y,Z) draws a wireframe mesh w…

Django之templates模板

模板的使用 1.如何使用模板 在manage.py的同級文件夾中創建templates在setting.py的文件中把第58行DIRS: [ ],改成DIRS: [os.path.join(BASE_DIR,templates)], 知識點: os.path.join(BASE_DIR,templates) 拼接兩個字符串 BASE_DIR找到項目根目錄127.0.0.1:8000/myadmin/templ…

STL容器刪除元素的陷阱

今天看Scott Meyers大師的stl的用法&#xff0c;看到了我前段時間犯的一個錯誤&#xff0c;發現我寫的代碼和他提到錯誤代碼幾乎一模一樣&#xff0c;有關stl容器刪除元素的問題&#xff0c;錯誤的代碼如下&#xff1a;std::vector<struct> mFriendList;...std::vector&l…

JDBC1

1.jdbc的概述 是sun公司統一提供的一套接口規范,各個數據庫生產商提供實現 注冊驅動,獲得連接,獲得執行的SQL語句對象,釋放資源 package com.learn.jdbc;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;import org.junit.Test;publ…

無符號哥倫布指數編碼

在H264編解碼中&#xff0c;哥倫布指數編碼是經常用到的&#xff0c;下面是無符號哥倫布指數編碼的C代碼&#xff1a; static inline int bs_read_ue( bs_t *s ){ int i 0; while( bs_read1( s ) 0 && s->p < s->p_end && i < 32 ) { …

django后臺多頁面分頁邏輯python代碼

#!/usr/bin/env python # -*- coding:utf-8 -*- # Created by 秋葉夏風# 本模塊的功能:<>def get_page_list(max_page,curr_page,leng):用于生成頁數列表:param max_page:最大頁數:param curr_page:當前頁數:param leng:分頁步長:return:list# max_page 20# curr_page …

python程序怎么保存到u盤_python實現usb自動拷貝程序的方法

python實現usb自動拷貝程序的方法 發布時間&#xff1a;2020-06-28 09:07:05 來源&#xff1a;億速云 閱讀&#xff1a;135 作者&#xff1a;清晨 這篇文章將為大家詳細講解有關python實現usb自動拷貝程序的方法&#xff0c;小編覺得挺實用的&#xff0c;因此分享給大家做個參考…

young people can also be a leader

2019獨角獸企業重金招聘Python工程師標準>>> The leaders or directors of organizations are often older people. But some people say that young people can also be a leader. To what extent do you agree or disagree? In my view , young people can also …

BZOJ 2004 公交線路(狀壓DP+矩陣快速冪)

注意到每個路線相鄰車站的距離不超過K&#xff0c;也就是說我們可以對連續K個車站的狀態進行狀壓。 然后狀壓DP一下&#xff0c;用矩陣快速冪加速運算即可。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <algorithm>#define…

python爬取網易云歌單_詳解python selenium 爬取網易云音樂歌單名

目標網站&#xff1a;首先獲取第一頁的數據&#xff0c;這里關鍵要切換到iframe里打印一下獲取剩下的頁數&#xff0c;這里在點擊下一頁之前需要設置一個延遲&#xff0c;不然會報錯。結果&#xff1a;一共37頁&#xff0c;爬取完畢后關閉瀏覽器 完整代碼&#xff1a; url htt…