- 在剛?cè)肷鐣€是職場小白期間僵井,總是喜歡不斷接觸各種新鮮的技術(shù)扩所,給自己一種什么都會的感覺远寸,但也是這種年輕的想法,反而顯得自己很無知
- 以前在不懂什么問題之后刻剥,馬上去baidu,然后找到一篇好的帖子收藏搪桂,并按部就班的學會作者的套路透敌,還會把baidu的能力當作自己的學習能力??baidu大法固然好盯滚,但其實也在扼殺自己學習了解新事物的能力踢械,這樣的彎路可能也是必經(jīng)之路,不一概而論
- 總之在想一種高效又可以快速獲取知識的辦法魄藕,我們走的彎路也實際是自己投機取巧的路内列。不多扯...
先奉上大法寶
Mysql
沒錯,今天是圍繞官網(wǎng)的學習(不是baidu)
作為一名程序員背率,強烈建議圍繞linux去學習话瞧,Windows的同學只能說下抱歉??
本文只介紹最常用的一直安裝方式y(tǒng)um(對于支持dnf嫩与,可將以下命令替換為dnf),linux肯定有此工具
完全安裝MySQL的步驟
1. 添加MySQL Yum存儲庫
可以參考官網(wǎng)存儲庫https://dev.mysql.com/downloads/repo/yum/
- 檢查linux系統(tǒng)
[root@maxiaoyun ~]# uname -a
# 會發(fā)現(xiàn)系統(tǒng)基于EL7
# EL7是Red Hat 7.x交排,CentOS 7.x和CloudLinux 7.x的下載(ELx同理)
[root@maxiaoyun ~]# Linux maxiaoyun 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
- 安裝rpm
[root@maxiaoyun ~]# wget http://repo.mysql.com/mysql80-community-release-el7-2.noarch.rpm
[root@maxiaoyun ~]# ls
[root@maxiaoyun ~]# mysql80-community-release-el7-2.noarch.rpm
[root@maxiaoyun ~]# yum localinstall mysql80-community-release-el7-2.noarch.rpm
# 執(zhí)行完之后會發(fā)現(xiàn)划滋,/etc/yum.repos.d/ 目錄下多了兩個文件
[root@maxiaoyun yum.repos.d]# mysql-community-source.repo mysql-community.repo
- 查看repolist
[root@maxiaoyun ~]# yum repolist all | grep mysql
# mysql版本(enabled表示啟用,咱們安裝的為80版本埃篓,所以80相關(guān)為enabled狀態(tài))
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - disabled
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 95
mysql-connectors-community-source MySQL Connectors Community - S disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 84
mysql-tools-community-source MySQL Tools Community - Source disabled
mysql-tools-preview/x86_64 MySQL Tools Preview disabled
mysql-tools-preview-source MySQL Tools Preview - Source disabled
mysql55-community/x86_64 MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - S disabled
mysql56-community/x86_64 MySQL 5.6 Community Server disabled
mysql56-community-source MySQL 5.6 Community Server - S disabled
mysql57-community/x86_64 MySQL 5.7 Community Server disabled
mysql57-community-source MySQL 5.7 Community Server - S disabled
mysql80-community/x86_64 MySQL 8.0 Community Server enabled: 82
mysql80-community-source MySQL 8.0 Community Server - S disabled
# 也可以手動啟用处坪、禁用
[root@maxiaoyun ~]# yum-config-manager --disable mysql57-community
[root@maxiaoyun ~]# yum-config-manager --enable mysql80-community
# dnf(作用一樣)
[root@maxiaoyun ~]# dnf config-manager --disable mysql57-community
[root@maxiaoyun ~]# dnf config-manager --enable mysql80-community
- 也可以手動編輯/etc/yum.repos.d/mysql-community.repo
# Disable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=0 //表示禁用
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Enable to use MySQL 8.0
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
- 檢查repo
[root@maxiaoyun ~]# yum repolist enabled | grep mysql
# Enabled repo
mysql-connectors-community/x86_64 MySQL Connectors Community 95
mysql-tools-community/x86_64 MySQL Tools Community 84
mysql80-community/x86_64 MySQL 8.0 Community Server 82
2. 安裝MySQL
[root@maxiaoyun ~]# yum install mysql-community-server
3. 啟動MySQL服務(wù)器
[root@maxiaoyun ~]# service mysqld start
[root@maxiaoyun ~]# service mysqld status
Redirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 三 2019-04-17 09:47:18 CST; 1h 12min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 31119 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 31192 (mysqld)
Status: "SERVER_OPERATING"
Tasks: 38
Memory: 490.9M
CGroup: /system.slice/mysqld.service
└─31192 /usr/sbin/mysqld
4月 17 09:46:57 maxiaoyun systemd[1]: Starting MySQL Server...
4月 17 09:47:18 maxiaoyun systemd[1]: Started MySQL Server.
如果遇到啟動失敗,一般為權(quán)限問題
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
一般情況為修改/var/lib/mysql
# 修改權(quán)限
[root@maxiaoyun ~]# chmod -R 777 /var/lib/mysql
# 刪除目錄下的文件
[root@maxiaoyun ~]# rm -rf /var/lib/mysql/*
# 重新啟動
[root@maxiaoyun ~]# service mysqld restart
也可以確認一下文件位置,在my.cnf中查找架专,如果找不到my.cnf同窘,可以使用下面方法
# 第一步
[root@maxiaoyun ~]# which mysqld
/usr/sbin/mysqld
# 第二步
[root@maxiaoyun ~]# /usr/sbin/mysqld --verbose --help |grep -A 1 'Default options'
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf // 其中/etc/my.cnf就為mysql配置文件
# 第三步
[root@maxiaoyun ~]# cat /etc/my.cnf
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 修改其權(quán)限
[root@maxiaoyun ~]# chmod -R 777 /var/lib/mysql
4. Mysql連接
mysql8.0以后,初始化的root密碼需要在日志中查看部脚,mysql8.0以前root密碼為空想邦,可以直接登錄
- 8.0查看初始密碼方法
[root@maxiaoyun ~]# grep 'temporary password' /var/log/mysqld.log
# 展示如下,最后處就是密碼
2019-04-17T01:47:13.751056Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: zRidoX(Y#8Aq
修改密碼
# 先登錄
[root@maxiaoyun ~]# mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';