Linux上安装软件常见的几种方式:
1、编译好的安装包:rpm安装(mysql57-community-release-el7-10.noarch.rpm)
2、源码包安装(tar.gz)
3、在线安装(YUM、APT等):yum安装(yum -y install mysql-server)
以上几种方式便捷性依次增加,但通用性依次下降,比如直接下载压缩包进行解压,这种方式一般需要自己做一些额外的配置工作,但只要掌握了方法,各个平台基本都适用,YUM虽然简单,但是平台受限,网络受限,必要的时候还需要增加一些特定YUM源。
几种安装方式最好都能掌握,原则上能用简单的就用简单的:YUM>RPM>tar.gz>源码
rpm安装方法:
1、检查是否已经安装过mysql,执行命令,无输出说明没安装
[root@localhost /]# rpm -qa | grep mysql
2、查询所有Mysql对应的文件夹
[root@localhost /]# whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql
[root@localhost lib]# find / -name mysql
/data/mysql
/data/mysql/mysql
3、找到对应linux的版本进行下载
查看自己的版本:
yum存储库https://dev.mysql.com/downloads/repo/yum/
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
4、复制下载文件的全名:mysql57-community-release-el7-10.noarch.rpm/
5、 下载和安装mysql源
[root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
如果显示wget未找到命令,则需要先安装wget:
yum -y install wget,然后再次执行上面命令, 使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
执行成功后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo及 mysql-community-source.repo
6、 之后就开始安装MySQL服务器。
[root@localhost ~]# yum -y install mysql-community-server
7、启动MySQL
[root@localhost ~]# systemctl start mysqld.service
8、查看MySQL运行状态,运行状态如图:
[root@localhost ~]# systemctl status mysqld.service
9、停止
[root@localhost ~]# systemctl stop mysqld.service
10、重启
[root@localhost ~]# systemctl restart mysqld.service
修改密码及登录
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
[root@localhost ~]# grep "password" /var/log/mysqld.log
如下命令进入数据库:
[root@localhost ~]# mysql -uroot -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
修改密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
错误提示:密码过于简单
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看数据库成功 show databases;
通过navicat远程登陆数据库
1、确保服务器已放行3306端口;
2、设置mysql允许远程登陆
设置允许远程登陆,依次输入命令
use mysql;
select host from user where user='root';
可以看到当前主机配置信息为localhost.
将Host设置为通配符%
Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。
注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置;
update user set host = '%' where user ='root';
Host修改完成后记得执行flush privileges使配置立即生效。