linux(Centos7)安装mysql
查看系统环境
[root@localhost html]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
所以centos7默认带mariadb, 可以 rpm -qa | grep mariadb 来看是否安装mariadb (rpm -qa 是用来查询所有已经安装的软件包)
网上给出了很多方法,这里来区别一下
方法一 (已不能用):
yum install mysql
yum install mysql-server
yum install mysql-devel
运行 yum install mysql , 显示安装的是mariadb.x86_64 1:5.5.68-1.2l7

安装mysql-server , 没有这个包

安装mysql-devel , 显示的是mariadb-devel

方法二(使用mariadb):
yum install mariadb
yum install mariadb-server #安装了这个才能启动服务
systemctl start mariadb #启动服务
systemctl enable mariabdb #开机启动
systemctl status mariadb #查看服务是否启动
进行MariaDB的相关简单配置
mysql_secure_installation
首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置 (回车就是y)
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
然后用root进行登录
mysql -u root -p # -u 后接用户
输入密码后就进入mysql
配置MariaDB的字符集
无论是使用XAMPP类似集成环境或是手工安装的MySQL/MariaDB默认字符集都是lartin1,后续调用的时候每次都要进行转码很麻烦,记录一下通过修改配置文件修改数据库的默认编码:
Linux下修改文件/etc/my.cnf ,windows下修改my.ini,内容一样的
第一步:
vi /etc/my.cnf
在 [mysqld] 下添加
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
第二步:
vi /etc/my.cnf.d/client.cnf
在 [client] 下添加
default-character-set=utf8
第三步:
vi /etc/my.cnf.d/mysql-clients.cnf
在 [mysql] 下添加
default-character-set=utf8
第三步:
systemctl restart mariadb
最后就可以进入MariaDB查看字符集
mysql> show variables like "%character%";show variables like "%collation%";
显示为

方法三 (官网下载安装mysql-server)
从官网安装mysql-community-release-el7-5.noarch.rpm包
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm #下载包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
wget命令通过yum install wget 下载安装
wget 下载指点url的rpm包,若不指定下载路径,则默认安装在当前文件夹
从yum库中安装mysql-community-server (没这个启动不了服务)
yum install mysql-server
这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb
注:若安装了mysql,则会完全覆盖之前的mariadb,yum install mysql 更改为下载Mysql(默认是mariadb)
若要删除用rpm,yum都行,但是可能处在删除不彻底,若要删除彻底,请百度
systemctl start mysqld
systemctl start mysqld.service
service mysqld start
service mysqld.service start 四种方法都能启动服务 systemctl status mysqld
systemctl status mysqld.service
service mysqld status
service mysqld.service status
四种方法都能显服务状态
对mysql进行配置,和mariadb一样
mysql_secure_installation
如果之前安装了mysql 或者mariadb ,又没有删除用户的,原有的用户密码文件还在,可以直接mysql -u root -p
下面是伪用户


对mysql设置编码
show variables like 'character%';
查看MySQL编码,有两个不是utf-8,如果输入中文会出现乱码

