環(huán)境
1、系統(tǒng)版本:Ubuntu16.04 Linux 64位
2、數(shù)據(jù)庫(kù)版本:二進(jìn)制版本MySQL 8.0.13,下載地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-i686.tar.xz
1、進(jìn)入https://dev.mysql.com/downloads/mysql/认境,左菜單選擇MySQL Community Server 然后右邊選擇Select Operating System:Linux Generic,因?yàn)槲覀兪?4位系統(tǒng)挟鸠,所以選擇第二個(gè)(查看當(dāng)前版本是32位還是64位命令:uname -m?如果顯示i686,你安裝了32位操作系統(tǒng)叉信,如果顯示?x86_64,你安裝了64位操作系統(tǒng))
2艘希、手動(dòng)下載硼身,然后通過(guò)xftp上傳到 /usr/local目錄
3、開(kāi)始準(zhǔn)備安裝工作
a覆享、MySQL依賴于libaio庫(kù)佳遂。如果此庫(kù)不在本地安裝,則數(shù)據(jù)目錄初始化和隨后的服務(wù)器啟動(dòng)步驟將失敗撒顿。如果需要丑罪,請(qǐng)使用適當(dāng)?shù)陌芾砥靼惭b它。例如凤壁,基于云計(jì)算的系統(tǒng):
hell> apt-cache search libaio # search for info?
shell> apt-get install libaio1 # install library??
b吩屹、 創(chuàng)建一個(gè)mysql用戶和組:
shell> groupadd mysql?
shell> useradd -r -g mysql -s /bin/false mysql??
c、 獲取并解壓分發(fā)包:
shell> cd /usr/local
shell> tar xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
d客扎、 創(chuàng)建一個(gè)到tar創(chuàng)建的安裝目錄的符號(hào)鏈接:
shell> ln -s mysql-8.0.13-linux-glibc2.12-x86_64 mysql
e祟峦、 為了避免在使用MySQL時(shí)必須鍵入客戶程序的路徑名罚斗,可以將/usr/local/mysql/bin目錄添加到路徑變量:
shell> export PATH=$PATH:/usr/local/mysql/bin
f徙鱼、 創(chuàng)建一個(gè)目錄,其位置可以提供給secure_file_priv系統(tǒng)變量针姿, 將目錄的所有權(quán)授予mysql用戶袱吆,將組的所有權(quán)授予mysql組,并為目錄設(shè)置正確的權(quán)限 :
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
g距淫、 初始化數(shù)據(jù)目錄绞绒,包括mysql數(shù)據(jù)庫(kù),其中包含確定用戶如何被允許連接到服務(wù)器的初始mysql grant表榕暇,執(zhí)行成功會(huì)有輸出(A temporary password is generated for root@localhost: z+sSBqkDt1uq蓬衡,后面是密碼第一次登陸有用):
shell> bin/mysqld --initialize --user=mysql
數(shù)據(jù)目錄的初始化可能會(huì)失敗喻杈,因?yàn)橄到y(tǒng)中缺少一些必需的軟件庫(kù)。例如:
shell> bin/mysqld --initialize --user=mysql
?bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory? 那就需要先執(zhí)行:
shell> bin/mysql_ssl_rsa_setup?
下一個(gè)命令是可選的 :
shell> cp support-files/mysql.server /etc/init.d/mysql.server?
4狰晚、啟動(dòng)數(shù)據(jù)庫(kù)筒饰,并配置遠(yuǎn)程
a、開(kāi)啟服務(wù)&是后臺(tái)運(yùn)行的意思壁晒,執(zhí)行命令之后瓷们,終端會(huì)卡在一個(gè)位置,再按一下Enter即可:
bin/mysqld_safe --user=mysql &
b秒咐、 使用用戶root登錄使用剛才隨機(jī)生成的密碼谬晕,即可計(jì)入數(shù)據(jù)庫(kù):
bin/mysql -uroot -p
c、更改root用戶密碼第一次使用隨機(jī)登錄并不能使用携取,因此我們需要更改密碼攒钳,如下
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼'; flush privileges;
d、使root能遠(yuǎn)程登錄雷滋、分兩步必須的:
? ? 1夕玩、update user set host='%' where user = 'root'; #更改可以登錄的IP為任意IP
? ? 2、 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼'; #再次更改root用戶密碼惊豺,使其可以在任意IP訪問(wèn)
? ? 3燎孟、最后再執(zhí)行刷新語(yǔ)句: flush privileges; #刷新權(quán)限
e、如果創(chuàng)建新用戶尸昧,并允許遠(yuǎn)程( mysql_native_password是加密方式揩页,很關(guān)鍵,有了它 Navicat 才能連接):
? ? 1烹俗、CREATE USER '用戶名'@'host名稱' IDENTIFIED WITH mysql_native_password BY '密碼';?
? ? 2爆侣、 GRANT ALL PRIVILEGES ON *.* TO '用戶名'@'host名稱';
? ? 3、 FLUSH PRIVILEGES幢妄。