文档章节

Linux学习之CentOS(1)--CentOS7下Mysql数据库的安装与配置

一叶舟troy
 一叶舟troy
发布于 2015/07/23 16:46
字数 1454
阅读 50
收藏 0

一、mysql简介

CentOS7.0默认的是Mariadb,至于Mariadb是啥?通过百度百科得知如下:

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字

二、卸载掉原有mysql

因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库

[root@xiaoluo ~]# rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库

有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉

[root@xiaoluo ~]# rpm -e mysql  // 普通删除模式
[root@xiaoluo ~]# rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

在删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!!

三、通过yum来进行mysql的安装

我是通过yum的方式来进行mysql的数据库安装,首先我们可以输入 yum list | grep mysql 命令来查看yum上提供的mysql数据库可下载的版本:

[root@xiaoluo ~]# yum list | grep mysql

就可以得到yum服务器上mysql数据库的可下载版本信息:

[root@localhost wang]# yum list | grep mysql 

(注意:安装mysql时我们并不是安装了mysql客户端就相当于安装好了mysql数据库了,我们还需要安装mysql-server服务端才行)

 

yum install mysql

yum install mysql-server

yum install mysql-devel

 

此时我们可以通过如下命令,查看刚安装好的mysql-server的版本

[root@localhost wang]# rpm -qi mysql-server 
package mysql-server is not installed

CentOS 7的yum源中没有正常安装mysql时的mysql-sever文件,需要去官网

1,首先需要去下载rpm包:

镜像地址:http://mysql.mirrors.pair.com/Downloads/

 

wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.1/MySQL-server-community-5.1.72-1.rhel5.x86_64.rpm
wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.1/MySQL-devel-community-5.1.72-1.rhel5.x86_64.rpm
wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.1/MySQL-client-community-5.1.73-1.rhel5.i386.rpm

glibc是GNU发布的libc库

rpm -qa | grep glibc

2,开始安装server端:

yum remove mysql-libs
rpm -ivh MySQL-server-community-5.1.72-1.rhel5.x86_64.rpm

 

【linux】提示"libc.so.6: version `GLIBC_2.14' not found",系统的glibc版本太低

http://www.gnu.org/software/libc/下载最新版本

【结果证明上面方式是错误的 】

从最新版本的linux系统开始,默认的是 Mariadb而不是mysql!

 

四、Mariadb数据库的初始化及相关配置

2. 安装数据库

[root@localhost wang]# yum install mariadb*

3. 启动数据库

service mariadb start

[root@localhost wang]# service mariadb start
Redirecting to /bin/systemctl start  mariadb.service
如果启动那个有问题执行
systemctl status mariadb.service
查看是否启成功
[root@localhost wang]# ps -ef |grep mysqld
mysql     12171      1  0 09:19 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql     12267  12171  0 09:19 ?        00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/localhost.localdomain.err --pid-file=localhost.localdomain.pid
root      12396  11769  0 09:23 pts/0    00:00:00 grep --color=auto mysqld
[root@localhost wang]#

4. 修改root密码

  1. # 修改root密码 
  2. mysqladmin -u root password '123456' 

5. 登录数据库

  1. mysql -h 127.0.0.1 -P 3306 -u root –p 

6. 允许Root用户远程连接

遇到的问题:

MariaDB [mysql]> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

 

 

7.  修改数据存放目录
mysql, MariaDB 的默认数据存放在 /var/lib/mysql/ 目录下,如果不想放到此处,或者是想要程序和数据分离,或者是磁盘原因,需要切换到其他路径,则可以通过修改 datadir系统变量来达成目的.

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

  1. # 停止数据库 
  2. service mysql stop 
  3. # 创建目录,假设没有的话 
  4. mkdir /usr/local/ieternal/mysql_data 
  5. # 拷贝默认数据库到新的位置 
  6. # -a 命令是将文件属性一起拷贝,否则各种问题 
  7. cp -a /var/lib/mysql /usr/local/ieternal/mysql_data 
  8. # 备份原来的数据 
  9. cp -a /etc/my.cnf /etc/my.cnf_original 
  10. # 其实查看 /etc/my.cnf 文件可以发现 
  11. # MariaDB 的此文件之中只有一个包含语句 
  12. # 所以需要修改的配置文件为 /etc/my.cnf.d/server.cnf 
  13. cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf_original 
  14. vim /etc/my.cnf.d/server.cnf 

然后 按 i 进入编辑模式,可以插入相关内容.使用键盘的上下左右键可以移动光标, 编辑完成以后,按 ESC 退出编辑模式(进入命令模式), 然后输入命令:wq 保存并退出

[sql] view plaincopy在CODE上查看代码片派生到我的代码片

  1. # 在文件的 mysqld 节下添加内容 
  2. [mysqld] 
  3. datadir=/usr/local/ieternal/mysql_data/mysql 
  4. socket=/var/lib/mysql/mysql.sock 
  5. #default-character-set=utf8 
  6. character_set_server=utf8 
  7. slow_query_log=on
  8. slow_query_log_file=/usr/local/ieternal/mysql_data/slow_query_log.log 
  9. long_query_time=2 

其中,也只有 datadir 和 socket 比较重要; 而 default-character-set 是 mysql 自己认识的,而 mariadb5.5 就不认识,相当于变成了 character_set_server

7.1 创建慢查询日志文件

既然上面指定了慢查询日志文件,我后来看了下MariaDB的err日志,发现MariaDB不会自己创建该文件,所以我们需要自己创建,并修改相应的文件权限(比如 mysql 采用 mysql用户,可能我们使用 root用户创建的文件,此时要求慢查询日志文件对mysql用户可读可写就行。)

© 著作权归作者所有

一叶舟troy
粉丝 10
博文 27
码字总数 24336
作品 0
程序员
私信 提问
【Linux】【MySQL】CentOS7安装最新版MySQL8.0.13(最新版MySQL从安装到运行)

1、前言   框框博客在线报时:2018-11-07 19:31:06   当前MySQL最新版本:8.0.13 (听说比5.7快2倍)   官方之前表示:MySQL 8.0 正式版 8.0.11 已发布,MySQL 8 要比 MySQL 5.7 快 2 ...

Code辉
01/19
460
1
centos 7 安装mysql5.6rpm格式

1查看是否安装了mysql rpm -qa|grep -i mysql 如果安装了请卸载:rpm -e --nodeps MySQL... 2、没有安装则进行如下操作 下载mysql rpm tar包 https://dev.mysql.com/downloads/mysql/ 格式为r...

骚里骚气1
2018/08/22
0
0
Linux系统入门学习:在CentOS上安装phpMyAdmin

问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库。在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAdmin是一款以PHP为基础,基于Web的...

imzdx
2015/11/11
0
0
Centos7.3二进制格式安装MariaDB

Centos7.3二进制格式安装MariaDB 背景: CentOS7开始,数据库使用的是MariaDB数据库,而yum安装的数据库版本比较低,所以学习了在CentOS7.3版本二进制安装MariaDB-10.2.8,在此记录下安装过程...

657188918
2017/09/24
0
0
Mysql主从复制

Mysql主从复制 背景: Mysql可以实现主从复制,在学习了Mysql主从复制后,将一些如何主从复制过程记录下来,供以后复习使用。 准备: 在做Mysql的主从复制前需要做一些准备工作: 1、同步时间...

657188918
2017/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部