详解CentOS7 安装 MariaDB 10.2.4的方法
CentOS 6 及之前的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
1、删除自带 MySQL/MariaDB
1.1、搜索 MariaDB 现有包
使用rpm -qa | grep mariadb搜索 MariaDB 现有的包。如果存在,使用rpm -e –nodeps mariadb-*全部删除:
[root@master ~]# rpm -qa | grep mariadb
mariadb-server-5.5.52-1.el7.x86_64
mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -e mysql-*
错误:未安装软件包 mysql-*
1.2、移除 MariaDB 现有包
如果存在,使用 yum remove mysql mysql-server mysql-libs compat-mysql51
全部删除:
[root@master ~]# yum remove mysql mysql-server mysql-libs compat-mysql51
已加载插件:fastestmirror, langpacks
参数 mysql 没有匹配
参数 mysql-server 没有匹配
参数 compat-mysql51 没有匹配
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.52-1.el7 将被 删除
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 perl-DBD-MySQL-4.023-5.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 2:postfix-2.10.1-6.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 1:qt-mysql-4.8.5-13.el7.x86_64 需要..........
删除:
mariadb-libs.x86_64 1:5.5.52-1.el7
作为依赖被删除:
akonadi-mysql.x86_64 0:1.9.2-4.el7 mariadb-server.x86_64 1:5.5.52-1.el7
perl-DBD-MySQL.x86_64 0:4.023-5.el7 postfix.x86_64 2:2.10.1-6.el7
qt-mysql.x86_64 1:4.8.5-13.el7
完毕!
[root@master ~]# rpm -qa|grep mariadb
[root@master ~]#
2、MariaDB 安装
2、Server 和 Client 安装
[root@master ~]# yum -y install MariaDB-server MariaDB-client
Loaded plugins: fastestmirror, langpacks
(1/7): epel/7/x86_64/updateinfo
...
(7/7): pgdg95/7/x86_64/primary_db
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
...
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================
Package Arch Version
==============================================================================
Installing:
MariaDB-client x86_64 10.2.4-1.el7.centos
MariaDB-server x86_64 10.2.4-1.el7.centos
Installing for dependencies:
MariaDB-common x86_64 10.2.4-1.el7.centos
MariaDB-compat x86_64
...
Transaction Summary
==============================================================================
Install 2 Packages (+12 Dependent packages)
Total size: 173 M
Total download size: 113 M
Installed size: 731 M
...
Complete!
[root@master ~]# systemctl start mariadb
[root@master ~]# systemctl enable mariadb
[root@master ~]# systemctl restart mariadb
[root@master ~]# systemctl stop mariadb.service
[root@master ~]# mysql -uroot -p123456
[root@master etc]# cat /etc/my.cnf
如果/etc/my.cnf.d 目录下无server.cnf文件,则直接在/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
[root@master my.cnf.d]# mysql -uroot -p123456
MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
MariaDB [(none)]> create user mariadb@localhost identified by '123456';
MariaDB [(none)]> grant all on *.* to mariadb@localhost identified by '123456';
MariaDB [(none)]> grant all privileges on *.* to mariadb@'%' identified by '123456';
MariaDB [(none)]> grant all privileges on *.* to mariadb@'master' identified by '123456' with grant option;
MariaDB [(none)]> use mysql;
MariaDB [mysql]> select host,user,password from user;
忘记root用户名和密码
首先用 killall -TERM mysqld
向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作
然后 /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &
登录 : mysql -p或者使用mysql无密码登录
use mysql
update user set password=password(“new_pass”) where user=“root”;
flush privileges;
exit;
修改完成之后重启数据库,即可用修改好 root 密码登录 .
总结
以上所述是小编给大家介绍的CentOS7 安装 MariaDB 10.2.4的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 原创 | 这道题codeforces的简单题差点做了我一下午,你能解出来吗?
- OpenCV4 部署DeepLabv3+模型
- 使用OpenCV实现哈哈镜效果
- 如何使用OpenCV在Python中访问IP摄像头
- 分享我学习Pandas使用的资料,可能是新手入门Pandas最好的教程!
- 原创 | Git入门教程,详解Git文件的四大状态
- 原创 | ACMer不得不会的线段树,究竟是种怎样的数据结构?
- dplyr包summarize的使用
- Mysql的binlog和relay-log到底长啥样?
- 原创 | matplotlib绘图教程,设置标签与图例
- 原创 | 从抽象类开始,详解责任链模式
- 开发一个渐进式Web应用程序(PWA)前都需要了解什么?
- 知识图谱入门(二)
- 常见编程模式之循环排序
- Python中浅拷贝与深拷贝的骚操作