说明: 首先必须能链接外网. 如果不能直接访问,那也可以设置代理,请参考: 在内网机器上设置yum代理


使用 yum 的权限要求是 root 用户,如果你不是,那么可以需要 在 shell命令之前加上 sudo,或者 su root 切换到 super 管理员进行操作. 并可能需要输入密码.


1. 添加 yum 数据源;


建议命名为 MariaDB.repo 类似的名字:


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

cd /etc/yum.repos.d/

vim /etc/yum.repos.d/MariaDB.repo


然后,写入文件内容:(建议使用 10.0)


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

# MariaDB 10.0 CentOS repository list - created 2015-08-12 10:59 UTC

# http://mariadb.org/mariadb/repositories/

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.0/centos6-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1


该文件的内容是参考官网,并从官网上生成的,设置安装源仓库的 具体的地址为: https://downloads.mariadb.org/mariadb/repositories/

选择好操作系统版本之后既可以查看,其他操作系统的安装源也可以在此处查看并设置。


如果服务器不支持https协议,或者gpgkey 保错,确保没问题的话,可以将 gpgcheck=1 修改为 gpgcheck=0,则不进行校验.


我的示例:


[root@localhost ~]# cat /etc/yum.repos.d/MariaDB.repo


# MariaDB 10.1 CentOS repository list - created 2017-04-05 08:04 UTC

# http://downloads.mariadb.org/mariadb/repositories/

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.1/centos6-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1


2. 安装数据库


# yum remove MariaDB-server MariaDB-client


yum -y install MariaDB-server MariaDB-client


如果要删除旧的数据库可以使用remove,参数 -y 是确认,不用提示。此处,安装的是服务器和客户端,一般来说安装这两个就可以了。


3. 启动数据库


如果不用进行其他的操作,则现在就可以直接启动数据库,并进行测试了。


# 查看MysqL状态;关闭数据库

# service MysqL status

# service MysqL stop

# 启动数据库

service MysqL start

4. 修改root密码

# 修改root密码

MysqLadmin -u root password 'root'


因为安装好以后的root密码是空,所以需要设置; 如果是测试服务器,那么你可以直接使用root,不重要的密码很多时候可以设置为和用户名一致,以免忘记了又想不起来。

如果是重要的服务器,请使用复杂密码,例如邮箱,各种自由组合的规则的字符等。

我的示例:


[root@localhost ~]# service MysqL start

Starting MysqL.170405 17:20:34 MysqLd_safe Logging to '/var/lib/MysqL/localhost.localdomain.err'.

170405 17:20:34 MysqLd_safe Starting MysqLd daemon with databases from /var/lib/MysqL

[ OK ]

root@localhost ~]# ps aux|grep mysq

root 8824 0.0 0.0 11436 1564 pts/0 S 17:20 0:00 /bin/sh /usr/bin/MysqLd_safe --datadir=/var/lib/MysqL --pid-file=/var/lib/MysqL/localhost.localdomain.pid

MysqL 8898 1.1 1.6 824048 134948 pts/0 Sl 17:20 0:00 /usr/sbin/MysqLd --basedir=/usr --datadir=/var/lib/MysqL --plugin-dir=/usr/lib64/MysqL/plugin --user=MysqL --log-error=/var/lib/MysqL/localhost.localdomain.err --pid-file=/var/lib/MysqL/localhost.localdomain.pid


5. 登录数据库


MysqL -u root -p


如果是本机,那可以直接使用上面的命令登录,当然,需要输入密码. 如果是其他机器,那么可能需要如下的形式:

MysqL -h 127.0.0.1 -P 3306 -u root -p

[root@localhost ~]# MysqL

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 3

Server version: 10.1.22-MariaDB MariaDB Server


copyright (c) 2000,2016,Oracle,MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [(none)]>

MariaDB [(none)]> show variables like 'innodb_file_per%';

+-----------------------+-------+

| Variable_name | Value |

+-----------------------+-------+

| innodb_file_per_table | ON |

+-----------------------+-------+

1 row in set (0.00 sec)


6. 简单sql测试


-- 查看MysqL的状态

status;

-- 显示支持的引擎

show engines;

-- 显示所有数据库

show databases;

-- 切换数据库上下文,即设置当前会话的默认数据库

use test;

-- 显示本数据库所有的表

show tables;

-- 创建一个表

