在服務器上下載的話,須要安裝Mysql5.7相關的yum源html
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
安裝剛下載的rpm包mysql
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
確保yum源中生效的是咱們剛剛添加進來的5.7版本linux
yum repolist all | grep
結果以下圖, 很顯然,我默認生效的依賴是mysql8.0 , 因此須要修改配置sql
命令:數據庫
vim /etc/yum.repos.d/mysql-community.repo
修改爲這樣:vim
ok, 開始安裝centos
yum -y install mysql-community-server
啓動服務:bash
# 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就長下面這樣。socket
[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帳戶僅能在本地登錄。
個人已經改爲 % ,支持本地登錄和遠程登錄。
經過命令修改:
# 1. 鏈接數據庫 mysql> use mysql; mysql> update user set host = '%' where user = 'root';
DataGrip想鏈接mysql, 須要下載相應的驅動, 以下圖:
若是你的電腦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