一、检查以前是否安装过MySql

因为cnetos7一般默认安装mariadb,所以要检查mysql或者mariadb是否安装

rpm -pa | grep -i mysql

rpm -pa | grep -i mariadb

结果:

二、发现有的话就都卸载

rpm -e --nodeps 需要卸载的文件名

三、删除老版本MySQL的开发头文件和库

rm -rf  /etc/my.cnf

rm -rf  /var/lib/mysql

注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,确定没用后就收工删除

四、准备安装包

可以根据自己的需要选择自己版本的安装包,一般企业用的是5.7+以上的版本,所以我这里下载的是5.7.2的版本,官方下载:https://downloads.mysql.com/archives/community/

我是自己手动下载之后再上传到虚拟机服务器,同志们也可以根据wget进行下载,各取所需

解压压缩包

tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar

五、安装相应的依赖包

yum install perl

yum install net-tools

六、安装Client & Server

依次执行下列命令进行安装:

rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm

rpm -ivh mmysql-community-libs-5.7.20-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm

七、开启MySql服务

1、查看mysql服务状态:

systemctl status mysqld

service mysql status

2、启动mysql

-- 启动
systemctl start mysqld -- 重启
systemctl restart mysqld

八、登录

1、免密码登录设置,修改配置文件 vi /etc/my.cnf ,找到 [mysqld] ,在下面一行添加 skip-grant-tables ,然后":wq"保存

2、重启mysql 服务 systemctl restart mysqld 然后 输入命令 mysql

如下图说明登录成功

3、选择当前数据库 use mysql;

4、修改root密码

update user set authentication_string=PASSWORD(新密码) where user='root';

5、刷新权限

flush privileges;

6、编辑配置文件/etc/my.cnf 取消 skip-grant-tables

7、重启mysql服务 再次登录 mysql -uroot -p回车,输入刚刚修改的密码然后回车

九、设置root用户允许远程连接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

flush privileges;

十、查看防火墙信息并开放端口

前面步骤都执行完之后,就是要开启防火墙并开通mysql 默认端口3306,傻瓜式执行下面几个命令就行,不要问我为什么,执行就完事

1、查看防火墙状态
systemctl status firewalld 2、如果不是显示active状态,需要打开防火墙
systemctl start firewalld 3、查看所有已开放的临时端口(默认为空)
firewall-cmd --list-ports 4、 查看所有永久开放的端口(默认为空)
firewall-cmd --list-ports --permanent 5、添加永久开放的端口(例如:3306端口)
firewall-cmd --add-port=3306/tcp --permanent 6、配置结束后需要输入重载命令并重启防火墙以生效配置
firewall-cmd --reload
systemctl restart firewalld

十一、远程登录连接

我使用的是Navicat Premium 16工具进行连接的

十二、修改数据库的默认编码 和执行引擎

1、先登录查看,数据库的字符编码,命令 :show variables like '%char%';

2、修改配置文件 /ect/my.cnf,将如下配置添加到配置文件

[mysqld]
lower_case_table_names = 1 # 配置表明不区分大小写 1不区分,0区分
character-set-server = utf8 # 设置默认编码为utf8
init_connect = 'SET NAMES utf8'
max_connections = 1024 # 最大连接数
default-storage-engine = INNODB
collation-server = utf8_general_ci [client]
default-character-set=utf8 # 设置默认编码为utf8

参考学习链接

https://www.bilibili.com/video/BV1di4y1s77q?spm_id_from=333.788.top_right_bar_window_history.content.click

http://t.zoukankan.com/mihoutao-p-13254367.html

################################大功告成##########################################

