天天看點

linux macbook裝_Linux,Mac下MySQL的安裝及一些知識點的整理

Linux下載下傳安裝

在伺服器上下載下傳的話,需要安裝Mysql5.7相關的yum源

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

安裝剛下載下傳的rpm包

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

確定yum源中生效的是我們剛剛添加進來的5.7版本

yum repolist all | grep

結果如下圖, 很顯然,我預設生效的依賴是mysql8.0 , 是以需要修改配置

linux macbook裝_Linux,Mac下MySQL的安裝及一些知識點的整理

指令:

vim /etc/yum.repos.d/mysql-community.repo

修改成這樣:

linux macbook裝_Linux,Mac下MySQL的安裝及一些知識點的整理

ok, 開始安裝

yum -y install mysql-community-server

啟動服務:

# centos6

service mysql stop/start

# centos6 7

systemctl stop/start/restart mysqld.service

其他零散的知識點

在華為雲上按上面的安裝步驟,可以通過 whereis my 檢視到配置檔案的位置

[[email protected] ~]# whereis my

my: /etc/my.cnf

這個my.cnf中有mysql程序相關的配置,比如剛才安裝的mysql的my.cnf就長下面這樣。

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

有時候我們想配置讓mysql支援無密登陸。

或者像上面那樣我們剛安裝了一台mysql,也不知道root的密碼是多少,可以像下面這樣,在my.cnf中的 [mysqld] 子產品中添加 skip-grant-tables 參數實作無密登陸

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

skip-grant-tables

還是上面的情況,假設機器依然是centos7,我們安裝完mysql後偏偏想用root賬戶密碼登陸mysql,那root的預設密碼在哪裡檢視呢?

grep 'temporary password' /var/log/mysqld.log

這個密碼很難記,然後我們可以像下面這樣修改密碼

alter user 'root'@'localhost' identified by ‘newPassword’;

如果我們設定的newPassword太簡單了,它會像下面這樣提示我們密碼不夠強大

Your password does not satisfy the current policy requirements

于是我們就得使用下面的指令修改規則

set global validate_password_policy=LOW;

重新開機,重複上面的操作。

于是你就能本機輕松使用root登陸了

如果mysql不是在你的本機,而是在遠端伺服器,你會發現有時明明賬号密碼都正确,但是你就是不能遠端登陸上去。很可能是因為我們使用的這個賬号就不允許遠端登陸。

mysql的使用者資訊存放在 mysql/user表下;如下圖,檢視這個表中的部分内容。

下圖中的host如果為localhsot,說名root賬戶僅能在本地登陸。

我的已經改成 % ,支援本地登陸和遠端登陸。

linux macbook裝_Linux,Mac下MySQL的安裝及一些知識點的整理

通過指令修改:

# 1. 連接配接資料庫

mysql> use mysql;

mysql> update user set host = '%' where user = 'root';

DataGrip想連接配接mysql, 需要下載下傳相應的驅動, 如下圖:

linux macbook裝_Linux,Mac下MySQL的安裝及一些知識點的整理
linux macbook裝_Linux,Mac下MySQL的安裝及一些知識點的整理

Mac下安裝

如果你的電腦mac,可以參考這個大佬的筆記安裝mysql:點選檢視詳情

上面的大佬中的筆記有如需要說一下的地方:

linux macbook裝_Linux,Mac下MySQL的安裝及一些知識點的整理

知道這一點,下次再安裝完mysql後,然後直接打開控制台輸入mysql -V卻發現,咦?怎麼說不認識這個指令? 難道是我沒安裝成功嗎?(純潔的微笑)

當然你按照上面大佬博文中的教程将mysql安裝到mac上後。然後使用如下指令啟動mysql:

sudo mysql.server start

如何關閉mysql?

簡單粗暴的通過 ps aux | grep mysql找到mysql的程序id,然後 kill -9 pid強殺

也可以通過上面的腳本 sudo mysql.server stop終止mysql

然而root的密碼你還是不知道。貌似你還是登陸不上去啊?

那你可以這樣做:在上面配置的support-file檔案中添加啟動參數skip-grant-tables

linux macbook裝_Linux,Mac下MySQL的安裝及一些知識點的整理

然後你就能免密登陸了(免密登陸,它讓你輸入密碼,你直接敲回車就能進去,然後你要做的第一件事就是去改密碼)

重新整理一下權限表:新設定使用者或更改密碼後需用flush privileges重新整理MySQL的系統權限相關表,否則會出現拒絕通路,還有一種方法,就是重新啟動mysql伺服器,來使新設定生效。­

flush privileges

執行指令修改root密碼:

alter user 'root'@'localhost' identified by 'root';

查詢my.cnf中定義的端口:

>select @@port;

+--------+

| @@port |

+--------+

| 3306 |

+--------+

再說一個小技巧:可以幫助我們快速檢視到mysql都使用了哪些配置檔案。

ps aux | grep mysql

如下:(當然這是在mysql已經啟動的情況下)

MacBook-Pro:~ root# ps aux | grep mysql

root 39669 0.0 0.0 4285448 808 s005 S+ 7:32PM 0:00.00 grep mysql

_mysql 39097 0.0 0.6 4689984 47620 s005 S 7:16PM 0:00.58 /usr/local/mysql/bin/mysqld

--basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data

--plugin-dir=/usr/local/mysql/lib/plugin

--user=mysql

--skip-grant-tables

--log-error=MacBook-Pro.local.err

--pid-file=/usr/local/mysql/data/mysqld.local.pid

root 38998 0.0 0.0 4288076 936 s005 S 7:16PM 0:00.03 /bin/sh /usr/local/mysql/bin/mysqld_safe

--skip-grant-tables

--datadir=/usr/local/mysql/data

--pid-file=/usr/local/mysql/data/mysqld.local.pid