linux mysql5.7.17安裝教程 (多個文件參考安裝,安裝和用命令按自己的MySQL目錄)
一 。(這個為主,其他檔案輔助解決問題)MySQL是Oracle旗下的一個關係型資料庫,也是目前行業內用的較多的資料庫之一,使用起來非常方便。在Linux下安裝MySQL與Windows略有不同,在Linux下會涉及到使用者建立、許可權、開機自啟等問題。下面看看我們如何在Linux下安裝MySQL5.7.17。
工具/原料
- Linux(ubuntu 16.04 LTS)
- MySQL 5.7.17
方法/步驟
-
下載安裝包
從MySQL官網的下載頁面,選擇版本以及平臺,就會列出符合該要求的MySQL下載連結,然後我們在根據實際情況進行選擇。這裡的平臺我選擇Linux Generic
你也可以開啟終端用下面命令直接下載:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
這個包有623.7M,下載需要較長的時間。
-
建立MySQL系統使用者
使用以下命令,建立MySQL的系統使用者:
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
-
安裝MySQL
將之前下載的mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz安裝包解壓到/usr/local目錄,並將目錄名稱改為mysql。然後建立mysql-files目錄,並設定許可權。
解壓:
sudo tar -zxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
重新命名:
sudo mv /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64/ /usr/local/mysql/
進入MySQL安裝目錄:
cd /usr/local/mysql/
建立mysql-files目錄:
sudo mkdir mysql-files
賦予750許可權:
sudo chmod 750 mysql-files
將當前目錄的擁有者設定為mysql使用者和mysql組:
sudo chown -R mysql .
sudo chgrp -R mysql .
-
初始化MySQL
到MySQL的安裝目錄,執行命令,初始化MySQL。
執行初始化命令:
sudo bin/mysqld --initialize --user=mysql
配置ssl加密相關:
sudo bin/mysql_ssl_rsa_setup
到此MySQL安裝初始化完成,在執行以下命令修改許可權
sudo chown -R root .
sudo chown -R mysql data mysql-files
注意事項:
mysql初始化工作依賴libaio包,如果沒有安裝就會出現這個錯誤 “bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory”。
檢查是否已安裝:
yum search libaio 或 apt-cache search libaio
如果沒有,則安裝:
yum install libaio 或 apt-get install libaio1
yum適用於centos/readhat等系統,apt-get適用於ubuntu、debian系統,請按自己需要選擇。
-
啟動MySQL
將mysql.server檔案複製到/etc/init.d目錄下
sudo cp support-files/mysql.server /etc/init.d/mysql.server
啟動mysql服務:
sudo systemctl start mysql.server
停止mysql服務:
sudo systemctl stop mysql.server
-
使用MySQL
MySQL伺服器啟動後,使用以下命令登入MySQL:
bin/mysql -u root -p
需要注意的就是這個地方的密碼,是你執行"sudo bin/mysqld --initialize --user=mysql"命令時產生的一個隨機密碼。具體位置請看下圖中畫紅線的部分。
-
修改密碼
初始化MySQL時生成的隨機密碼,只能用於初次登入。如果你要使用SQL語句作其他操作,就要修改密碼後才能進行了。否則會報錯“ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.”。
我們通過SET指令修改密碼。
SET PASSWORD=PASSWORD('newpassword');
請留意下圖,紅線部分。
到此MySQL就安裝完畢了,可以愉快的使用MySQL提供的服務了。
二。
[email protected] ~]# mysql -u root
-bash: mysql: command not found
原因:這是由於系統預設會查詢/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是對映一個連結到/usr/bin目錄下,相當於建立一個連結檔案。
首先得知道mysql命令或mysqladmin命令的完整路徑,比如mysql的路徑是:/usr/local/mysql/bin/mysql,我們則可以這樣執行命令:
# ln -s /usr/local/mysql/bin/mysql /usr/bin
以下是補充:
linux下,在mysql正常執行的情況下,輸入mysql提示:
mysql command not found
遇上-bash: mysql: command not found的情況彆著急,這個是因為/usr/local/bin目錄下缺失mysql導致,只需要一下方法建立軟連結,即可以解決:
把mysql安裝目錄,比如MYSQLPATH/bin/mysql,對映到/usr/local/bin目錄下:
# cd /usr/local/bin
# ln -fs /MYSQLPATH/bin/mysql mysql
還有其它常用命令mysqladmin、mysqldump等不可用時候都可按用此方法解決。
注:其中MYSQLPATH是mysql的實際安裝路徑
12. 新增MySQL服務
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
13. 啟動MySQL
service mysql start
四 。ERROR 2002 (HY000): Can't connect to local MySQL server through socket
#修改my.cnf,如下
[[email protected] mysqldata]# vi /etc/my.cnf
[mysql]
no-auto-rehash
socket = /tmp/mysql.sock #新增該行
[[email protected] mysqldata]# service mysqld start
五 。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
-
開啟/etc/my.cnf,看看裡面配置的socket位置是什麼目錄,
例如:socket=/tmp/mysql.sock
-
看看/tmp/mysql.sock是否存在,不存在建立一個,若和/etc/my.cnf不一致,建立一個軟連線
例如 ln -s /home/mysql/data/my.sock /tmp/mysql.sock
六 。
標籤: mysql忘記密碼 2017-01-21 09:55 387人閱讀 評論(0) 收藏 舉報1.vi /etc/my.cnf
2.在[mysqld]中新增
skip-grant-tables
例如:
[mysqld]
skip-grant-tables
datadir=/var/lib/MySQL
socket=/var/lib/mysql/mysql.sock
3.重啟mysql
service mysql restart
4.使用者無密碼登入
mysql -uroot -p (直接點選回車,密碼為空)
5.選擇資料庫
use mysql;
6.修改root密碼
update user set authentication_string=password('123456') where user='root';
7.執行
flush privileges;
8.退出
exit;
9.刪除
skip-grant-tables
10.重啟mysql
service mysql restart
參考:http://www.jb51.NET/article/100211.htm
相關推薦
linux mysql5.7.17安裝教程 (多個文件參考安裝,安裝和用命令按自己的MySQL目錄)
一 。(這個為主,其他檔案輔助解決問題)MySQL是Oracle旗下的一個關係型資料庫,也是目前行業內用的較多的資料庫之一,使用起來非常方便。在Linux下安裝MySQL與Windows略有不同,在Linux下會涉及到使用者建立、許可權、開機自啟等問題。下面看看我
多個文件上傳,一般處理程序
hit lalala -s mar percent num isp 磁盤 button <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title&
Linux系統目錄結構,文件類型,ls和alias命令
目錄 文件結構 ls alias Linux系統的目錄結構 根目錄/ 頂點,其它所有的目錄都在根下。根下面的目錄及子目錄是一個有層次的樹狀結構,很像一顆倒掛著的樹。Linux的目錄結構和磁盤分區是分離的。 根目錄 /bin 存放二進制的命令,一般是普通用戶所使用的命令 /boot 存放系統引導
Linux學習7-一個tomcat部署多個專案(多個埠)
前言 前面已經在tomcat上搭建了jenkins的環境,如果我們有多個專案需要部署的話,如何在一個tomcat下部署多個專案呢? 前面是直接在:8080/jenkins訪問的,如果有其它專案部署的話,可以新開一個埠,讓新的專案訪問另外一個埠就行了 修改server.xml tomcat的配置檔案在/u
Linux Centos 刪除除某(多)個文件之外的所有文件
但是 交互式 inux 空串 初始化 lsp echo 搜索 當前目錄 通常我們通過rm -rf *可以直接強制刪除當前文件夾裏面的所有內容,但是有些時候我們需要保留一些文件,就比如,網站轉移更新需要保留程序壓縮包等就需要用到在linux centos環境下需要刪除除某(
將PDF文件拆分成多個文件的教程
進度 1.5 方便 按鈕 播放 網址 tex 添加 保存 畢業的大學生都要寫論文,這是很重要的一個環節,但是論文不像我們平時編輯資料一樣,只要差不多就可以交,但是論文不一樣。我們到網上采集資料的時候,都是都是PDF格式的文件偏多,所以我們的就很苦惱,下載之後也不能使用。當時
c++多個文件中如何共用一個全局變量
calc 其它 pop 例子 頭文件 標準 關鍵字 word sin 例子: 頭文件:state.h 源文件:state.cpp 其它源文件:t1.cpp t2.cpp t3.cpp, 這些源文件都包含頭文件state.h。 需要定義一個全局變量
在vi中打開多個文件,復制一個文件中多行到另一個文件中
class pan 上一個 復制 family clas font style -s :set number 查看行號1、vi a.txt b.txt或者vi *.txt 2、文件間切換 :n切換到下一個文件,:wn保存再切換 :N到上一個文件,:wN保存再切換 :.=看當
shell之使用paste命令按列拼接多個文件
rdquo 指定 esql res postgre rac 內容 參數 cat 試驗文件: [[email protected]/* */ shell-script]# cat text1.txt 1 2 3 4 5 [[email p
struts2學習(14)struts2文件上傳和下載(4)多個文件上傳和下載
sym ring spl out urn ide http iso length 四、多個文件上傳: 五、struts2文件下載: 多個文件上傳action com.cy.action.FilesUploadAction.java: package com.cy.a
使用gcc命令編譯多個文件
生成 src cloud 多個 .bat pan del 準備 後綴名 使用g++命令直接一次性編譯多個文件 這裏以簡單的HelloWorld程序為例,假設我們一共有三個文件:main.cpp,HelloWorld.cpp和HelloWorld.h. 其中HelloWo
shell遍歷多個文件夾並進行批量修改文件名
多個 hang img style 問題 abc 修改文件 jpg 圖片 問題:將圖片名中的ing_變為0。 當前目錄下:$ ls pic,change_name.sh pic/ |__kk1/ |__img_001.jpg
php多個文件上傳
ctype Enctype 上傳 put 文件上傳 php form part input 表單如下 <form class="form-horizontal" action="{:U(‘System/addAdvert‘)}" method="POST" enct
springMvc接受單個文件,多個文件,多組文件
files ont orm art form style 是否 cnblogs pre web端 <form id="iconForm" enctype="multipart/form-data"></form> JS:通過ajaxSubmit提
input:file 選擇多個文件 用FileReader讀取為二進制
tails csdn type event對象 進制 調用 upload chan change 1.http://blog.csdn.net/jackfrued/article/details/8967667 關於FileReader的詳細API 2.關於<inpu
一個mapreduce同時加載讀取多個文件的代碼部分
resource blog efi [1] buffer sort family protect rri 方法一: a.第一步:在job中加載兩個文件所在的位置 FileInputFormat.setInputPaths(job, new Pa
OFFICE 打開的多個文件之間側換問題
gedit explore exce 以管理員身份運行 打開 win alt+ 管理員 問題 打開的多個excel文件,快捷鍵Alt+tab 切換時需要按兩次鍵, 修改為一次方法如下: 創建一個.reg文件, 內容如下: REGEDIT4 [HKEY_CURRENT_US
java修改多個文件的名字
ack import 分享 new name lis 使用 es2017 com 其實就是三步 第一個先把需要的文件類型,什麽文件找到 file2.getName().endsWith(".txt") 可以通過.txt的後綴名去判斷要什麽文件 第二步 File f
一次下載多個文件
itl cnblogs script log logs html 文件 download nload 一次下載多個文件 JavaScript多文件下載一次下載多個文件
上傳多個文件
sda str type reat doc nts else if pre targe 上傳多個文件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">