Linux下安装mysql你又踩过多少坑【宇宙最全教程】的更多相关文章

  1. 【云服务器部署】---Linux下安装MySQL

    [云服务器部署]---Linux下安装MySQL 有关如何阿里云ECS建网站,推荐一片文章,我是是通过这篇文章安装tomcat和jdk的 网址:阿里云ECS建网站(建站)超详细全套完整图文教程! 注意 ...

  2. Linux 下安装mysql 5.7

    Linux 下安装mysql 5.7 本人首次安装时按照菜鸟教程的步骤一步一步来的,结果意外的是 装成5.6了,而且各种无厘头的问题,例如无法启动... 本文参照 大佬:‘这个名字想了很久~’ 的&l ...

  3. linux下安装mysql问题总结(一)mysqld_safe mysqld from pid file /usr/local/mysql/data/mysql.pid ended

    linux下安装mysql数据库 linux版本:CentOS release 6.8 (Final) mysql版本:mysql-5.7.16-linux-glibc2.5-x86_64.tar.g ...

  4. Linux下安装mysql(2) 及常见问题解决(CentOS)

    上一篇讲了基本的安装,这篇姑且算作进阶吧 链接Linux下安装mysql(1) 1.准备好mysql的rpm安装包 2.解压并进入usr/local/mysql 3.先执行useradd mysql( ...

  5. Linux下安装mysql(1)(CentOS)

    标题是(1)也就是说这次是基础安装,这种方式安装,没有组的创建,权限管理,配置文件更改等,仅仅是最基本的安装,适合第一次在linux上安装mysql的新手 1.准备好安装包(Linux-Generic ...

  6. Linux下安装mysql教程

    Linux下安装mysql  MySQL官网:https://dev.mysql.com/downloads/mysql/ 到mysql官网下载mysql编译好的二进制安装包,在下载页面Select ...

  7. Linux下安装 MySQL

    Ubuntu环境 使用二进制安装包安装,相对简单绿色 1.到官网下载二进制压缩包http://dev.mysql.com/downloads/mysql/ 2.选择需要的版本 目前最新为5.7.之后选 ...

  8. linux下安装mysql(rpm文件安装)

    数据库包下载: https://www.mysql.com/downloads/ 在GPL开原协议的社区开源版里边下载 我们用mysql community server里边的 其中workbench ...

  9. Linux 下安装mysql 8.0.11(CentOS 7.4 系统)

    CentOS 7 自带MariaDB (前mysql开发工程师开发的,因此与吗,mysql 有很多相似之处) 1.检查卸载自带的MariaDB rpm -qa|grep mariadb //查询出来已 ...

随机推荐

  1. 权限修饰符和final关键字

    public 不受任何限制,可以被其他任何类访问 一个JAVA文件只能包含一个public文件 java将public类作为每个编译单元的数据接口  只能有一个接口 private 只能在自己类中访问 ...

  2. Redis 学习笔记(一)redis 数据类型和对象机制

    Redis 简介 Redis 是(key-value)的 NoSQL 数据库,所有的 key 都是 String ,它的 value 可以是 String.hash.list.set.zset(有序集 ...

  3. LeetCode673

    LeetCode每日一题2021.9.20 LeetCode673. 最长递增子序列的个数 思路 在最长上升子序列的转移时,维护一个 cnt 数组,表示 以 i 结尾的最长上升子序列个数 f[i] 表 ...

  4. buid-helper-maven-plugin简单使用

    简介 官方文档 https://www.mojohaus.org/build-helper-maven-plugin/index.html 常用的Goals 名称 说明 build-helper:ad ...

  5. c语言之sizeof总结+strlen函数

    一.sizeof的概念 Sizeof是C语言的一种单目操作符,如C语言的其他操作符++.–等.它并不是函数.Sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是一个表达式或括在括号内的类 ...

  6. Android WebView组件 访问部分网页崩溃问题【已解决】

    最近刚接触Android,在测试WebView组件时发现总是出现崩溃现像: 提示:ERR_CLEARTEXT_NOT_PERMITTED 当时以为是权限问题,查找自己的AndroidManifest文 ...

  7. 计算机网络模型与5G协议

    计算机网络模型与5G协议 目录 计算机网络模型与5G协议 一.分层思想 1.什么是分层思想 2.分层思想的优势 二.osi七层参考模型 1.国际标准化组织(ios) 2.七层模型及对应功能和硬件 3. ...

  8. JUC并发包学习

    1.什么是JUC java.util工具包.包.分类 业务:普通的线程代码 Thread Runable:没有返回值.效率相对于Callable相对较低. 2.线程和进程 进程:一个程序.如:QQ.e ...

  9. Bootstrap提供的CDN服务标签与下载文档

    目录 1.引入Bootstrap提供的CDN服务 1.选择下载Bootstrap CDN 二:下载Bootstrap官方文档 1.进入Bootstrap官网,选择3版本中文档. 1.引入Bootstr ...

  10. 矩阵QR分解

    1 orthonormal 向量与 Orthogonal 矩阵 orthonormal 向量定义为 ,任意向量  相互垂直,且模长为1: 如果将  orthonormal 向量按列组织成矩阵,矩阵为  ...