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

歡迎訪問 生活随笔!

生活随笔

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

数据库

centos7安装mysql5.7.24版本

發布時間:2025/1/21 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos7安装mysql5.7.24版本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考:文章正在審核中... - 簡書

#1.先檢查是否有安裝過mysql

rpm -e mysql

#2.檢查有沒有安裝,如有則刪除?

rpm -qa | grep mysql

#3.卸載MariaDB

如果直接點擊rpm包安裝會得到錯誤提示。因為CentOS的默認數據庫已經不再是MySQL了,而是MariaDB,為什么呢?

MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL后,有將MySQL閉源的潛在風險,因此社區采用分支的方式來避開這個風險。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。

查看當前安裝的mariadb包:

rpm -qa | grep mariadb

將它們統統強制性卸載掉:

rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

再次查詢的時候就已經沒有了

#4.現在開始正式安裝了

到這里要達到的目的:centos 7 里面沒有安裝mysql mariadb 純凈的 下面開始正式安裝

#5.安裝依賴包

yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel

#6.下載mysql

MySQL :: Download MySQL Community Server

在/opt目錄下下載mysql(將/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz放到 /opt 文件夾下)

wget https://downloads.mysql.com/archives/get/file/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

#7.創建mysql用戶組

groupadd mysql

#8.在mysql用戶組下創建用戶mysql

useradd mysql -g mysql

#9.解壓mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

然后把mysql-5.7.24-linux-glibc2.12-x86_64名稱修改為mysql

mv mysql-5.7.24-linux-glibc2.12-x86_64/ mysql

把mysql移到/usr/local/ 目錄下

mv mysql /usr/local/

在/usr/local/mysql下創建data目錄

mkdir /usr/local/mysql/data

#10.將mysql目錄及下面的文件、子目錄文件主改成mysql

chown -R mysql:mysql mysql/

?#11.給與mysql目錄及下面的文件、子目錄755權限

chmod -R 755 mysql/

#12.編譯安裝并初始化mysql,記住命令行末尾的密碼?

/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

紅色部分是初始化密碼,需要記住? l3=I-*3Aa9T,

#13.啟動mysql服務

/usr/local/mysql/support-files/mysql.server start

#14.做個軟連接,重啟mysql服務

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

重啟命令:

service mysql restart

#15.做個軟鏈接,將安裝目錄下的mysql 放在/usr/bin 目錄下

ln -s /usr/local/mysql/bin/mysql /usr/bin

注意:該鏈接的作用就是,可以在全局范圍內都可以使用mysql命令?

#16.登錄msyql,輸入密碼(密碼為步驟11初始化生成的密碼)

mysql -u root -p

#17.修改密碼為123456

alter user 'root'@'localhost' identified by '123456';use mysql;update user set user.Host='%' where user.User='root';flush privileges;quit

#18.編輯my.cnf,添加配置文件,配置內容為

vi /usr/local/mysql/my.cnf

添加如下內容進行

[mysqld] port = 3306lower_case_table_names=1 character_set_server=utf8#中國標準時間, 會輸出08:00 default-time_zone = '+8:00'default-storage-engine=INNODB collation-server=utf8_general_ci# 查詢設置 # 開啟慢查詢日志(或設置1) slow_query_log=1 # # 指定日志文件保存路徑,不指定的話默認在數據庫文件目錄下 注意必須手動建文件 及權限 slow_query_log_file=/var/log/mysql_slow.log # # 指定達到多少秒才算慢查詢 微妙 long_query_time=5 # 記錄沒有使用索引的查詢語句 #log_queries_not_using_indexes=on # 示每分鐘允許記錄到slow log的且未使用索引的sql語句次數 #log_throttle_queries_not_using_indexes=10 # 日志存儲方式 log_output=FILEsql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

注意事項:這里如果改了默認路徑,這需要把my.cnf配置文件存放到/etc/my.cnf這個路徑下。否則這個配置文件不生效。

如何檢測配置文件是否生效,我們安裝的時候,mysql默認是區分大小寫的,所以我們只要進數據庫中使用以下語句查詢,如果lower_case_table_names為0,則代碼配置文件沒有生效。

show variables like "%case%";

開啟遠程訪問:

grant all privileges on *.* to root@'%' identified by '123456';

flush privileges;

最后關防火墻

systemctl stop firewalld.service

