如何在Ubuntu Linux上安裝 MySQL 8.0

繼MySQL 5.7之后扇单,直接跳到了MySQL 8.0换可,官方說(shuō)這次來(lái)了個(gè)大升級(jí)椎椰,其他的不說(shuō),就訪問(wèn)速度是5.7的2倍沾鳄,因此我也嘗試安裝使用慨飘,根據(jù)官方文檔,下面是安裝的過(guò)程

一译荞、工具

Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-117-generic x86_64)

MySQL Community Server 8.0.15

二瓤的、安裝過(guò)程

1、下載安裝包

選擇的是Linux 64位通用的二級(jí)制版本吞歼,這樣不在需要進(jìn)行編譯安裝圈膏,系統(tǒng)安裝依賴庫(kù)后就可以直接使用。


image
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz

2篙骡、解壓

解壓之后將軟件包移動(dòng)到系統(tǒng)中的/usr/local目錄稽坤,并命名為mysql

xz -d mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar
mv mysql-8.0.15-linux-glibc2.12-x86_64 /usr/local/mysql

3丈甸、安裝依賴庫(kù)

官方說(shuō)要安裝libaio,但實(shí)際如果你安裝libaio庫(kù)的話不行尿褪,還需安裝numactl庫(kù)睦擂,如下

apt install numactl
apt install libaio-dev

4、 添加用戶茫多、設(shè)置權(quán)限

groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /usr/local
cd mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files

5、初始化數(shù)據(jù)庫(kù)

bin/mysqld --initialize --user=mysql

可以看到系統(tǒng)隨機(jī)給root用戶分配了一個(gè)密碼忽刽,這個(gè)密碼(hO:(?ug?S3yt)要記住天揖,想要自定義過(guò)后可以再改

如下所示,密碼在第三行 A temporary password is generated for root@localhost: hO:(?ug?S3yt

2019-04-01T12:12:57 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.15) initializing of server in progress as process 7393
2019-04-01T12:12:57 0 [Warning] [MY-010122] [Server] One can only use the --user switch if running as root
2019-04-01T12:12:57 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: hO:(?ug?S3yt
2019-04-01T12:12:57 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.15) initializing of server has completed

6跪帝、安裝SSL服務(wù)

執(zhí)行安裝命令之前先安裝openssl今膊,不然會(huì)報(bào)錯(cuò)

apt install openssl
bin/mysql_ssl_rsa_setup

7、 復(fù)制服務(wù)文件

cp support-files/mysql.server /etc/init.d/mysql.server

三伞剑、使用MySQL 8.0.15

1斑唬、開(kāi)啟服務(wù)

&是后臺(tái)運(yùn)行的意思,執(zhí)行命令之后黎泣,終端會(huì)卡在一個(gè)位置恕刘,再按一下Enter即可

bin/mysqld_safe --user=mysql &

2、 使用用戶root登錄

使用剛才隨機(jī)生成的密碼抒倚,即可計(jì)入數(shù)據(jù)庫(kù)

bin/mysql -uroot -p

3褐着、更改root用戶密碼

第一次使用隨機(jī)登錄并不能使用,因此我們需要更改密碼托呕,如下

(1)含蓉、 方案一:限制本地登錄

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
flush privileges;

(2)、 方案二:可以任意IP與第三方客戶端登錄

ALTER USER 'root'@'localhost' IDENTIFIED BY '密碼' PASSWORD EXPIRE NEVER;    #修改root的密碼與加密方式
use mysql;   #切換到mysql庫(kù)
update user set host='%' where user = 'root';   #更改可以登錄的IP為任意IP
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼'; #再次更改root用戶密碼项郊,使其可以在任意IP訪問(wèn)
flush privileges;    #刷新權(quán)限

更改好之后馅扣,退出,并使用新密碼重新登錄着降,再次查看數(shù)據(jù)庫(kù)差油,可以看到可以使用了


image

到這里,MySQL 8.0.15 安裝結(jié)束

MySql的配置

1任洞、配置文件

vim my.cnf

[mysqld]                                            #服務(wù)端基本設(shè)置
port = 3307                                         #MySQL監(jiān)聽(tīng)端口
basedir=/usr/local/mysql                            #使用該目錄作為根目錄(安裝目錄)
datadir=/media/bear/D/DATA                          #數(shù)據(jù)文件存放的目錄
socket=/var/lib/mysql/mysql.sock                    #(默認(rèn))為MySQL客戶端程序和服務(wù)器之間的本地通訊指定一個(gè)套接字文件
user=mysql                                          #MySQL啟動(dòng)用戶
character_set_server = utf8mb4                      #服務(wù)端默認(rèn)編碼(數(shù)據(jù)庫(kù)級(jí)別)
collation_server = utf8mb4_bin                      #服務(wù)端默認(rèn)的比對(duì)規(guī)則厌殉,排序規(guī)則
pid-file=/var/run/mysqld/mysqld.pid                 #(默認(rèn))進(jìn)程文件所在目錄
log-error=/var/log/mysql/error.log                  #(默認(rèn))錯(cuò)誤日志地址
sudo cp ./my.cnf /etc/mysql/my.cnf                  #copy至mysql的配置文件目錄

2、創(chuàng)建進(jìn)程文件目錄

mkdir /var/run/mysqld
chown mysql /var/run/mysqld/ -R

3侈咕、 賦予日志目錄的寫(xiě)權(quán)限

sudo chmod 757 /var/run/mysqld/

4公罕、 設(shè)置環(huán)境變量

echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin" >> /etc/profile
source  /etc/profile

5、mysql開(kāi)機(jī)自啟動(dòng)

1耀销、 預(yù)使mysql開(kāi)機(jī)自啟動(dòng)楼眷,首先需要注冊(cè)mysql為ubuntu下的服務(wù)铲汪。

直接拷貝mysql.server文件至/etc/init.d/目錄下即可。

sudo cp $MYSQL_HOME/support-files/mysql.server /etc/init.d/mysql.server
sudo chmod +x /etc/init.d/mysql.server

2. 修改my.cnf罐柳,指定mysql的啟動(dòng)用戶

定義:命令1=./mysql.server start –user=\color{red}{user1}掌腰,命令2=./mysql.server start。(注意张吉,命令1齿梁、2的區(qū)別在于紅色部分)

在編譯安裝mysql的過(guò)程中,若執(zhí)行configure命令時(shí)指定“–user=user1”參數(shù)肮蛹,則mysql將由用戶user1啟動(dòng)勺择,在mysql.server文件中會(huì)有“user=user1”這樣一行來(lái)指定mysql的啟動(dòng)用戶,但該行指定的啟動(dòng)用戶并未生效伦忠。即省核,需要使用命令1來(lái)啟動(dòng)mysql,命令2啟動(dòng)失敗昆码。

為了使命令2生效气忠,同時(shí)為了mysql開(kāi)機(jī)自啟動(dòng),需要修改my.cnf赋咽,在[mysqld]區(qū)塊下添加“user=user1”這樣一行旧噪。如此,便可使用命令2啟動(dòng)mysql脓匿,mysql也可以成功開(kāi)機(jī)自啟動(dòng)舌菜。

3. 設(shè)置mysql開(kāi)機(jī)自啟動(dòng)

讓mysql開(kāi)機(jī)自己?jiǎn)?dòng)

