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 ...
随机推荐
- java内部类细节
1 package face_09; 2 /* 3 * 为什么内部类能直接访问外部类中的成员呢? 4 * 那是因为内部类持有了外部类的引用. 外部类名.this 5 * 6 */ 7 class Ou ...
- ping: Network is unreachable
问题 [root@web-1 yum.repos.d]# ping baidu.com ping: unknown host baidu.com [root@web-1 yum.repos.d]# p ...
- linux正则转换csv文件
- Java当中“+=”和“=+”的区别
"+="会自动类型强制转换! 隐含了一个强制类型转换! 一 string a1 = "9"; int a2 = 10; a1+=a2; a1=a1+a2; 不会 ...
- Go 记录一次groutine通信与context控制
需求背景: 项目中需要定期执行任务A来做一些辅助的工作,A的执行需要在超时时间内完成,如果本次执行超时了,那就不对本次的执行结果进行处理(即放弃这次执行).同时A又依赖B,C两个子任务的执行结果.B, ...
- HTML图片轮播
一.纯 CSS 实现图片轮播 引自原文作者:南张人 原文链接:https://blog.csdn.net/u011848617/article/details/80468463 理论基础 CSS3 a ...
- bom-setTimeout
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Myeclipse设置关键词自动提示功能以及取消空格和"="的自动补全
一.设置Myeclipse从a~z的自动提示功能 1. "window"→"Preferences"2. 选择"Java",展开," ...
- Velocity学习
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11790482.html Velocity学习: 1. velocity对大小写敏感 2. ve ...
- PTM人员(产品技术经理)
以下是一位PTM的工作总结: 责任感 作为PTM一定要有责任感,项目中的所有事情都要作为自己的事情,如果碰到有些项目中的工作没人负责,那么就是PTM的工作没有做到位. 全局观 作为PTM一定要比普 ...