#19.mysql 創建用戶并賦予用戶權限

#19.1.查看用戶

select user,host from mysql.user;

#19.2.創建用戶

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

username:用戶名;

host:指定在哪個主機上可以登錄,本機可用localhost,%通配所有遠程主機;

password:用戶登錄密碼;

#19.3.授權

GRANT ALL PRIVILEGES ON . TO 'username'@'%' IDENTIFIED BY 'password';

格式:grant 權限 on 數據庫名.表名 to 用戶@登錄主機 identified by “用戶密碼”;

.代表所有權;@ 后面是訪問MySQL的客戶端IP地址(或是 主機名) % 代表任意的客戶端,如果填寫 localhost 為本地訪問(那此用戶就不能遠程訪問該mysql數據庫了)。

注意:如何只分配讀寫表權限,不能刪庫?

例子:為food用戶分配food_safety庫所有權限

GRANT ALL PRIVILEGES ON food_safety.* TO 'food'@'%' IDENTIFIED BY 'food2021';

然后創建另外一個用戶,只有增刪改查權限,但沒有刪庫權限

GRANT SELECT ON food_safety.* TO 'foodadmin'@'%' IDENTIFIED BY '123456'; GRANT UPDATE ON food_safety.* TO 'foodadmin'@'%' IDENTIFIED BY '123456'; GRANT INSERT ON food_safety.* TO 'foodadmin'@'%' IDENTIFIED BY '123456'; GRANT DELETE ON food_safety.* TO 'foodadmin'@'%' IDENTIFIED BY '123456';

/*授予用戶通過外網IP對于該數據庫的全部權限*/grant all privileges on `test`.* to 'test'@'%';/*授予用戶在本地服務器對該數據庫的全部權限*/grant all privileges on `test`.* to 'test'@'localhost'; grant select on test.* to 'user1'@'localhost'; /*給予查詢權限*/grant insert on test.* to 'user1'@'localhost'; /*添加插入權限*/grant delete on test.* to 'user1'@'localhost'; /*添加刪除權限*/grant update on test.* to 'user1'@'localhost'; /*添加權限*/flush privileges; /*刷新權限*/

?#19.3.1.查看授權

SHOW GRANTS;

SHOW GRANTS FOR 'food'@'%';

?

#19.3.2.刪除權限?

第一種方式:

revoke all privileges on databasename.tablename from 'username'@'host';FLUSH PRIVILEGES;

例子: 為food用戶刪除所有權限

REVOKE ALL PRIVILEGES ON food_safety.* FROM 'food'@'%';FLUSH PRIVILEGES;

#19.4.刷新權限

FLUSH PRIVILEGES;

參考:mysql新建用戶,修改權限_趙樹祥的博客-CSDN博客

MySQL用戶管理:添加用戶、授權、刪除用戶 - 陳樹義 - 博客園

#19.5.修改密碼?用set password命令

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

SET PASSWORD FOR 'food'@'%' = PASSWORD('123456');

20.刪掉mysql用戶

drop
? ? ? ?

drop user XXX;

刪除已存在的用戶,默認刪除的是'XXX'@'%'這個用戶,如果還有其他的用戶如'XXX'@'localhost'等,不會一起被刪除。如果要刪除'XXX'@'localhost',使用drop刪除時需要加上host即drop user 'XXX'@'localhost'。

delete

delete from user where user='XXX' and host='localhost';

例子:?drop user 'mego'@'localhost';

其中XXX為用戶名,localhost為主機名。
區別

drop不僅會將user表中的數據刪除,還會刪除其他權限表的內容。而delete只刪除user表中的內容,所以使用delete刪除用戶后需要執行FLUSH PRIVILEGES;刷新權限,否則下次使用create語句創建用戶時會報錯。

21.指定特定ip進行訪問數據庫

use mysql;update user set user.Host='localhost' where user.User='mego';grant all privileges on *.* to mego@'localhost' identified by '123456';flush privileges;quit

步驟是先修改用戶的Host,然后再重新賦予一下權限。注意了,如果是指定特定的ip,則就算在本地也無法進行訪問。

如果是指定ip,則把localhost改成ip即可

這幾個地方需要修改:

?

總結

以上是生活随笔為你收集整理的centos7安装mysql5.7.24版本的全部內容,希望文章能夠幫你解決所遇到的問題。

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