1、mysql官网下载安装包,官网地址:www.mysql.com
2、解压
[root@seiang software]# tar xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
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
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...
: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]# systemctl status mysqld.service
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
14、使用临时密码登录,然后修改root的密码
[root@seiang software]# mysql -uroot -pv,esvf2?oj?T
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]>
(2)永久设置
[root@seiang ~]# vim /etc/my.cnf
添加下面两句,注意:[]中是mysql,不是mysqld
[mysql]
prompt=\u@\h [\d]>
允许远程登陆
第一种(直接修改user表):
修改host字段的值,将localhost修改成需要远程连接数据库的ip地址。或者直接修改成%。修改成%表示,所有主机都可以通过root用户访问数据库。为了方便,我直接修改成%。命令:mysql> update user set host = ‘%’ where user = ‘root’;
这种方法成功率很高,我用很少出错。
第二种(grant授权):
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
特定ip登录语句如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.82.10' IDENTIFIED BY
'yourpassword' WITH GRANT OPTION;
然后
mysql>FLUSH PRIVILEGES;
用这种方法老是出错,弊端很大。
原文链接