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 , 所以需要修改配置

命令:
vim /etc/yum.repos.d/mysql-community.repo
修改成這樣:

ok, 開始安裝
yum -y install mysql-community-server
啟動服務:
# centos6
service mysql stop/start
# centos6 7
systemctl stop/start/restart mysqld.service
其他零散的知識點
在華為雲上按上面的安裝步驟,可以通過 whereis my 查看到配置文件的位置
[root@139 ~]# 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賬戶僅能在本地登陸。
我的已經改成 % ,支持本地登陸和遠程登陸。

拓展知識:mysql.user 中的Host列不同值的含義 https://www.cnblogs.com/liuhaidon/archive/2019/09/12/11511129.html
通過命令修改:
# 1. 連接數據庫
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
DataGrip想連接mysql, 需要下載相應的驅動, 如下圖:


Mac下安裝
如果你的電腦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

然后你就能免密登陸了(免密登陸,它讓你輸入密碼,你直接敲回車就能進去,然后你要做的第一件事就是去改密碼)
刷新一下權限表:新設置用戶或更改密碼后需用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
