CentOS7安裝MySQL8.0小計

以前講配置文件和權限的時候有不少MySQL8的知識,有同志說安裝不太同樣,但願發個文,我這邊簡單演示一下html

1.環境安裝

下載MySQL提供的CentOS7的yum源python

過程當中有不太懂的能夠看我以前寫的這篇文章:<http://www.cnblogs.com/dotnetcrazy/p/9887708.html>

 

CentOS命令:curl https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm > centos7.mysql.rpm  下載yum源(curl是系統自帶的)mysql

安裝yum源:yum install centos7.mysql.rpm -ygit

安裝MySQL8.0 yum install mysql-community-server -y

啓動mysql systemctl start mysqld
 
設置開機啓動mysql systemctl enable mysqld

2.初始化配置

查看初始密碼 cat /var/log/mysqld.log | grep "password"
 
安全初始化 mysql_secure_installation

3.權限設置

權限相關詳細能夠查看上次寫的文章:聊聊數據庫:SQL運維~存儲引擎與權限
 
用root帳號登陸 mysql -uroot -p
 
建立用戶dnt create user dnt@'%' identified by '含大小寫字母+數字的密碼';

查看當前有哪些用戶 select user,authentication_string,host from mysql.user;

給用戶dnt分配數據庫dotnetcrazy的全部權限 grant all on dotnetcrazy.* to dnt;
 
刷新權限 flush privileges;
 
顯示新用戶有哪些權限 show grants for dnt;

4.配置相關

這塊我就說下開遠程的配置,其餘的能夠查看以前寫的文章:<https://www.cnblogs.com/dotnetcrazy/p/10810798.html>sql

root權限去修改 /etc/my.cnfshell

[mysqld]選項下新增:bind-address=0.0.0.0

開放3306端口的遠程訪問權限:firewall-cmd --zone=public --add-port=3306/tcp --permanent
 
刷新防火牆規則 firewall-cmd --reload

重啓MySQL:systemctl restart mysqld數據庫

測試

Shell附錄

1.安裝附錄

# 下載yum源(curl是系統自帶的)
# curl https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm > centos7.mysql.rpm
[root@localhost dnt] curl https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm > centos7.mysql.rpm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 26024  100 26024    0     0  38150      0 --:--:-- --:--:-- --:--:-- 38158
[root@localhost dnt]# ls
centos7.mysql.rpm

# 安裝MySQL的yum源
# yum install centos7.mysql.rpm -y
[root@localhost dnt] yum install centos7.mysql.rpm -y
已加載插件:fastestmirror
正在檢查 centos7.mysql.rpm: mysql80-community-release-el7-3.noarch
centos7.mysql.rpm 將被安裝
正在解決依賴關係
--> 正在檢查事務
---> 軟件包 mysql80-community-release.noarch.0.el7-3 將被 安裝
--> 解決依賴關係完成

依賴關係解決

==========================================================================================================
 Package                                架構                版本                 源                           大小
==========================================================================================================
正在安裝:
 mysql80-community-release              noarch              el7-3                /centos7.mysql               31 k

事務概要
==========================================================================================================
安裝  1 軟件包

總計:31 k
安裝大小:31 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安裝    : mysql80-community-release-el7-3.noarch                                                         1/1
  驗證中      : mysql80-community-release-el7-3.noarch                                                         1/1

已安裝:
  mysql80-community-release.noarch 0:el7-3

完畢!

# 安裝MySQL8.0
# yum install mysql-community-server -y
[root@localhost dnt] yum install mysql-community-server -y
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.cn99.com
 * updates: mirrors.aliyun.com
base                                                                                        | 3.6 kB  00:00:00
extras                                                                                      | 3.4 kB  00:00:00
mysql-connectors-community                                                                  | 2.5 kB  00:00:00
mysql-tools-community                                                                       | 2.5 kB  00:00:00
mysql80-community                                                                           | 2.5 kB  00:00:00
updates                                                                                     | 3.4 kB  00:00:00
(1/3): mysql-connectors-community/x86_64/primary_db                                         |  41 kB  00:00:00
(2/3): mysql80-community/x86_64/primary_db                                                  |  70 kB  00:00:00
(3/3): mysql-tools-community/x86_64/primary_db                                              |  58 kB  00:00:00
正在解決依賴關係
--> 正在檢查事務
---> 軟件包 mysql-community-server.x86_64.0.8.0.16-2.el7 將被 安裝
--> 正在處理依賴關係 mysql-community-common(x86-64) = 8.0.16-2.el7,它被軟件包 mysql-community-server-8.0.16-2.el7.x86_64 須要
--> 正在處理依賴關係 mysql-community-client(x86-64) >= 8.0.11,它被軟件包 mysql-community-server-8.0.16-2.el7.x86_64 須要
--> 正在處理依賴關係 net-tools,它被軟件包 mysql-community-server-8.0.16-2.el7.x86_64 須要
--> 正在檢查事務
---> 軟件包 mysql-community-client.x86_64.0.8.0.16-2.el7 將被 安裝
--> 正在處理依賴關係 mysql-community-libs(x86-64) >= 8.0.11,它被軟件包 mysql-community-client-8.0.16-2.el7.x86_64 須要
---> 軟件包 mysql-community-common.x86_64.0.8.0.16-2.el7 將被 安裝
---> 軟件包 net-tools.x86_64.0.2.0-0.24.20131004git.el7 將被 安裝
--> 正在檢查事務
---> 軟件包 mariadb-libs.x86_64.1.5.5.60-1.el7_5 將被 取代
--> 正在處理依賴關係 libmysqlclient.so.18()(64bit),它被軟件包 2:postfix-2.10.1-7.el7.x86_64 須要
--> 正在處理依賴關係 libmysqlclient.so.18(libmysqlclient_18)(64bit),它被軟件包 2:postfix-2.10.1-7.el7.x86_64 須要
---> 軟件包 mysql-community-libs.x86_64.0.8.0.16-2.el7 將被 捨棄
--> 正在檢查事務
---> 軟件包 mysql-community-libs-compat.x86_64.0.8.0.16-2.el7 將被 捨棄
--> 解決依賴關係完成