为了解决中文乱码问题
通过修改配置文件my.cnf , 在 [mysqld]下增加 character-set-server=utf8
有的是添加default-character-set=utf8 , 但是我用centos7后服务无法启动
再加上init_connect=’SET NAMES utf8’ (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

然后systemctl restart mysqld
查看编码 ,变为utf8了

不过 修改数据库的字符集之后,只对以后创建的库和表生效。对之前的库和表无能为力,需要手动修改已经的库和表字符集
修改库的字符集
alter database (database) character set 'utf8';
修改表的字符集
use demo; alter table (table) convert to character set 'utf8';
注:在修改配置时,建议先停服务再修改!其实所有的服务都应该这么处理,良好的习惯,让我们避免遇到不必要的问题!
linux(Centos7)安装mysql的更多相关文章
- linux centos7安装mysql
1.下载并安装官方的 yum repository (新建了mysql文件夹) wget -i -c http://dev.mysql.com/get/mysql57-community-releas ...
- linux centos7 安装常用软件java,node,mysql,Seafile
linux centos7 安装常用软件java,node,mysql,Seafile 安装压缩解压缩软件 yum install -y unzip zip 安装git yum install -y ...
- [CentOs7]安装mysql(2)
摘要 之前安装过一次mysql,最后配置,发现在本地无法连接,重启服务的时候一直卡在那里不动,感觉是安装的过程出问题,最后没办法还是卸载了,然后重新安装一下. [CentOs7]安装mysql Mys ...
- centos7安装mysql(yum)
centos7安装mysql(yum) ----安装环境----依赖安装----检查mysql是否已安装----安装----验证是否添加成功----选择要启用的mysql版本----通过Yum安装my ...
- linux下安装mysql(rpm文件安装)
数据库包下载: https://www.mysql.com/downloads/ 在GPL开原协议的社区开源版里边下载 我们用mysql community server里边的 其中workbench ...
- Linux - centos7 下 MySQL(mariadb) 和 主从复制
目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...
- centos7安装Mysql爬坑记录
centos7安装Mysql爬坑记录 查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装 ...
- Centos7 安装mysql服务器并开启远程访问功能
大二的暑假,波波老师送了一个华为云的服务器给我作测试用,这是我程序员生涯里第一次以root身份拥有一台真实的云服务器 而之前学习的linux知识在这时也派上了用场,自己的物理机用的是ubuntu系统, ...
- CentOS7安装mysql提示“No package mysql-server available.”
针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...
随机推荐
- HttpServletRequest类介绍
HttpServletRequest类介绍 1,HttpServletRequest类作用: 每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的HTTP协议信息解析好封装到Req ...
- (2)RabbitMQ架构设计与应用场景
1.什么是消息中间件? 消息是指应用间传输的数据.消息体包括文本字符串.Json.内嵌对象等.消息中间件是基于队列模型实现异步和同步传输数据的.作用:解耦,冗余(存储).扩展性.削峰.可恢复性.顺序保 ...
- Android开发-页面绘制
今天主要绘制了记账页面 记账页面用到的布局是TableLayout加Viewpager联动的方式,通过设置一个标题头可以实现页面的左右滑动,viewpager中添加两个fragment. 需要制作两个 ...
- plsql 储存过程 参数的传递方式?
/* 存储过程 一.oracel存储过程 1.没有返回值 return 值: 2.用输出参数来代替返回值: 3.输出参数可以有多个 二.参数的传递方式 1. 按位置传递 2. 按名字传递 3.混合传递 ...
- Codeforces Round #738 (Div. 2)
Codeforces Round #738 (Div. 2) 跳转链接 A. Mocha and Math 题目大意 有一个长度为\(n\)的数组 可以进行无数次下面的操作,问操作后数组中的最大值的最 ...
- ApacheCN PythonWeb 译文集 20211028 更新
Django By Example 中文版 1 创建一个博客应用 2 为博客添加高级功能 3 扩展你的博客应用 4 创建一个社交网站 5 分享内容到你的网站 6 跟踪用户动作 7 构建在线商店 8 管 ...
- (4)什么是Ribbon负载均衡
4.Ribbon负载均衡 上一节中,我们添加了@LoadBalanced注解,即可实现负载均衡功能,这是什么原理呢? 4.1.负载均衡原理 SpringCloud底层其实是利用了一个名为Ribbon的 ...
- java.lang.IllegalArgumentException: Failed to register servlet with name 'dispatcher'.Check if there is another servlet registered under the same name
前言 一年前接手了一个项目,项目始终无法运行,不管咋样,都无法处理,最近,在一次尝试中,终于成功处理了. 含义 意思很明显了,注册了一个相同的dispatcher,可是找了很久,没有相同的Contro ...
- JVM学习十四 - (复习)类文件结构
类文件结构 JVM 的"无关性" 谈论 JVM 的无关性,主要有以下两个: 平台无关性:任何操作系统都能运行 Java 代码 语言无关性: JVM 能运行除 Java 以外的其他代 ...
- 短信发送器小案例 smsManager
总结实现步骤 (1)画 mainActivity页面 <LinearLayout xmlns:android="http://schemas.android.com/apk/r ...