得到鏈接地址(我這個是):https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
然后執行
wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
在執行命令的當前目錄中會得到mysql80-community-release-el8-1.noarch.rpm的資源包(倉庫)
2,安裝資源包(倉庫)
sudo yum install mysql80-community-release-el8-1.noarch.rpm -y
3,查看資源包(倉庫)
4,安裝
sudo yum install mysql-community-server -y
該命令默認執行安裝8.0版本的mysql,我這里需要的是5.7版本的,所以先修改配置文件,使得安裝的版本為5.7.
sudo vim /etc/yum.repos.d/mysql-community.repo
找到[mysql80-community],把enabled=1改成enabled=0
然后新增配置命令
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
保存退出
然后再執行上面的安裝命令
5,啟動
sudo systemctl start mysqld
查看進程
ps -aux|grep mysql
查看版本
mysql --version
6,鏈接數據庫
各個Linux系統連接數據庫的語法都一樣
mysql -hloaclhost -uroot -P3306 -p123456
-
-h: host(IP地址) localhost = 127.0.0.1
-
-u: username(用戶賬號)
-
-p: password(密碼)
-
-P: port(端口,默認3306)
在其他版本的LInux里,root用戶的默認密碼是空,可以不使用密碼直接登錄。但是在CentOS7里,mysql安裝完成以后,會生成一個臨時密碼。我們需要通過命令查看這個默認密碼。
sudo cat /var/log/mysqld.log |grep password
執行
mysql -uroot -p
臨時密碼登錄,無法操作數據庫
需要修改root密碼
7,修改ROOT密碼
命令:alter user root@localhost identified with mysql_native_password by '你的密碼';
alter user root@localhost identified with mysql_native_password by 'AbHc123!';
注意:mysql5.7默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位
修改完后輸入exit;退出數據庫
然后重新登陸就可以操作數據庫了
8,常用操作
-
創建賬號,授予權限
-
8.0之前的版本
GRANT ALL PRIVILEGES ON *.* TO '用戶名'@'主機名' IDENTIFIED BY "密碼" WITH GRANT OPTION;
flush privileges; --刷新使授權生效
命令解釋:
GRANT:授予
ALL PRIVILEGES:所有的權限(也可以選擇指定權限)--select,insert,update,delete,drop,index,alter,grant,references,reload,shutdown,process,file。在這十四個權限中選擇
主機名:表示允許用戶從哪個主機登錄,%表示允許從任意主機登錄,
*.*:允許操作的數據庫和表,星號.星號就是所有數據里的所有表
WITH GRANT OPTION:允許它的權限向下傳遞 -
8.0之后的版本
CREATE USER '用戶名'@'主機名' IDENTIFIED BY ‘密碼’; ---------創建賬戶
CRANT ALL ON *.* TO '用戶名'@'主機名' WITH GRANT OPTION; -----------授權 -
創建一個用戶,允許個該用戶通過主機遠程登錄,在用上面命令創建一個允許任意主機登錄的賬號后,如
GRANT ALL PRIVILEGES ON *.* TO 'dark'@'%' IDENTIFIED BY "123456" WITH GRANT OPTION;
flush privileges; -
還要修改mysql配置文件允許遠程連接:
# 注意:不同 mysql 版本此配置文件位置和名字可能不同
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # ubuntu18.04
sudo vim /etc/my.cnf # CentOS7
# 然后找到將bind-address = 127.0.0.1注銷 #如果有的話
#bind-address = 127.0.0.1 #這段代碼的功能是只允許本機登錄
此時一般就可以在其他主機上使用客戶端連接mysql數據庫了
sudo mysql -u用戶名 -h 遠端服務器地址 -P3306 -p
設置完后,如果還是不能遠程連接,檢查一下要服務器的3306端口是否已經打開(可以百度一下如何查看端口,並打開)
-
-
修改密碼
update user set authentication_string=password('你的密碼') where user="root"
或者
alter user ‘用戶名’@'主機名' identified with mysql_native_password by '你的密碼';alter對密碼有安全規范要求,不能設置簡單密碼(大小寫,數字,字符,無序)
update不做限制
-
查看權限
show grants; ---查看當前用戶的權限
show grants for 'abc'@'localhost'; ---查看用戶abc的權限 -
回收權限
revoke all privileges on *.* from 'abc'@localhost'; --回收用戶abc的所有權限
revoke grant option on *.* from 'abc'@localhost'; --回收權限的傳遞 -
刪除用戶
use mysql;
select host, user from user;
drop user 用戶名@'%';
第三方工具:mycli
-
安裝:sudo pip3 install mycil ubuntu可以直接使用 sudo apt update sudo apt install mycli
-
安裝好后連接數據庫:mycil -uroot
-
設置回車可以換行:vim ~/.myclirc 把里面的multi_line = False 改成 multi_line = True