Linux下安装MySQL 8.0
1、切換到/usr/soft
注:本人比較喜歡將需要安裝的軟件放到/usr/soft下面,如果沒(méi)有soft文件夾可以,創(chuàng)建一個(gè) mkdir soft?
cd?/usr/soft2、下載mysql8.0安裝包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz如果下載不了可以通過(guò)此鏈接下載:mysql8.0.20安裝包下載
3、解壓mysql8.0安裝包
tar -xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz4、 重命名解壓出來(lái)的文件夾,這里改成mysql8.0.20
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql8.0.205、在/usr/soft/mysql8.0.20文件夾里面創(chuàng)建data文件夾,用來(lái)存放數(shù)據(jù)庫(kù)文件
mkdir data6、分別創(chuàng)建MySQL的用戶(hù)組和用戶(hù)名(如果提示已存在說(shuō)明之前有創(chuàng)建過(guò)了)
#創(chuàng)建用戶(hù)組 groupadd mysql#創(chuàng)建用戶(hù) useradd -g mysql mysql7、授權(quán)剛剛新建的用戶(hù)
#-R 處理指定目錄以及其子目錄下的所有文件 chown -R mysql.mysql /usr/soft/mysql8.0.20chmod 750 /usr/soft/mysql8.0.20/data -R?注:需要了解chmod 750的意思可以查看另一篇博客:linux chmod 755 ,750,777_feritylamb的博客-CSDN博客
8、配置環(huán)境,編輯/etc/profile文件
vim /etc/profile在最后一行加
export PATH=$PATH:/usr/soft/mysql8.0.20/bin:/usr/soft/mysql8.0.20/lib,然后按ESC,輸入:wq回車(chē)保存
9、編輯my.cnf文件
vim /etc/my.cnf?按下面復(fù)制進(jìn)去就好了,#號(hào)開(kāi)頭的不用管,一樣,添加完之后,換行,打出“:wq”,用來(lái)保存文件并退出
[mysql] default-character-set=utf8mb4 socket=/var/lib/mysql/mysql.socket[client] port=3306 socket=/var/lib/mysql/mysql.socket [mysqld] port=3306 server-id=3306 user=mysql general_log=1 general_log_file=/var/log/mysql/mysql.log #如果系統(tǒng)中不存在需要自己創(chuàng)建 socket=/var/lib/mysql/mysql.socket basedir=/usr/soft/mysql8.0.20 datadir=/usr/soft/mysql8.0.20/data log-bin=/usr/soft/mysql8.0.20/data/mysql-bin innodb_data_home_dir=/usr/soft/mysql8.0.20/data innodb_log_group_home_dir=/usr/soft/mysql8.0.20/data/ character-set-server=utf8mb4 lower_case_table_names=1 autocommit=1 symbolic-links=0 default_authentication_plugin=mysql_native_password[mysqld_safe] log-error=/usr/soft/mysql8.0.20/data/mysql.log pid-file=/usr/soft/mysql8.0.20/data/mysql.pid10、切換到/usr/soft/mysql8.0.20/bin目錄下?
cd bin11、?初始化基礎(chǔ)信息,得到數(shù)據(jù)庫(kù)的初始密碼(在/usr/soft/mysql8.0.20/bin目錄下執(zhí)行)
./mysqld --user=mysql --basedir=/usr/soft/mysql8.0.20 --datadir=/usr/soft/mysql8.0.20/data/ --initialize注:
該命令執(zhí)行時(shí)會(huì)有?mysqld: File '/var/log/mysql/mysql.log' not found (OS errno 13 - Permission denied) 的錯(cuò)誤,這個(gè)錯(cuò)誤處理的方式是,首先查看/var/log/mysql文件夾是否存在,如果不存在則創(chuàng)建一個(gè),然后將創(chuàng)建的文件夾授權(quán)給mysql賬戶(hù)(命令:chown -R mysql:mysql /var/log/mysql/)
執(zhí)行命令提示(mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory)這個(gè)錯(cuò)誤,是由于內(nèi)容缺少了libaio.so.1的依賴(lài)庫(kù),所以進(jìn)行安裝
?yum?install -y libaio??
安裝成功以后即可正常啟動(dòng)了。
chown -R mysql.mysql /var/log/mysqlchmod 750 /var/log/mysql -R如圖,復(fù)制出紅框的初始密碼,保存到本地,后面需要使用到
注意:如果因?yàn)槁窂降雀鞣N問(wèn)題需要重新初始化的,需要清空上面創(chuàng)建的data文件,在data所在的目錄下使用 rm -rf data 命令?
12、復(fù)制 mysql.server 文件,在/usr/soft/mysql8.0.20目錄下執(zhí)行
cp -a ./support-files/mysql.server /etc/init.d/mysql cp -a ./support-files/mysql.server /etc/init.d/mysqld13、賦予權(quán)限
chown 777 /etc/my.cnf chmod +x /etc/init.d/mysql chmod +x /etc/init.d/mysqld14、檢查一下/var/lib/mysql是否存在,否則進(jìn)行創(chuàng)建
mkdir /var/lib/mysql #再賦予權(quán)限 chown -R mysql:mysql /var/lib/mysql/15、啟動(dòng)數(shù)據(jù)庫(kù),有SUCCESS字眼說(shuō)明MySQL安裝完成
service mysql start?注意:如果發(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)
16、修改數(shù)據(jù)庫(kù)root賬號(hào)的密碼,并設(shè)置可以遠(yuǎn)程訪問(wèn)(因?yàn)閞oot默認(rèn)是不能遠(yuǎn)程訪問(wèn)的)
#修改數(shù)據(jù)庫(kù)root賬號(hào)的密碼,并設(shè)置可以遠(yuǎn)程訪問(wèn)(因?yàn)閞oot默認(rèn)是不能遠(yuǎn)程訪問(wèn)的) ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';#選擇數(shù)據(jù)庫(kù) use mysql;#再修改遠(yuǎn)程連接并生效 update user set host='%' where user='root';#執(zhí)行提交命令,搞定! flush privileges;?17、設(shè)置開(kāi)機(jī)啟動(dòng)
?(1)進(jìn)入mysql安裝目錄
cd /usr/soft/mysql8.0.20(2)我們?cè)O(shè)置開(kāi)機(jī)啟動(dòng)需要將mysql.server 文件復(fù)制到 /etc/rc.d/init.d/ 目錄下mysql 文件 我們的mysql.server 文件一般都在安裝的根目錄下的 support-files 目錄下?
cp ./support-files/mysql.server /etc/rc.d/init.d/mysql(3)?復(fù)制成功后我們需要給賦予權(quán)限
chmod +x /etc/init.d/mysql(4)?添加為服務(wù)
chkconfig --add mysql?(5)查看服務(wù)列表
chkconfig --list看到3、4、5狀態(tài)為開(kāi)或者為 on 則表示成功。 如果是 關(guān)或者 off 則執(zhí)行一下?
chkconfig --level 345 mysqld on最后reboot重啟計(jì)算機(jī)試試效果?
?我在啟動(dòng)的時(shí)候會(huì)提示,ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 的錯(cuò)誤,原因時(shí)在/etc/my.cnf文件中【mysql】中沒(méi)有加上? socket=/var/lib/mysql/mysql.socket? ,導(dǎo)致的最后加上這個(gè)語(yǔ)句,然后重啟就解決問(wèn)題了。
最后就可以使用root賬號(hào)去登錄mysql了。如果有遇到問(wèn)題的小伙伴評(píng)論留言,文中如有遺漏錯(cuò)誤,歡迎指正。?
題外:
給mysql創(chuàng)建新的數(shù)據(jù)庫(kù)用戶(hù)并授予權(quán)限
mysql8.0版本的數(shù)據(jù)庫(kù)需要用nacicat連接時(shí),建議使用最新版本的nacicat,我使用的11.1.13
版本無(wú)法連接,但是使用navicat16.0.11版本可以連接
總結(jié)
以上是生活随笔為你收集整理的Linux下安装MySQL 8.0的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 非金融专业是否能报考CFA考试?
- 下一篇: 消费者行为学的典型营销案例