mysql yum源地址:https://dev.mysql.com/downloads/repo/yum/
隨便找個最新的不管你是要裝任何個歷史版本他都可以,后面我會介紹:
安裝第一步預置環境清理:
安裝前,我們可以檢測系統是否自帶安裝 MySQL:
rpm -qa | grep mysql
如果你系統有安裝,那可以選擇進行卸載:
rpm -e mysql // 普通刪除模式 rpm -e --nodeps mysql // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除
環境清理干凈后開始安裝剛才下載的rpm包:
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
[root@hostuser database]# rpm -ivh mysql80-community-release-el7-1.noarch.rpm
error: open of mysql80-community-release-el7-1.noarch.rpm failed: No such file or directory
[root@hostuser database]# rpm -ivh mysql80-community-release-el7-3.noarch.rpm
warning: mysql80-community-release-el7-3.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql80-community-release-el7-3 ################################# [100%]
這步其實只是安裝在緩存並沒有真正安裝:
接下來我們進行版本選取:
yum repolist all| grep mysql
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-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community disabled
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - disabled
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 118
mysql-connectors-community-source MySQL Connectors Community - disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 95
mysql-tools-community-source MySQL Tools Community - Sourc 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 - disabled
mysql56-community/x86_64 MySQL 5.6 Community Server disabled
mysql56-community-source MySQL 5.6 Community Server - disabled
mysql57-community/x86_64 MySQL 5.7 Community Server disabled
mysql57-community-source MySQL 5.7 Community Server - disabled
mysql80-community/x86_64 MySQL 8.0 Community Server enabled: 129
mysql80-community-source MySQL 8.0 Community Server - disabled
根據列表顯示展示目前你可用的安裝rpm版本,以及默認enable,disable狀態,那么如何選區版本呢:
vim /etc/yum.repos.d/mysql-community.repo
修改你要選取版本的enable的為1,把默認最新的enable改為0,查詢驗證修改
yum repolist enabled | grep mysql
[root@hostuser database]# yum repolist enabled | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community 118
mysql-tools-community/x86_64 MySQL Tools Community 95
mysql80-community/x86_64 MySQL 8.0 Community Server 129
當然如果你直接默認想按照最新這步跳過
執行安裝:
yum update&&yum install mysql-server -y
權限設置:
chown mysql:mysql -R /var/lib/mysql
chmod -R 777 /var/lib/mysql
初始化 MySQL:
mysqld --initialize
啟動 MySQL:
systemctl start mysqld
查看 MySQL 運行狀態:
systemctl status mysqld防火牆開啟3306我的centos7:
啟動: systemctl start firewalld
開放3306 port
firewall-cmd --zone=public --add-port=3306/tcp --permanent (--permanent永久生效,沒有此參數重啟后失效)
驗證 MySQL 安裝
在成功安裝 MySQL 后,一些基礎表會表初始化,在服務器啟動后,你可以通過簡單的測試來驗證 MySQL 是否工作正常。
使用 mysqladmin 工具來獲取服務器狀態:
使用 mysqladmin 命令來檢查服務器的版本, 在 linux 上該二進制文件位於 /usr/bin 目錄,在 Windows 上該二進制文件位於C:\mysql\bin 。
[root@host]# mysqladmin --version
Mysql安裝成功后,默認的root用戶密碼為空,你可以使用以下命令來創建root用戶的密碼:
[root@host]# mysqladmin -u root password "new_password";
現在你可以通過以下命令來連接到Mysql服務器:
[root@host]# mysql -u root -p Enter password:*******
如果你是遠程其它linux機器非數據庫本機登陸可以使用
mysql -h 數據庫所在主機名 -u 用戶名 -p
參數說明:
- -h : 指定客戶端所要登錄的 MySQL 主機名, 登錄本機(localhost 或 127.0.0.1)該參數可以省略;
- -u : 登錄的用戶名;
- -p : 告訴服務器將會使用一個密碼來登錄, 如果所要登錄的用戶名密碼為空, 可以忽略此選項。
創建數據庫,用戶授權:
use mysql;
CREATE DATABASE `testdb` CHARACTER SET utf8 COLLATE utf8_general_ci;
授權用戶:
從任何ip連通過指定密碼
grant ALL PRIVILEGES ON on database.* to user@'%' identified by "pass";
grant all on *.* to dba@localhost;
果想讓授權的用戶,也可以將這些權限 grant 給其他用戶,需要選項 “grant option“
GRANT ALL PRIVILEGES ON *.* TO 'user'@'ip' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
撤銷已經賦予給 MySQL 用戶權限的權限。
revoke all on *.* from dba@localhost;
三。密碼修改
8.0默認密碼修改:
tail -n 100 /var/log/mysqld.log:
2019-08-17T18:44:59.546294Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: .OizId.hB6es
查詢默認密碼:.OizId.hB6es
修改初始密碼:
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'adminadmin';
Query OK, 0 rows affected (0.04 sec)
,后來查閱很多才知道在mysql 5.7.9以后廢棄了password字段和password()函數;authentication_string:字段表示用戶密碼。 下面直接演示正確修改root密碼的步驟:
A、如果當前root用戶authentication_string字段下有內容,先將其設置為空,否則直接進行二步驟。 use mysql; update user set authentication_string='' where user='root' 3.下面直接演示正確修改root密碼的步驟:
B、使用ALTER修改root用戶密碼,方法為 ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼'。如下: ALTER user 'root'@'localhost' IDENTIFIED BY 'JOhydhLfMsWyBcn#' 此處有兩點需要注意: 1、不需要flush privileges來刷新權限。 2、密碼要包含大寫字母,小寫字母,數字,特殊符號。 修改成功; 重新使用用戶名密碼登錄才可生效;
在MySQL 8.04前的版本,執行:
方法一:
update mysql.user set authentication_string=password('yourpwd') where user='root' and Host ='localhost';
方法二:SET
PASSWORD
FOR
‘username
'@'ip'
=
PASSWORD
(‘
password
');
flush privileges
四。mysqld 管理重啟以及kill 狀態查詢:
[root@hostuser sbin]# which mysqld
/usr/sbin/mysqld
[root@hostuser sbin]#
