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 ...
随机推荐
- 集合框架-Map集合-LinkedHashMap及关联源码操作
1 package cn.itcast.p9.linkedhashmap.demo; 2 3 import java.util.HashMap; 4 import java.util.Iterator ...
- Linux 标准输入输出、重定向
一 相关知识 1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |). 2)默认地,标准的输出为终端(terminal),但是也可以重定向到文件,管道或后引号(backquotes ` ...
- .NET 7 预览版来啦,我升级体验了
听说.NET 7 来了,站长怎能不尝鲜呢,在除夕当天将体验情况简单汇报下,然后迎新春喽: 本文目录 .NET 7 详情(Proposed .NET 7 Breaking Changes #7131) ...
- W11更新,卡在正在准备Windows界面的解决办法
昨天更新win11的时候,莫名其妙卡在了正在准备Windows界面. 为什么更新卡住了? 原因可能有很多: 更新文件大小可能很大,您的计算机可能会遇到问题. 机器停电或机器过热中断更新,这有可能导致一 ...
- C++ 子函数参数传递过程
编译环境:Visual Studio 2015 参数传递与汇编语言有很大关系.子函数传递参数主要方式有三种(这三种参数传递方式都可用用于x86汇编语言甚至其它汇编语言): 寄存器方式传递参数 存储器方 ...
- C++ 类对象内存模型分析
编译环境:Windows10 + VS2015 1.空类占用的内存空间 类占内存空间是只类实例化后占用内存空间的大小,类本身是不会占内存空间的.用sizeof计算类的大小时,实际上是计算该类实例化后对 ...
- 【Python爬虫】爬虫利器 requests 库小结
requests库 Requests 是一个 Python 的 HTTP 客户端库. 支持许多 HTTP 特性,可以非常方便地进行网页请求.网页分析和处理网页资源,拥有许多强大的功能. 本文主要介绍 ...
- 别人都在认真听课,我埋头写Python为主播疯狂点点点点点赞!
最近有次在钉钉看直播,发现这个直播非常之精彩,于是情不自禁地想要为主播大佬连刷一波赞: 但我发现,手动连击点赞速度十分不可观.气人的是,钉钉直播不能长按刷赞!这让我很恼怒.心中满怀的激动和兴奋以及对大 ...
- .NET 诞生已20周年,您的 .NET 技能是否还停留在2010 年?
20年来,我们见证了超过上千万.NET 开发员,当前有600万.NET 开发者正在使用.NET技术构建各类解决方案.今天,IT市场对.NET 开发人员的需求达到了前所未有的程度,特别是在中国,各大公司 ...
- [USACO19JAN]Exercise Route P
先让我们探索一下两条非树边以及树边能构成简单环的条件是什么,你会发现将第一条非树边的两个点在树上形成的链记为 \(W_1\),另一条即为 \(W_2\),那么当且仅当 \(W_1, W_2\) 有交时 ...