依賴關係解決

==========================================================================================================
 Package                            架構          版本                              源                        大小
==========================================================================================================
正在安裝:
 mysql-community-libs               x86_64        8.0.16-2.el7                      mysql80-community        3.0 M
      替換  mariadb-libs.x86_64 1:5.5.60-1.el7_5
 mysql-community-libs-compat        x86_64        8.0.16-2.el7                      mysql80-community        2.1 M
      替換  mariadb-libs.x86_64 1:5.5.60-1.el7_5
 mysql-community-server             x86_64        8.0.16-2.el7                      mysql80-community        403 M
爲依賴而安裝:
 mysql-community-client             x86_64        8.0.16-2.el7                      mysql80-community         32 M
 mysql-community-common             x86_64        8.0.16-2.el7                      mysql80-community        575 k
 net-tools                          x86_64        2.0-0.24.20131004git.el7          base                     306 k

事務概要
==========================================================================================================
安裝  3 軟件包 (+3 依賴軟件包)

總下載量:441 M
Downloading packages:
警告:/var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-common-8.0.16-2.el7.x86_64.rpm: 頭V3 DSA/SHA1 Signature, 密鑰 ID 5072e1f5: NOKEY
mysql-community-common-8.0.16-2.el7.x86_64.rpm 的公鑰還沒有安裝
(1/6): mysql-community-common-8.0.16-2.el7.x86_64.rpm                                       | 575 kB  00:00:00
(2/6): mysql-community-libs-8.0.16-2.el7.x86_64.rpm                                         | 3.0 MB  00:00:00
(3/6): mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm                                  | 2.1 MB  00:00:00
(4/6): net-tools-2.0-0.24.20131004git.el7.x86_64.rpm                                        | 306 kB  00:00:00
(5/6): mysql-community-client-8.0.16-2.el7.x86_64.rpm                                       |  32 MB  00:00:14
(6/6): mysql-community-server-8.0.16-2.el7.x86_64.rpm                                       | 403 MB  00:01:08
-------------------------------------------------------------------------------------------------------------------
總計                                                                               6.2 MB/s | 441 MB  00:01:10
從 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 檢索密鑰
導入 GPG key 0x5072E1F5:
 用戶ID     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 指紋       : a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
 軟件包     : mysql80-community-release-el7-3.noarch (installed)
 來自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安裝    : mysql-community-common-8.0.16-2.el7.x86_64                                                     1/7 
  正在安裝    : mysql-community-libs-8.0.16-2.el7.x86_64                                                       2/7 
  正在安裝    : mysql-community-client-8.0.16-2.el7.x86_64                                                     3/7 
  正在安裝    : net-tools-2.0-0.24.20131004git.el7.x86_64                                                      4/7 
  正在安裝    : mysql-community-server-8.0.16-2.el7.x86_64                                                     5/7 
  正在安裝    : mysql-community-libs-compat-8.0.16-2.el7.x86_64                                                6/7 
  正在刪除    : 1:mariadb-libs-5.5.60-1.el7_5.x86_64                                                           7/7 
  驗證中      : mysql-community-libs-8.0.16-2.el7.x86_64                                                       1/7 
  驗證中      : net-tools-2.0-0.24.20131004git.el7.x86_64                                                      2/7 
  驗證中      : mysql-community-libs-compat-8.0.16-2.el7.x86_64                                                3/7 
  驗證中      : mysql-community-client-8.0.16-2.el7.x86_64                                                     4/7 
  驗證中      : mysql-community-common-8.0.16-2.el7.x86_64                                                     5/7 
  驗證中      : mysql-community-server-8.0.16-2.el7.x86_64                                                     6/7 
  驗證中      : 1:mariadb-libs-5.5.60-1.el7_5.x86_64                                                           7/7 

已安裝:
  mysql-community-libs.x86_64 0:8.0.16-2.el7            mysql-community-libs-compat.x86_64 0:8.0.16-2.el7
  mysql-community-server.x86_64 0:8.0.16-2.el7

