Linux環(huán)境下安裝MySQL8.0的完整步驟
前言
搞了一臺(tái)云服務(wù)器,首先要干的活就是得安裝數(shù)據(jù)庫,在Windows下安裝不用說,傻瓜式操作,在Linux上安裝少說要記錄一下。
我使用的是XShell7 ssh 連接工具訪問的Linux,其他工具的用法和命令都一樣,界面如下:
在這里我使用的不是root用戶登錄的,所以先切換到root用戶,命令:su
第一步:下載安裝配置
1.切換到 /usr/local/
cd /usr/local/
2.創(chuàng)建mysql文件夾
mkdir mysql
3.切換到mysql文件夾下
cd mysql
4.下載mysql8.0安裝包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
等待下載成功
5.解壓mysql8.0安裝包
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
6.重命名解壓出來的文件夾,這里改成mysql-8.0
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0
7.. /use/local/mysql-8.0文件夾下創(chuàng)建data文件夾 存儲(chǔ)文件
mkdir data
8.分別創(chuàng)建用戶組以及用戶和密碼(如果提示已存在說明之前有創(chuàng)建過了)
groupadd mysql useradd -g mysql mysql
9.授權(quán)剛剛新建的用戶
chown -R mysql.mysql /usr/local/mysql/mysql-8.0 chmod 750 /usr/local/mysql/mysql-8.0/data -R
10.配置環(huán)境,編輯/etc/profile文件
注意:這里有一個(gè)坑,在配置完環(huán)境變量后,需要執(zhí)行sourc /etc/profile命令,使配置文件生效
vim /etc/profile #-------------------------- #點(diǎn)擊鍵盤上的i鍵,進(jìn)入輸入模式,在配置文件最后增加一行: #-------------------------- export PATH=$PATH:/usr/local/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib #添加完成后,按Esc鍵退出輸入模式,進(jìn)入命令模式,輸入:wq,保存并退出 #然后在輸入cat /etc/profile 查看是否保存成功,效果如下:↓↓↓↓↓↓
11.編輯my.cnf文件
vi /etc/my.cnf
[mysql] default-character-set=utf8mb4 [client] #port=3306 socket=/var/lib/mysql/mysql.sock [mysqld] #port=3306 #server-id=3306 user=mysql general_log = 1 general_log_file= /var/log/mysql/mysql.log socket=/var/lib/mysql/mysql.sock basedir=/usr/local/mysql/mysql-8.0 datadir=/usr/local/mysql/mysql-8.0/data log-bin=/usr/local/mysql/mysql-8.0/data/mysql-bin innodb_data_home_dir=/usr/local/mysql/mysql-8.0/data innodb_log_group_home_dir=/usr/local/mysql/mysql-8.0/data/ character-set-server=utf8mb4 lower_case_table_names=1 autocommit=1 default_authentication_plugin=mysql_native_password symbolic-links=0 # Disabling symbolic-links is recommended to prevent assorted security risks # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/usr/local/mysql/mysql-8.0/data/mysql.log pid-file=/usr/local/mysql/mysql-8.0/data/mysql.pid # # include all files from the config directory
12.切換到/usr/local/mysql/mysql-8.0/bin目錄下
cd bin
13.初始化基礎(chǔ)信息,得到數(shù)據(jù)庫的初始密碼(在/usr/local/mysql/mysql-8.0/bin目錄下執(zhí)行)
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql//mysql-8.0/data/ --initialize #初始化完成后,復(fù)制最后的初始密碼,保存下來后面需要(這一步好像并沒有用) #igTn=3j-
14.復(fù)制 mysql.server 文件,在/usr/local/mysql/mysql-8.0目錄下執(zhí)行
cp -a ./support-files/mysql.server /etc/init.d/mysql cp -a ./support-files/mysql.server /etc/init.d/mysqld
15.賦予權(quán)限
chown 777 /etc/my.cnf chmod +x /etc/init.d/mysql chmod +x /etc/init.d/mysqld
16.檢查一下/var/lib/mysql是否存在,否則進(jìn)行創(chuàng)建
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/
17.啟動(dòng)數(shù)據(jù)庫,有SUCCESS字眼說明MySQL安裝完成
service mysql start #出現(xiàn)SUCCESS 說明啟動(dòng)成功,效果圖如下:
ps:
如果發(fā)現(xiàn)啟動(dòng)失敗,可以先查看data里面的mysql.log,如果有提示3306這樣的字樣,第一個(gè)想到的應(yīng)該是端口被占用,使用lsof -i:端口號(hào),查看是哪個(gè)PID(進(jìn)程號(hào))占用了該端口,然后使用kill PID(進(jìn)程號(hào))殺掉進(jìn)程,重新執(zhí)行service mysql start
第二步:修改密碼,并設(shè)置遠(yuǎn)程連接(為了可以在別的機(jī)器下面連接該mysql)
在這一步最開始就浪費(fèi)了我好大的時(shí)間。如果用之前的初始密碼登錄,可能會(huì)出現(xiàn)以下的錯(cuò)誤:
在這一步的時(shí)候,研究了好久,記錄一下處理過程:
- 在 vim /etc/my.cnf文件中,在[mysqld]的段中加上一句:skip-grant-tables --跳過密碼驗(yàn)證
- 然后保存退出,重啟MySQL服務(wù)
- 然后輸入mysql -uroot -p 敲兩下回車,進(jìn)入mysql
- USE mysql ; --進(jìn)入數(shù)據(jù)庫
- 在mysql8.0 中,這個(gè)更新語法不能用UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ; 使用這個(gè):ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密碼’;
- 最后按照下邊的步驟進(jìn)行就可以了。
1.修改數(shù)據(jù)庫root賬號(hào)的密碼,并設(shè)置可以遠(yuǎn)程訪問(因?yàn)閞oot默認(rèn)是不能遠(yuǎn)程訪問的)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
2.執(zhí)行flush privileges; 使密碼生效
flush privileges;#刷新權(quán)限
3.選擇數(shù)據(jù)庫
use mysql;
4.再修改遠(yuǎn)程連接并生效
mysql> create user 'root'@'%' identified by 'password'; Query OK, 0 rows affected (0.03 sec) mysql> grant all privileges on *.* to 'root'@'%' with grant option; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
5.執(zhí)行提交命令,搞定!
flush privileges;#刷新權(quán)限
總結(jié)
到此這篇關(guān)于Linux環(huán)境下安裝MySQL8.0的文章就介紹到這了,更多相關(guān)Linux安裝MySQL8.0內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql刪除數(shù)據(jù)以及數(shù)據(jù)表的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Mysql刪除數(shù)據(jù)以及數(shù)據(jù)表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11MySQL數(shù)據(jù)權(quán)限的實(shí)現(xiàn)詳情
這篇文章主要介紹了MySQL數(shù)據(jù)權(quán)限的實(shí)現(xiàn)詳情,文章通過實(shí)際案例,從代碼實(shí)戰(zhàn)的角度來實(shí)現(xiàn)這樣的一個(gè)數(shù)據(jù)權(quán)限。具體詳細(xì)介紹,具有一定的參考價(jià)值2022-08-08mysql使用xtrbackup+relaylog增量恢復(fù)注意事項(xiàng)
這篇文章主要介紹了mysql使用xtrbackup+relaylog增量恢復(fù),本次實(shí)驗(yàn)mysql5.7.19.使用了GTID,row格式的binlog,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05MySQL綠色版設(shè)置編碼以及1067錯(cuò)誤詳解
這篇文章主要介紹了MySQL綠色版設(shè)置編碼,以及1067錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下2017-05-05MySQL數(shù)據(jù)庫簡(jiǎn)介與基本操作
這篇文章介紹了MySQL數(shù)據(jù)庫與其基本操作,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05美團(tuán)DB數(shù)據(jù)同步到數(shù)據(jù)倉庫的架構(gòu)與實(shí)踐
今天小編就為大家分享一篇關(guān)于美團(tuán)DB數(shù)據(jù)同步到數(shù)據(jù)倉庫的架構(gòu)與實(shí)踐,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02