1、mysql官网下载安装包,官网地址:www.mysql.com
[root@seiang software]# ll
total 580020
-rw-r--r--. 1 root root 593940480 Mar 25 18:57 mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
2、解压
[root@seiang software]# tar xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
mysql-community-embedded-devel-5.7.21-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.21-1.el7.x86_64.rpm
mysql-community-common-5.7.21-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.21-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.21-1.el7.x86_64.rpm
mysql-community-client-5.7.21-1.el7.x86_64.rpm
mysql-community-server-5.7.21-1.el7.x86_64.rpm
mysql-community-embedded-5.7.21-1.el7.x86_64.rpm
mysql-community-test-5.7.21-1.el7.x86_64.rpm
mysql-community-devel-5.7.21-1.el7.x86_64.rpm
mysql-community-libs-5.7.21-1.el7.x86_64.rpm
3、全部安装,出现如下的报错
[root@seiang software]# rpm -ivh *.rpm
warning: mysql-community-client-5.7.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mariadb-libs is obsoleted by mysql-community-libs-5.7.21-1.el7.x86_64
mariadb-libs is obsoleted by mysql-community-libs-compat-5.7.21-1.el7.x86_64
perl(Data::Dumper) is needed by mysql-community-test-5.7.21-1.el7.x86_64
perl(JSON) is needed by mysql-community-test-5.7.21-1.el7.x86_64
4、如上的报错,由于centos 7默认是mariadb数据库,再去安装mysql之前要先下载mariadb
[root@seiang software]# rpm -qa | grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
[root@seiang software]# rpm -e mariadb-libs-5.5.41-2.el7_0.x86_64
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
由于存在依赖关系,强制卸载
[root@seiang software]# rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
5、安装mysql-server,出现报错
[root@seiang software]# rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-community-server-5.7.21-1.el7.x86_64
mysql-community-common(x86-64) = 5.7.21-1.el7 is needed by mysql-community-server-5.7.21-1.el7.x86_64
6、根据提示,要先安装mysql-community-common和mysql-community-client包
[root@seiang software]# rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm
warning: mysql-community-common-5.7.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-common-5.7.21-1.e################################# [100%]
7、安装mysql-client包,出现如下的报错
[root@seiang software]# rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
warning: mysql-community-client-5.7.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mysql-community-libs(x86-64) >= 5.7.9 is needed by mysql-community-client-5.7.21-1.el7.x86_64
8、根据提示先安装 mysql-community-libs包
[root@seiang software]# rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm
warning: mysql-community-libs-5.7.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-libs-5.7.21-1.el7################################# [100%]
9、再次尝试安装mysql-client
[root@seiang software]# rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
warning: mysql-community-client-5.7.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-client-5.7.21-1.e################################# [100%]
10、最后安装mysql-server
[root@seiang software]# rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-server-5.7.21-1.e################################# [100%]
11、查看mysql的服务
[root@seiang software]# systemctl status mysqld.service
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled)
Active: inactive (dead)
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
12、启动mysql服务
[root@seiang software]# systemctl start mysqld.service
[root@seiang software]#
[root@seiang software]# systemctl status mysqld.service
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled)
Active: active (running) since Mon 2018-03-26 09:26:04 CST; 2s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 2113 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 2034 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 2116 (mysqld)
CGroup: /system.slice/mysqld.service
鈹斺攢2116 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Mar 26 09:25:54 seiang systemd[1]: Starting MySQL Server...
Mar 26 09:26:04 seiang systemd[1]: Started MySQL Server.
13、mysql服务启动成功,首先使用临时的密码进行登录,查看临时密码
[root@seiang software]# grep "password" /var/log/mysqld.log
2018-03-25T11:18:09.770923Z 1 [Note] A temporary password is generated for root@localhost: &)2KIh?M3hr7
2018-03-25T11:19:39.853663Z 2 [Note] Access denied for user 'root'@'localhost' (using password: YES)
2018-03-25T11:22:20.996230Z 3 [Note] Access denied for user 'root'@'localhost' (using password: NO)
2018-03-25T11:24:31.219087Z 0 [Note] Shutting down plugin 'validate_password'
2018-03-25T11:24:33.062278Z 0 [Note] Shutting down plugin 'sha256_password'
2018-03-25T11:24:33.062286Z 0 [Note] Shutting down plugin 'mysql_native_password'
2018-03-26T01:25:57.938742Z 1 [Note] A temporary password is generated for root@localhost: v,esvf2?oj?T
14、使用临时密码登录,然后修改root的密码
[root@seiang software]# mysql -uroot -pv,esvf2?oj?T
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.7.21
Copyright (c) 2000, 2018, 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.
mysql>
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'beijing';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'qcloud@2018';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
两次修改都提示相同的错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
下面是官方文档,对于该问题的解释:
https://dev.mysql.com/doc/refman/5.7/en/validate-password.html
上述报错的原因:其实与validate_password_policy的值有关。
validate_password_policy有以下取值:
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
解决方法:
修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 8 |
+----------------------------+
1 row in set (0.05 sec)
默认的密码长度是8,少于8位依旧会出现报错
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'beijing';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
修改成功
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'qcloud@2018';
Query OK, 0 rows affected (0.00 sec)
15、使用新密码再次登录,登录成功
[root@seiang software]# mysql -uroot -pqcloud@2018
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.7.21 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, 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.
mysql>
16、由于习惯于Linux的提示,所以我们为mysql也设置提示
(1)临时设置
mysql> prompt u@ h d >
root@ localhost (none) >
root@ localhost (none) >use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
root@ localhost mysql >prompt u@h [d]>
PROMPT set to 'u@h [d]>'
root@localhost [mysql]>
root@localhost [mysql]>
(2)永久设置
[root@seiang ~]# vim /etc/my.cnf
添加下面两句,注意:[]中是mysql,不是mysqld
[mysql]
prompt=u@h [d]>