1、MySQL的检查与卸载
1.1 查看是否安装过MySQL
- 检查RPM package
rpm -qa | grep -i mysql # -i 忽略大小写
- 检查Mysql service
systemctl status mysqld.service
1.2 MySQL的卸载
- 停止服务
systemctl stop mysqld.service
- 查看安装状况
rpm -qa |grep -i mysql
- 卸载以上的查询出的已安装程序
yum remove mysql - xxx mysql-xxx
** 一定要卸载干净,可以通过多次执行 rpm -qa | grep -i mysql 来检查是否有残留 **
-删除相关文件
-查找文件
find / -name mysql
-删除文件
rm - rf xxx(文件名)
-删除my.cnf
rm -rf /etc/my.cnf
2、安装
1.1 rpm命令安装MySQL
-.rpm的一般格式
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/791724ac8e607258a313b35ba7b428a5.png#pic_center)
1.2 检查依赖
-检查libaio
rpm -qa | grep libaio
-检查 nrt-tools
rpm -qa |grep net-tools
1.3 安装
-将安装的rpm包拷贝到/opt文件下
-通过rpm命令安装**一定顺序**执行
rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm
PS:
~ -i : 安装软件包
~ -v : 提供更多的详细信息输出
~ -h : 在安装时列出哈希标记,展示进度条
- 可能出现的错误
mariadb -libs 被 mysql - community -8.0.25-1.el7.x86_64取代
解决:使用 **yum remove mysql-libs** 命令清楚依赖,然后再次安装出错的包
3、查看版本
如果安装成功,执行 **mysql --version** 可以打印出版本信息。
执行**rpm -qa|grep -i mysql**来检查是否安装成功,若成功安装则可以搜索到安装的包信息。
4、服务初始化
为了保证数据库目录与文件的所有者为mysql的登录用户,并使用root身份运行mysql服务,需要执行一下命令:
mysqld --initialize --user=mysql
初始化完成后会自动生成一个临时密码存储在mysqld.log中
执行: **cat /var/log/mysqld.log**
查看**root@localhost:**后的临时密码,然后使用临时密码登录mysql
5、启动MySQL
启动服务:systemctl start mysqld.service
关闭服务:systemctl stop mysqld.service
重启服务:systemctl restart mysqld.service
查看服务状态:systemctl status mysqld.service
查看MySQL进程:ps -ef | grep -i mysql
6、MySQL服务自启动
1、通过**systemctl list-unit-files|grep mysqld.service**来查看服务是否为自启动
2、通过 **systemctl enable mysqld.service**进行自启动设置,将**enable**改为**disable**可以关闭自启动。
7、登录
1、在安装完成后的首次登录可以通过log文件中的临时密码进行登录。
mysql -hlocalhost -P3306 -uroot -p
2、在登录后会提醒进行密码的修改,使用ALTER
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
PS:在5.7版本之后加入了密码安全机制,设置新密码太简单时可能会报错
3、设置远程登录
- 确认网络畅通
在远程机器上使用**ping ip地址**来保证网络畅通
- 在远程机器上使用telnet命令保证端口号开放访问
telnet ip地址 端口号;
PS:在win系统中可以通过**程序和功下的启动和或关闭Windows功能来开启Telnet客户端**
4、关闭防火墙或者开放端口(这里直接使用关闭防火墙 简单粗暴)
-开启防火墙: systemctl start firewalld.service
-查看防火墙状态:systemctl status firewalld.service
-关闭防火墙: systemctl stop firewalld.service
-设置开机启动防火墙:systemctl enable firewalld.service
-设置开机禁用防火墙:systemctl disable firewalld.service
5、修改登录配置
-在Linux系统中登录MySQL
-查看**mysql**下的**user**表中的**Host**与**user**字段。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/fc0fa174254ebbdb5268c36789ce1ed1.png#pic_center)
-修改所要登录的user对应的host为‘%’
update user set host = '%' where user = 'root';
PS:host列指定了允许用户登录所使用的IP,当user= root host= localhost时,表示只能通过本机客户端去访问数据库。**%**表示通配符,如果**host= 192.168.1.%**,表示只要IP地址前缀为“192.168.1”的客户端都可以连接数据库。如果**host= %**表示所有IP的客户端都可以连接数据库。
flush privileges;
PS:早host修改完成后使用 **flush privileges**使配置生效。
6、测试
在连接Mysql8版本若出现以下问题时:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/345d862826ebc579e2eaf85ee84796ad.png#pic_center)
是mysql的密码加密方式发生了变化,进入linux下的mysql执行:
**ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'abc123';**
然后再进行重新连接。