日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Linux下安装MySQL 8.0

發布時間:2023/12/20 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下安装MySQL 8.0 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、切換到/usr/soft

注:本人比較喜歡將需要安裝的軟件放到/usr/soft下面,如果沒有soft文件夾可以,創建一個 mkdir soft?

cd?/usr/soft

2、下載mysql8.0安裝包

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

如果下載不了可以通過此鏈接下載:mysql8.0.20安裝包下載

3、解壓mysql8.0安裝包

tar -xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

4、 重命名解壓出來的文件夾,這里改成mysql8.0.20

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql8.0.20

5、在/usr/soft/mysql8.0.20文件夾里面創建data文件夾,用來存放數據庫文件

mkdir data

6、分別創建MySQL的用戶組和用戶名(如果提示已存在說明之前有創建過了)

#創建用戶組 groupadd mysql#創建用戶 useradd -g mysql mysql

7、授權剛剛新建的用戶

#-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、配置環境,編輯/etc/profile文件

vim /etc/profile

在最后一行加
export PATH=$PATH:/usr/soft/mysql8.0.20/bin:/usr/soft/mysql8.0.20/lib,然后按ESC,輸入:wq回車保存

9、編輯my.cnf文件

vim /etc/my.cnf

?按下面復制進去就好了,#號開頭的不用管,一樣,添加完之后,換行,打出“:wq”,用來保存文件并退出

[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 #如果系統中不存在需要自己創建 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.pid

10、切換到/usr/soft/mysql8.0.20/bin目錄下?

cd bin

11、?初始化基礎信息,得到數據庫的初始密碼(在/usr/soft/mysql8.0.20/bin目錄下執行)

./mysqld --user=mysql --basedir=/usr/soft/mysql8.0.20 --datadir=/usr/soft/mysql8.0.20/data/ --initialize

注:
該命令執行時會有?mysqld: File '/var/log/mysql/mysql.log' not found (OS errno 13 - Permission denied) 的錯誤,這個錯誤處理的方式是,首先查看/var/log/mysql文件夾是否存在,如果不存在則創建一個,然后將創建的文件夾授權給mysql賬戶(命令:chown -R mysql:mysql /var/log/mysql/

執行命令提示(mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory)這個錯誤,是由于內容缺少了libaio.so.1的依賴庫,所以進行安裝

?yum?install -y libaio??

安裝成功以后即可正常啟動了。

chown -R mysql.mysql /var/log/mysqlchmod 750 /var/log/mysql -R

如圖,復制出紅框的初始密碼,保存到本地,后面需要使用到

注意:如果因為路徑等各種問題需要重新初始化的,需要清空上面創建的data文件,在data所在的目錄下使用 rm -rf data 命令?

12、復制 mysql.server 文件,在/usr/soft/mysql8.0.20目錄下執行

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

13、賦予權限

chown 777 /etc/my.cnf chmod +x /etc/init.d/mysql chmod +x /etc/init.d/mysqld

14、檢查一下/var/lib/mysql是否存在,否則進行創建

mkdir /var/lib/mysql #再賦予權限 chown -R mysql:mysql /var/lib/mysql/

15、啟動數據庫,有SUCCESS字眼說明MySQL安裝完成

service mysql start

?注意:如果發現啟動失敗,可以先查看data里面的mysql.log,如果有提示3306這樣的字樣,第一個想到的應該是端口被占用,使用lsof -i:端口號,查看是哪個PID(進程號)占用了該端口,然后使用kill PID(進程號)殺掉進程,重新執行service mysql start

修改密碼,并設置遠程連接(為了可以在別的機器下面連接該mysql)

16、修改數據庫root賬號的密碼,并設置可以遠程訪問(因為root默認是不能遠程訪問的)

#修改數據庫root賬號的密碼,并設置可以遠程訪問(因為root默認是不能遠程訪問的) ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';#選擇數據庫 use mysql;#再修改遠程連接并生效 update user set host='%' where user='root';#執行提交命令,搞定! flush privileges;

?17、設置開機啟動

?(1)進入mysql安裝目錄

cd /usr/soft/mysql8.0.20

(2)我們設置開機啟動需要將mysql.server 文件復制到 /etc/rc.d/init.d/ 目錄下mysql 文件 我們的mysql.server 文件一般都在安裝的根目錄下的 support-files 目錄下?

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

(3)?復制成功后我們需要給賦予權限

chmod +x /etc/init.d/mysql

(4)?添加為服務

chkconfig --add mysql

?(5)查看服務列表

chkconfig --list

看到3、4、5狀態為開或者為 on 則表示成功。 如果是 關或者 off 則執行一下?

chkconfig --level 345 mysqld on

最后reboot重啟計算機試試效果?

?我在啟動的時候會提示,ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 的錯誤,原因時在/etc/my.cnf文件中【mysql】中沒有加上? socket=/var/lib/mysql/mysql.socket? ,導致的最后加上這個語句,然后重啟就解決問題了。

最后就可以使用root賬號去登錄mysql了。如果有遇到問題的小伙伴評論留言,文中如有遺漏錯誤,歡迎指正。?

題外:
給mysql創建新的數據庫用戶并授予權限

1)創建用戶(名稱隨意,這里的用戶名稱為mysql)并可以遠程訪問 CREATE user 'mysql'@'%'; #修改密碼 alter user 'mysql'@'%' identified with mysql_native_password by 'tcl.2021'; 2)創建新的數據庫 #create database 數據庫名 default character set utf8mb4 collate utf8mb4_unicode_ci;3)把新的數據庫授權給新用戶 #將test庫的所有權限賦予mysql用戶 grant all privileges on test.* to "mysql"@"%"; grant all privileges on test.* to "tcl"@"%";4)、刷新權限 flush privileges;

mysql8.0版本的數據庫需要用nacicat連接時,建議使用最新版本的nacicat,我使用的11.1.13

版本無法連接,但是使用navicat16.0.11版本可以連接

總結

以上是生活随笔為你收集整理的Linux下安装MySQL 8.0的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。