做爲依賴被安裝:
  mysql-community-client.x86_64 0:8.0.16-2.el7             mysql-community-common.x86_64 0:8.0.16-2.el7
  net-tools.x86_64 0:2.0-0.24.20131004git.el7

替代:
  mariadb-libs.x86_64 1:5.5.60-1.el7_5

完畢!

# 啓動mysql
# systemctl start mysqld
[root@localhost dnt] systemctl start mysqld
[root@localhost dnt] pstree | grep mysql
        |-mysqld---37*[{mysqld}]

# 設置開機啓動mysql
# systemctl enable mysqld
[root@localhost dnt] systemctl enable mysqld
[root@localhost dnt] reboot
Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host(MySQL_CentOS) at 10:56:42.

Connecting to 192.168.36.205:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Wed May 15 10:35:07 2019 from 192.168.36.144
[dnt@localhost ~]$ pstree | grep mysql
        |-mysqld---37*[{mysqld}]

# 查看mysql的狀態
# systemctl status mysqld
[dnt@localhost ~]$ systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2019-05-15 10:57:26 CST; 1min 3s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 3934 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 3969 (mysqld)
   Status: "SERVER_OPERATING"
   CGroup: /system.slice/mysqld.service
           └─3969 /usr/sbin/mysqld

2.初始化配置附錄

# 查看初始密碼
# cat /var/log/mysqld.log | grep "password"
[dnt@localhost ~]$ cat /var/log/mysqld.log | grep "password"
2019-05-15T02:55:51.132377Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: wI>X.(tHE5&e

# 安全初始化
# mysql_secure_installation
[dnt@localhost ~]$ mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: 
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 100 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

3.權限附錄

# 用root帳號登陸
# mysql -uroot -p
[dnt@localhost ~]$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 38
Server version: 8.0.16 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# show databases;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

# 建立用戶dnt
# create user dnt@'%' identified by '含大小寫字母+數字的密碼';
mysql> create user dnt@'%' identified by '含大小寫字母+數字的密碼';
Query OK, 0 rows affected (0.06 sec)

# 查看當前有哪些用戶
# select user,authentication_string,host from mysql.user;
mysql> select user,authentication_string,host from mysql.user;
+------------------+------------------------------------------------------------------------+-----------+
| user             | authentication_string                                                  | host      |
+------------------+------------------------------------------------------------------------+-----------+
| dnt              | $A$005$yOK}8VFp<	LE0BLBPFmeTy2vi8Q1JdmkhkPkaWBilxWYW2/jSsJ4OEa7B | %         |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost |
| mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost |
| mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost |
| root             | $A$005$yAn@!RwTRzRLdyRrHMdoneUh7pdKEJVFUl9LHdG5MHeL.gdovFMI7z22 | localhost |
+------------------+------------------------------------------------------------------------+-----------+
5 rows in set (0.00 sec)

# 建立一個數據庫
# create database dotnetcrazy charset=utf8;
mysql> create database dotnetcrazy charset=utf8;
Query OK, 1 row affected, 1 warning (0.71 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| dotnetcrazy        |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

# 給用戶dnt分配數據庫dotnetcrazy的全部權限
# grant all on dotnetcrazy.* to dnt;
mysql> grant all on dotnetcrazy.* to dnt;
Query OK, 0 rows affected (0.69 sec)

# 刷新權限
# flush privileges;
mysql> flush privileges;
Query OK, 0 rows affected (0.59 sec)

# 顯示新用戶有哪些權限
# show grants for dnt;
mysql> show grants for dnt;
+------------------------------------------------------+
| Grants for dnt@%                                     |
+------------------------------------------------------+
| GRANT USAGE ON *.* TO `dnt`@`%`                      |
| GRANT ALL PRIVILEGES ON `dotnetcrazy`.* TO `dnt`@`%` |
+------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> exit
Bye

# 用新增用戶登陸
# mysql -udnt -p
[dnt@localhost ~]$ mysql -udnt -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 8.0.16 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# show databases;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| dotnetcrazy        |
| information_schema |
+--------------------+
2 rows in set (0.01 sec)

4.配置附錄

[dnt@localhost ~]$ su
密碼:
[root@localhost dnt]# ls /etc/ | grep my
my.cnf
my.cnf.d
[root@localhost dnt]# ls /etc/my.cnf.d/

# 修改配置,運行遠程登陸
[root@localhost dnt]# vi /etc/my.cnf
[root@localhost dnt]# cat /etc/my.cnf
[mysqld]
bind-address=0.0.0.0 # 新增內容

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

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

# 查看一下防火牆狀態
# systemctl status firewalld
[root@localhost dnt] systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 三 2019-05-15 17:37:49 CST; 28min ago
     Docs: man:firewalld(1)
 Main PID: 3467 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─3467 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

5月 15 17:37:47 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
5月 15 17:37:49 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.

# 開放3306端口的遠程訪問權限
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost dnt]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success

# 刷新防火牆規則
# firewall-cmd --reload
[root@localhost dnt]# firewall-cmd --reload
success

# 重啓MySQL
# systemctl restart mysqld
[root@localhost dnt]# systemctl restart mysqld
相關文章
相關標籤/搜索