CREATE TABLE t_test (

id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,

userId char(36),

lastLoginTime timestamp,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 插入测试数据

insert into t_test(userId)

values

('admin')

,('haha')

;

-- 简单查询

select * from t_test;

select id,userId from t_test where userId='admin' ;


7. 修改数据存放目录


MysqL,MariaDB 的默认数据存放在 /var/lib/MysqL/ 目录下,如果不想放到此处,或者是想要程序和数据分离,或者是磁盘原因,

需要切换到其他路径,则可以通过修改 datadir系统变量来达成目的.


# 停止数据库


[root@localhost ~]# service MysqL stop

Shutting down MysqL... [ OK ]

# 创建目录,假设没有的话


[root@localhost ~] # mkdir -p /data/MysqL


#设置权限

[root@localhost ~]# chown -R MysqL:MysqL /data/


[root@localhost ~]# ll /data/

total 4

drwxr-xr-x 5 MysqL MysqL 4096 Apr 5 17:50 MysqL


# 按下面的命令重新初始化数据库

[root@localhost ~]# /usr/bin/MysqL_install_db --defaults-file=/etc/my.cnf.d/server.cnf --datadir=/data/MysqL --user=MysqL

# 查看/data/MysqL下面的是否生成数据


[root@localhost ~]# ls /data/MysqL/

aria_log.00000001 bogon.err ib_logfile0 localhost.localdomain.err performance_schema

aria_log_control ibdata1 ib_logfile1 MysqL test

# 其实查看 /etc/my.cnf 文件可以发现

# MariaDB 的此文件之中只有一个包含语句

# 所以需要修改的配置文件为 /etc/my.cnf.d/server.cnf


cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf_original

vim /etc/my.cnf.d/server.cnf


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

我的示例:


[root@localhost ~]# cat /etc/my.cnf.d/server.cnf

#

# These groups are read by MariaDB server.

# Use it for options that only the server (but not clients) should see

#

# See the examples of server my.cnf files in /usr/share/MysqL/

#


# this is read by the standalone daemon and embedded servers

[server]


# this is only for the MysqLd standalone daemon

[MysqLd]


datadir=/data/MysqL #设置/data/MysqL为新文件的数据目录

socket=/var/lib/MysqL/MysqL.sock

#

# * galera-related settings

#

[galera]

# Mandatory settings

#wsrep_on=ON

#wsrep_provider=

#wsrep_cluster_address=

#binlog_format=row

#default_storage_engine=InnoDB

#innodb_autoinc_lock_mode=2

#

# Allow server to accept connections on all interfaces.

#

#bind-address=0.0.0.0

#

# Optional setting

#wsrep_slave_threads=1

#innodb_flush_log_at_trx_commit=0


# this is only for embedded server

[embedded]


# This group is only read by MariaDB servers,not by MysqL.

# If you use the same .cnf file for MysqL and MariaDB,

# you can put MariaDB-only options here

[mariadb]


# This group is only read by MariaDB-10.1 servers.

# If you use the same .cnf file for MariaDB of different versions,

# use this group for options that older servers don't understand

[mariadb-10.1]

#重启MysqL


[root@localhost ~]# service MysqL start

Starting MysqL.170405 17:50:20 MysqLd_safe Logging to '/data/MysqL/localhost.localdomain.err'.

170405 17:50:20 MysqLd_safe Starting MysqLd daemon with databases from /data/MysqL

[ OK ]


提示:


/usr/bin/MysqLd_safe_helper: Can't create/write to file '/data/MysqL/bogon.err' (Errcode: 13 "Permission denied")

ERROR!

害苦了我,多方查找才发selinx开启这呢,果断禁用,然后重启操作系统:OK!!!


vim /etc/sysconfig/selinux

SELINUX=disabled


[root@localhost ~]# MysqL

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 3

Server version: 10.1.22-MariaDB MariaDB Server


copyright (c) 2000,MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [(none)]> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| MysqL |

| performance_schema |

| test |

+--------------------+

4 rows in set (0.00 sec)


7.1 创建慢查询日志文件


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



touch /usr/local/ieternal/MysqL_data/slow_query_log.log

chmod 666 /usr/local/ieternal/MysqL_data/slow_query_log.log

然后重新启动MysqL.



service MysqL start


8、MysqL初始设置

1、删除匿名用户

MysqL> delete from MysqL.user where user='';


2、设置root密码

1)、

MysqLadmin -u root password "newpass"

2)、

MysqL> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

3)、

MysqL> UPDATE MysqL.user SET Password = PASSWORD('db@pass123') WHERE user = 'root';

MysqL> FLUSH PRIVILEGES;


4)、在丢失root密码的时候,可以这样


   MysqLd_safe --skip-grant-tables&

   MysqL -u root MysqL

MysqL> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

   MysqL> FLUSH PRIVILEGES;


MysqL> grant all on *.* to pancou@'%' identified by 'pancou';

CentOS安装并设置MariaDB的更多相关文章

  1. canvas中普通动效与粒子动效的实现代码示例

    canvas用于在网页上绘制图像、动画,可以将其理解为画布,在这个画布上构建想要的效果。本文详细的介绍了粒子特效,和普通动效进行对比,非常具有实用价值,需要的朋友可以参考下

  2. H5混合开发app如何升级的方法

    本篇文章主要介绍了H5混合开发app如何升级的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  3. canvas学习和滤镜实现代码

    这篇文章主要介绍了canvas学习和滤镜实现代码,利用 canvas,前端人员可以很轻松地、进行图像处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  4. localStorage的过期时间设置的方法详解

    这篇文章主要介绍了localStorage的过期时间设置的方法详解的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. 详解HTML5 data-* 自定义属性

    这篇文章主要介绍了详解HTML5 data-* 自定义属性的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  6. HTML5的postMessage的使用手册

    HTML5提出了一个新的用来跨域传值的方法,即postMessage,这篇文章主要介绍了HTML5的postMessage的使用手册的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. 教你使用Canvas处理图片的方法

    本篇文章主要介绍了教你使用Canvas处理图片的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  8. 详解前端HTML5几种存储方式的总结

    本篇文章主要介绍了前端HTML5几种存储方式的总结 ,主要包括本地存储localstorage,本地存储sessionstorage,离线缓存(application cache),Web SQL,IndexedDB。有兴趣的可以了解一下。

  9. PhoneGap / iOS上的SQLite数据库 – 超过5mb可能

    我误解了什么吗?Phonegap中的sqlitedbs真的有5mb的限制吗?我正在使用Phonegap1.2和iOS5.解决方法您可以使用带有phonegap插件的原生sqliteDB,您将没有任何限制.在iOS5.1中,Websql被认为是可以随时删除的临时数据…

  10. ios – 尝试向我们分配IP而不是localhost或home时,NSURLSession失败

    我有一台本地运行的服务器(我的IP是192.168.0.98),并且已经尝试使用一些网络代码来访问它.最初这是通过AFNetworking完成的,但我现在用这样的NSURLSession完成了它:然后我用这3个URL运行它:>http://localhost:8080/api–>作品.>http://127.0.0.1:8080/api–>作品.>http://192.168.0.98:8080/

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部