查看系统环境
[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的更多相关文章

  1. linux centos7安装mysql

    1.下载并安装官方的 yum repository (新建了mysql文件夹) wget -i -c http://dev.mysql.com/get/mysql57-community-releas ...

  2. linux centos7 安装常用软件java,node,mysql,Seafile

    linux centos7 安装常用软件java,node,mysql,Seafile 安装压缩解压缩软件 yum install -y unzip zip 安装git yum install -y ...

  3. [CentOs7]安装mysql(2)

    摘要 之前安装过一次mysql,最后配置,发现在本地无法连接,重启服务的时候一直卡在那里不动,感觉是安装的过程出问题,最后没办法还是卸载了,然后重新安装一下. [CentOs7]安装mysql Mys ...

  4. centos7安装mysql(yum)

    centos7安装mysql(yum) ----安装环境----依赖安装----检查mysql是否已安装----安装----验证是否添加成功----选择要启用的mysql版本----通过Yum安装my ...

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

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

  6. Linux - centos7 下 MySQL(mariadb) 和 主从复制

    目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...

  7. centos7安装Mysql爬坑记录

    centos7安装Mysql爬坑记录   查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装 ...

  8. Centos7 安装mysql服务器并开启远程访问功能

    大二的暑假,波波老师送了一个华为云的服务器给我作测试用,这是我程序员生涯里第一次以root身份拥有一台真实的云服务器 而之前学习的linux知识在这时也派上了用场,自己的物理机用的是ubuntu系统, ...

  9. CentOS7安装mysql提示“No package mysql-server available.”

    针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...

随机推荐

  1. golang中GPM模型原理与调度器设计策略

    一.GMP模型原理first: 1. 全局队列:存放待运行的G2. P的本地队列:同全局队列类似,存放待运行的G,存储的数量有限:256个,当创建新的G'时,G'优先加入到P的本地队列,如果队列已满, ...

  2. 将Java连接数据库操作封装到MySQL类中

    public class MySQL { final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; final String D ...

  3. 1. flink 基础

    flink word count  程序 1. 数据集模式 pom.xml 文件 <?xml version="1.0" encoding="UTF-8" ...

  4. Dapr Actor 的微服务架构

    Dapr中的Actor模型,和Orleans的Virtual Actor一脉相传, 圣杰写过一篇文章Orleans 知多少 | .NET Core 分布式框架介绍过.简单来讲:Actor模型 = 状态 ...

  5. Dart 2.16 现已发布

    文 / Michael Thomsen, Dart 产品经理 Dart 2.16 正式发布 Dart 2.16 正式版已于上周发布.尽管没有新的语言特性加入,但本次版本发布包含了数个问题修复 (包括对 ...

  6. 使用Xamarin开发移动应用示例——数独游戏(八)使用MVVM实现完成游戏列表页面

    项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 前面我们已经完成了游戏的大部分功能,玩家可以玩预制的数独游戏,也可以自己添加 ...

  7. 「CTSC2006」歌唱王国

    概率生成函数\(g(x)=\sum_{i\geq 0}t_ix^i\),\(t_i\)表示结果为\(i\)的概率 令\(f(x)\)表示i位表示串结束时长度为i的概率,\(G(x)\)表示i位表示串长 ...

  8. 使用@WebServlet等注解需要i注意的

    Servlet 3.0 的部署描述文件 web.xml 的顶层标签 <web-app> 有一个 metadata-complete 属性,该属性指定当前的部署描述文件是否是完全的.如果设置 ...

  9. Cell简介

    UITableView的每一行都是一个UITableViewCell,通过dataSource的tableView:cellForRowAtIndexPath:方法来初始化每一行 UITableVie ...

  10. 更新docker镜像

    方式一:通过export和import的方式 //导出容器快照到本地文件 $ docker export 1e560fca3906 > ubuntu.tar //将快照文件导入为新的镜像 $ c ...