Linux 安裝MySql8.0
1、檢查是否已安裝MySql
檢查L(zhǎng)inux系統(tǒng)中是否已經(jīng)安裝了mysql,如果有,則使用rpm -e 命令先卸載刪除。
rpm -qa | grep mysql
如果沒(méi)有任何輸出,則表示未安裝,如果有則輸入以下命令進(jìn)行刪除:
rpm -e 需要卸載的rpm包
如果刪除時(shí)提示有依賴,則輸入強(qiáng)制刪除命令:
rpm -e 需要卸載的rpm包 --nodeps
2、檢查L(zhǎng)inux版本
查看當(dāng)前Linux的版本信息:
cat /etc/redhat-release
我的版本為: CentOS Linux release 7.9.2009 (Core)
3、下載并安裝MySql
3.1查看MySql Yum存儲(chǔ)庫(kù)
MySQL Yum存儲(chǔ)庫(kù): https://dev./downloads/repo/yum/
3.2下載mysql的rpm文件
3.2.1使用mkdir命令創(chuàng)建mysql文件夾
在 /opt/software目錄下創(chuàng)建一個(gè)名稱為mysql的文件夾。如果你/opt目錄下還沒(méi)有software文件目錄,則先創(chuàng)建software目錄:
mkdir software
cd software
mkdir mysql
博主這里之前創(chuàng)建過(guò)software目錄,所以直接打開該目錄輸入mkdir mysql 就可以創(chuàng)建mysql的文件夾了
3.2.2使用wget命令將mysql的rpm文件下載到剛創(chuàng)建的mysql文件夾中:
wget https://dev./get/mysql80-community-release-el7-5.noarch.rpm
查看mysql文件夾中的mysql80-community-release-el7-5.noarch.rpm 文件
3.3開始安裝mysql源
3.3.1使用sudo rpm -Uvh命令 安裝mysql源:
sudo rpm -Uvh mysql80-community-release-el7-5.noarch.rpm
3.3.2執(zhí)行成功后會(huì)在/etc/yum.repos.d/ 目錄下生成兩個(gè)repo文件
① mysql-community.repo ② mysql-community-source.repo
3.4檢查MySql是否安裝成功
3.4.1打開/etc/yum.repos.d/ 目錄下檢查MySql是否安裝成功:
cd /etc/yum.repos.d/
3.5查看系統(tǒng)中mysql相關(guān)資源
yum repolist enabled | grep "mysql.*-community.*"
3.6安裝MySql服務(wù)端
3.6.1輸入 sudo yum install命令即可進(jìn)行MySql服務(wù)端安裝:
sudo yum install mysql-community-server
注意: 該命令會(huì)安裝MySQL服務(wù)器 (mysql-community-server) 及其所需的依賴、相關(guān)組件,包括mysql-community-client 、mysql-community-common 、mysql-community-libs 等。安裝過(guò)程中需要進(jìn)行幾次用戶確認(rèn),我們輸入字母y 即可,時(shí)間會(huì)比較長(zhǎng),需要耐心等待…
3.6.2以下是博主安裝過(guò)程中的相關(guān)信息,貼上以供參考:
[root@localhost yum.repos.d]# sudo yum install mysql-community-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* centos-sclo-rh: mirrors.tuna.tsinghua.edu.cn
* centos-sclo-sclo: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
centos-sclo-rh | 3.0 kB 00:00:00
centos-sclo-sclo | 3.0 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:8.0.29-1.el7 will be installed
--> Processing Dependency: mysql-community-common(x86-64) = 8.0.29-1.el7 for package: mysql-community-server-8.0.29-1.el7.x86_64
--> Processing Dependency: mysql-community-icu-data-files = 8.0.29-1.el7 for package: mysql-community-server-8.0.29-1.el7.x86_64
--> Processing Dependency: mysql-community-client(x86-64) >= 8.0.11 for package: mysql-community-server-8.0.29-1.el7.x86_64
--> Running transaction check
---> Package mysql-community-client.x86_64 0:8.0.29-1.el7 will be installed
--> Processing Dependency: mysql-community-client-plugins = 8.0.29-1.el7 for package: mysql-community-client-8.0.29-1.el7.x86_64
--> Processing Dependency: mysql-community-libs(x86-64) >= 8.0.11 for package: mysql-community-client-8.0.29-1.el7.x86_64
---> Package mysql-community-common.x86_64 0:8.0.29-1.el7 will be installed
---> Package mysql-community-icu-data-files.x86_64 0:8.0.29-1.el7 will be installed
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.68-1.el7 will be obsoleted
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64
---> Package mysql-community-client-plugins.x86_64 0:8.0.29-1.el7 will be installed
---> Package mysql-community-libs.x86_64 0:8.0.29-1.el7 will be obsoleting
--> Running transaction check
---> Package mysql-community-libs-compat.x86_64 0:8.0.29-1.el7 will be obsoleting
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================
Package Arch Version Repository Size
====================================================================================================================
Installing:
mysql-community-libs x86_64 8.0.29-1.el7 mysql80-community 1.5 M
replacing mariadb-libs.x86_64 1:5.5.68-1.el7
mysql-community-libs-compat x86_64 8.0.29-1.el7 mysql80-community 667 k
replacing mariadb-libs.x86_64 1:5.5.68-1.el7
mysql-community-server x86_64 8.0.29-1.el7 mysql80-community 53 M
Installing for dependencies:
mysql-community-client x86_64 8.0.29-1.el7 mysql80-community 14 M
mysql-community-client-plugins x86_64 8.0.29-1.el7 mysql80-community 2.5 M
mysql-community-common x86_64 8.0.29-1.el7 mysql80-community 633 k
mysql-community-icu-data-files x86_64 8.0.29-1.el7 mysql80-community 2.1 M
Transaction Summary
====================================================================================================================
Install 3 Packages (+4 Dependent packages)
Total download size: 75 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Public key for mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm is not installed
(1/7): mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm | 2.5 MB 00:00:04
(2/7): mysql-community-client-8.0.29-1.el7.x86_64.rpm | 14 MB 00:00:05
(3/7): mysql-community-common-8.0.29-1.el7.x86_64.rpm | 633 kB 00:00:00
(4/7): mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm | 2.1 MB 00:00:00
(5/7): mysql-community-libs-compat-8.0.29-1.el7.x86_64.rpm | 667 kB 00:00:00
(6/7): mysql-community-libs-8.0.29-1.el7.x86_64.rpm | 1.5 MB 00:00:01
(7/7): mysql-community-server-8.0.29-1.el7.x86_64.rpm | 53 MB 00:00:20
--------------------------------------------------------------------------------------------------------------------
Total 2.8 MB/s | 75 MB 00:00:26
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
Importing GPG key 0x3A79BD29:
Userid : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
Fingerprint: 859b e8d7 c586 f538 430b 19c2 467b 942d 3a79 bd29
Package : mysql80-community-release-el7-5.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
Is this ok [y/N]: y
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Importing GPG key 0x5072E1F5:
Userid : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
Package : mysql80-community-release-el7-5.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
Installing : mysql-community-common-8.0.29-1.el7.x86_64 1/8
Installing : mysql-community-client-plugins-8.0.29-1.el7.x86_64 2/8
Installing : mysql-community-libs-8.0.29-1.el7.x86_64 3/8
Installing : mysql-community-client-8.0.29-1.el7.x86_64 4/8
Installing : mysql-community-icu-data-files-8.0.29-1.el7.x86_64 5/8
Installing : mysql-community-server-8.0.29-1.el7.x86_64 6/8
Installing : mysql-community-libs-compat-8.0.29-1.el7.x86_64 7/8
Erasing : 1:mariadb-libs-5.5.68-1.el7.x86_64 8/8
Verifying : mysql-community-icu-data-files-8.0.29-1.el7.x86_64 1/8
Verifying : mysql-community-libs-compat-8.0.29-1.el7.x86_64 2/8
Verifying : mysql-community-client-8.0.29-1.el7.x86_64 3/8
Verifying : mysql-community-client-plugins-8.0.29-1.el7.x86_64 4/8
Verifying : mysql-community-server-8.0.29-1.el7.x86_64 5/8
Verifying : mysql-community-common-8.0.29-1.el7.x86_64 6/8
Verifying : mysql-community-libs-8.0.29-1.el7.x86_64 7/8
Verifying : 1:mariadb-libs-5.5.68-1.el7.x86_64 8/8
Installed:
mysql-community-libs.x86_64 0:8.0.29-1.el7 mysql-community-libs-compat.x86_64 0:8.0.29-1.el7
mysql-community-server.x86_64 0:8.0.29-1.el7
Dependency Installed:
mysql-community-client.x86_64 0:8.0.29-1.el7 mysql-community-client-plugins.x86_64 0:8.0.29-1.el7
mysql-community-common.x86_64 0:8.0.29-1.el7 mysql-community-icu-data-files.x86_64 0:8.0.29-1.el7
Replaced:
mariadb-libs.x86_64 1:5.5.68-1.el7
Complete!
3.7啟動(dòng)服務(wù)mysql服務(wù)
3.7.1使用systemctl start mysqld.service 啟動(dòng)服務(wù)
systemctl start mysqld.service
3.7.2使用systemctl status mysqld.service 查看服務(wù)狀態(tài)
systemctl status mysqld.service
3.8停止MySql服務(wù)
systemctl stop mysqld.service
3.9重啟MySql服務(wù)
systemctl restart mysqld.service
4、MySql修改密碼及登錄
4.1查看初始化密碼:
MySQL第一次啟動(dòng)后會(huì)創(chuàng)建超級(jí)管理員賬號(hào)root@localhost ,初始密碼存儲(chǔ)在日志文件中,輸入如下命令即可查看。
grep 'temporary password' /var/log/mysqld.log
如下運(yùn)行結(jié)果中,我的密碼是(Cg%N.)huy2hc)
[root@localhost yum.repos.d]# grep 'temporary password' /var/log/mysqld.log
2022-07-23T09:11:22.370522Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Cg%N.)huy2hc
4.2root賬號(hào)登錄
4.3修改root賬號(hào)的密碼
mysql登錄成功后輸入ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; 進(jìn)行密碼修改。發(fā)現(xiàn)提示Your password does not satisfy the current policy requirements 時(shí),說(shuō)明密碼太弱,在MySQL中默認(rèn)的密碼策略是要包含數(shù)字、字母及特殊字符,如果只是測(cè)試用,不想用那么復(fù)雜的密碼,可以修改默認(rèn)策略,即validate_password_policy(以及validate_password_length等相關(guān)參數(shù)),使其支持簡(jiǎn)單密碼的設(shè)定,設(shè)置密碼策略修改配置文件/etc/my.cnf,添加validate_password=OFF,保存并重啟MySQL。
這里我沒(méi)有修改密碼直接重新?lián)Q了一下密碼,設(shè)置為 Aiden@163.com
5、設(shè)置編碼格式
5.1查看編碼
步驟1:登錄mysql
步驟2:輸入 show variables like 'character%’; 查看,如下所示:
mysql> show variables like 'character%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb3 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
5.2設(shè)置編碼
步驟1:輸入vim /etc/my.cnf 命令
步驟2:按 insert 鍵進(jìn)入編輯模式
步驟3:編輯 /etc/my.cnf 配置文件,在[mysqld] 節(jié)點(diǎn)增加以下代碼:
[mysqld]
character_set_server=utf8
init-connect='SET NAMES utf8'
步驟4:編輯完后 按Esc 鍵退出,最后輸入:wq 進(jìn)行保存!
6、設(shè)置MySql開機(jī)啟動(dòng)
systemctl enable mysqld
systemctl daemon-reload
7、開放3306端口
開放端口命令語(yǔ)法:
firewall-cmd --zone=public --add-port=端口號(hào)/tcp --permanent
命令含義:
--zone :作用域
--add-port=端口號(hào)/tcp :添加端口,格式為:端口/通訊協(xié)議
--permanent :永久生效,如果沒(méi)有設(shè)置此參數(shù),則只能維持當(dāng)前服務(wù)生命周期內(nèi),重新啟動(dòng)后將會(huì)失效
開放端口3306示例:
[root@localhost mysql]# firewall-cmd --state
running
[root@localhost mysql]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
查詢3306端口是否開啟,注意需要使用firewall-cmd --reload 命令重新載入配置
[root@localhost mysql]# firewall-cmd --reload
success
[root@localhost mysql]# firewall-cmd --query-port=3306/tcp
yes
8、Navicat Premium測(cè)試連接操作MySql
步驟1:查看系統(tǒng)的ip地址
步驟2:打開windows系統(tǒng)上安裝的Navicat Premium15
步驟3:在新建連接的界面輸入正確的IP地址與用戶名、密碼、端口號(hào)信息
步驟4:點(diǎn)擊測(cè)試連接,驗(yàn)證是否正常
注意: 在執(zhí)行此步驟時(shí),要確保linux中是否已開放3306端口,當(dāng)過(guò)程中如果出現(xiàn)如下錯(cuò)誤,則需要修改mysql服務(wù)器中mysql數(shù)據(jù)庫(kù)中user表中host列的值為%。
1045錯(cuò)誤碼的解決方案步驟:
1、連接mysql服務(wù)器
2、進(jìn)入mysql數(shù)據(jù)庫(kù):use mysql;
3、查看user表中的數(shù)據(jù):select Host, User,Password from user;
4、修改user表中的Host:update user set Host='%’ where User='root’;
5、刷新授權(quán)列表:flush privileges;
mysql> use mysql
Database changed
mysql> select host,user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
4 rows in set (0.00 sec)
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> select host,user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | root |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+------------------+
4 rows in set (0.00 sec)
步驟5:再次嘗試測(cè)試連接
點(diǎn)擊 “確定” 按鈕后連接就創(chuàng)建成功了 O(∩_∩)O~
步驟6:測(cè)試測(cè)試數(shù)據(jù)庫(kù)創(chuàng)建
create database testDB;
步驟7:測(cè)試創(chuàng)建數(shù)據(jù)表
use testDB;
create table users(
userId int not null primary key auto_increment comment '用戶ID',
userName varchar(20) not null comment '用戶名',
userSex char(2) not null comment '用戶性別'
) comment='用戶信息表';
步驟8:測(cè)試為表中插入數(shù)據(jù)
use testDB;
insert into users (userName,userSex)
values ('張三','男'),('李四','男'),('王五','男');
步驟8:測(cè)試查詢表數(shù)據(jù)
use testDB;
select * from users;
步驟9:使用Xshell連接Linux操作MySql數(shù)據(jù)庫(kù)
9、卸載刪除MySql
9.1、檢查mariadb
rpm -qa|grep mariadb
注意:如果有檢查到mariadb則刪除mariadb, 如沒(méi)有,則跳過(guò)
rpm -e --nodeps mariadb-server
rpm -e --nodeps mariadb
rpm -e --nodeps mariadb-libs
9.2、檢查mysql
[root@localhost ~] rpm -qa|grep mysql
mysql-community-icu-data-files-8.0.29-1.el7.x86_64
mysql80-community-release-el7-5.noarch
mysql-community-client-plugins-8.0.29-1.el7.x86_64
mysql-community-server-8.0.29-1.el7.x86_64
mysql-community-libs-8.0.29-1.el7.x86_64
mysql-community-libs-compat-8.0.29-1.el7.x86_64
mysql-community-client-8.0.29-1.el7.x86_64
mysql-community-common-8.0.29-1.el7.x86_64
9.3、刪除MySql
rpm -e --nodeps xxx
學(xué)習(xí)交流: 617530501 /821596752
|