sudo update-rc.d -f mysql.server defaults  

如果不想讓mysql開(kāi)機(jī)自己?jiǎn)?dòng),可以使用

sudo update-rc.d -f mysql.server remove  

4. 服務(wù)的使用

啟動(dòng)mysql:service mysql.server start亦镶;

停止mysql:service mysql.server stop日月;

查看mysql運(yùn)行狀態(tài):service mysql.server status。

另外缤骨,要確保mysql啟動(dòng)用戶user1對(duì)$MYSQL_HOME具有讀寫(xiě)權(quán)限爱咬,否則會(huì)因權(quán)限問(wèn)題導(dǎo)致mysql啟動(dòng)失敗。

(若無(wú)法啟動(dòng) 可考慮加上sudo)

補(bǔ)充

Ubuntu 取消 Apache及MySQL等自啟動(dòng)

1. 裝個(gè) sysv-conf-rc

2. sudo update-rc.d -f mysql remove 刪除mysql隨機(jī)器啟動(dòng)的服務(wù)

sudo update-rc.d -f apache2 remove 刪除apache2隨機(jī)器啟動(dòng)的服務(wù)

3. 查看/etc/rc2.d/里面的apache和mysql啟動(dòng)腳本绊起,通常都是兩個(gè)阿拉伯?dāng)?shù)字后再接一個(gè)英文字母精拟,再加腳本名稱。英文字母是S的都是會(huì)自動(dòng)啟動(dòng)的虱歪,K則相反蜂绎。所以只要找到apache和mysql的啟動(dòng)腳本,把S改成K就可以了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末笋鄙,一起剝皮案震驚了整個(gè)濱河市师枣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌萧落,老刑警劉巖践美,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洗贰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡陨倡,警方通過(guò)查閱死者的電腦和手機(jī)敛滋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)兴革,“玉大人绎晃,你說(shuō)我怎么就攤上這事≡忧” “怎么了庶艾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)解阅。 經(jīng)常有香客問(wèn)我落竹,道長(zhǎng)泌霍,這世上最難降的妖魔是什么货抄? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮朱转,結(jié)果婚禮上蟹地,老公的妹妹穿的比我還像新娘。我一直安慰自己藤为,他們只是感情好怪与,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著缅疟,像睡著了一般分别。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上存淫,一...
    開(kāi)封第一講書(shū)人閱讀 51,598評(píng)論 1 305
  • 那天耘斩,我揣著相機(jī)與錄音,去河邊找鬼桅咆。 笑死括授,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的岩饼。 我是一名探鬼主播荚虚,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼籍茧!你這毒婦竟也來(lái)了版述?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤寞冯,失蹤者是張志新(化名)和其女友劉穎院水,沒(méi)想到半個(gè)月后腊徙,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡檬某,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年撬腾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恢恼。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡民傻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出场斑,到底是詐尸還是另有隱情漓踢,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布漏隐,位于F島的核電站喧半,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏青责。R本人自食惡果不足惜挺据,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脖隶。 院中可真熱鬧扁耐,春花似錦、人聲如沸产阱。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)构蹬。三九已至王暗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間庄敛,已是汗流浹背俗壹。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铐姚,地道東北人策肝。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像隐绵,于是被迫代替她去往敵國(guó)和親之众。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355