找回密码
 注册
查看: 3673|回复: 0

CentOS 7.0系统下安装配置mariadb步骤详解

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2017-5-23 09:03:45 | 显示全部楼层 |阅读模式

, [- |* L; @: O. a

/ v% @3 c6 r9 T2 p& p& r8 e/ A[p=120, null, left]shell >

[p=120, null, left]hostname  mariadbServer  

[p=120, null, left]#临时设置主机名为

[p=120, null, left]mariadbServer  

[p=143, null, left]mariadbServer  

[p=143, null, left]#修改localhost.localdomain为

[p=143, null, left]mariadbServer  

[p=143, null, left]:wq!  #保存退出

[p=121, null, left]shell >

[p=121, null, left]vi /etc/hostname #编辑配置文件

[p=143, null, left]127.0.0.1   localhost  mariadbServer  

[p=143, null, left]#修改localhost.localdomain为

[p=143, null, left]mariadbServer  

[p=143, null, left]:wq!  #保存退出

[p=120, null, left]shell >

[p=120, null, left]vi /etc/hosts #编辑配置文件

[p=143, null, left]a.

[p=143, null, left]若安装时没有设置主机名

[p=143, null, left],

[p=143, null, left]则参考以下步骤设置主机名

[p=143, null, left]:

[p=121, null, left]shell >

[p=121, null, left]cd  /etc/sysconfig/network-scripts/

[p=143, null, left]HWADDR=00:0C:29:8D:24:73

[p=142, null, left]TYPE=Ethernet

[p=143, null, left]BOOTPROTO=static  #启用静态IP地址

[p=143, null, left]DEFROUTE=yes

[p=142, null, left]PEERDNS=yes

[p=143, null, left]PEERROUTES=yes

[p=143, null, left]IPV4_FAILURE_FATAL=no

[p=143, null, left]IPV6INIT=yes

[p=142, null, left]IPV6_AUTOCONF=yes

[p=143, null, left]IPV6_DEFROUTE=yes

[p=143, null, left]IPV6_PEERDNS=yes

[p=142, null, left]IPV6_PEERROUTES=yes

[p=143, null, left]IPV6_FAILURE_FATAL=no

[p=143, null, left]NAME=eno16777736

[p=143, null, left]UUID=ae0965e7-22b9-45aa-8ec9-3f0a20a85d11

[p=142, null, left]ONBOOT=yes  #开启自动启用网络连接

[p=143, null, left]IPADDR0=192.168.21.128  #设置IP地址

[p=143, null, left]PREFIXO0=24  #设置子网掩码

[p=142, null, left]GATEWAY0=192.168.21.2

[p=142, null, left] #设置网关

[p=143, null, left]DNS1=8.8.8.8  #设置主DNS

[p=143, null, left]DNS2=8.8.4.4  #设置备DNS

[p=143, null, left]:wq!  #保存退出

[p=121, null, left]shell >

[p=121, null, left]vi  ifcfg-eno16777736

[p=121, null, left]shell >

[p=121, null, left]service network restart   #重启网络

[p=120, null, left]--

[p=120, null, left]若习惯

[p=120, null, left]ifconfig  

[p=120, null, left]可以使用

[p=120, null, left]yum install net-tools

[p=120, null, left]进行安装

[p=121, null, left]shell >

[p=121, null, left]ip addr  #CentOS 7 ifconfig

[p=121, null, left]命令已经过时

[p=121, null, left]查看IP地址使用

[p=121, null, left]ip addr

[p=121, null, left]

[p=121, null, left]ip link

[p=142, null, left]b.

[p=142, null, left]网络配置

[p=143, null, left]CentOS 7.0默认使用的是firewall作为防火墙,这里改为常用的iptables防火墙。

[p=143, null, left]systemctl stop firewalld.service #停止firewall

[p=143, null, left]systemctl disable firewalld.service #禁止firewall开机启动

[p=142, null, left]     --

[p=142, null, left]关闭firewall

[p=142, null, left]:

[p=142, null, left]yum install iptables-

[p=142, null, left]services #安装

[p=143, null, left]# sample configuration for iptables service

[p=142, null, left]# you can edit this manually or use system-config-firewall

[p=143, null, left]# please do not ask us to add additional ports/services to this default configuration

[p=143, null, left]*filter

[p=143, null, left]:INPUT ACCEPT [0:0]

[p=142, null, left]:FORWARD ACCEPT [0:0]

[p=143, null, left]:OUTPUT ACCEPT [0:0]

[p=143, null, left]-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

[p=142, null, left]-A INPUT -p icmp -j ACCEPT

[p=143, null, left]-A INPUT -i lo -j ACCEPT

[p=143, null, left]-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

[p=143, null, left]-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

[p=142, null, left]-A INPUT -p tcp -m state --state NEW -m tcp --dport 12888 -j ACCEPT

[p=143, null, left]-A INPUT -j REJECT --reject-with icmp-host-prohibited

[p=143, null, left]-A FORWARD -j REJECT --reject-with icmp-host-prohibited

[p=142, null, left]COMMIT

[p=143, null, left]vi /etc/sysconfig/iptables #编辑防火墙配置文件

[p=143, null, left]:wq! #保存退出

[p=143, null, left]     --

[p=143, null, left]安装iptables防火墙

[p=143, null, left]c.

[p=143, null, left]防火墙设置

[p=143, null, left]

4 e1 c& C- h+ F  V0 t

% P0 s+ [; o2 P9 E; [6 [
6 x0 K: x% y1 `  U& P
, k( @% K& I2 g4 N0 R& M( d9 p

, g. g5 g5 X9 y$ l9 A2 i
) u; A  A; N: D. M& D
0 c' }& X! b/ `) ^: @9 E. P' U

0 U& I( ^, |* U, D, G! j3 q2 T+ Z6 f& F

0 J: }7 m  t- w* t: \6 V9 ^) e4 @; ~$ Z) W3 T0 z8 v3 _* g

+ ~$ m6 p# T- @' {5 @0 {# V
6 a/ U8 b* I: F; f! z! @+ A( E: ?( R/ t+ ^
+ d  a2 f2 k, x: @6 Z: M& I( G
systemctl restart iptables.service #最后重启防火墙使配置生效+ w$ a) g: }# F- x% B
systemctl enable iptables.service #设置防火墙开机启动
& @# l9 s. i9 vvi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加
0 ~. H. V5 a$ ~& D:wq! #保存退出立即启用setenforce 07 ~! a! |9 S  r) R: U0 B% x
d.关闭SELINUX
; Q( w9 m, m! Q) U' O7 J+ F5 k>vi /etc/ssh/sshd_config
" V5 B$ O0 W; C8 [" A8 D--打开并修改PermitRootLogin 为noservice sshd restart
% L, s$ l: N3 x6 Z* w* K+ @% b--打开并修改port为12887* \5 L* N/ n4 [
e.修改ssh默认端口,并取消允许root的ssh权限,防止暴力破解
( n1 p7 `; X$ V) r6 I7 F4 pa.上传安装source到目录,使用wincp或vsftpd,建议使用wincpshell> yum install -y gcc gcc-c++ # Z( J8 H! V; o# m3 \& W
    安装依赖的package:7 C( p5 S. m4 K6 b( b
      shell> yum install -y cmakelibaio bison ncurses-devel
+ w2 w5 v8 n) U( fshell> groupadd mariadb --创建mariadb组
6 u; K5 s# K" sshell> useradd -g mariadbmariadb --创建mariadb用户, r2 P1 X6 m6 m$ k8 `7 y
shell>passwd mariadb  --修改密码b.添加用户和组
0 X# @$ [! q% r  V  p. eshell>cd /usr/local4 k$ e1 C* B6 y6 W
shell>tar -zxvf /root/mariadb-10.0.13-linux-x86_64.tar.gz shell>ln -s /usr/local/mariadb-10.0.13-linux-x86_64mariadbc.解压缩并创建链接
- x* {, f# w4 N+ E' R" u4 Bshell> cd mariadb; E  Y) `- L2 z0 y4 @
shell> chown -R mariadb .shell> chgrp -R mariadb.d.修改文件所属用户及群组% B! n8 L. B' N
shell> scripts/mysql_install_db --user=mariadb  (root用户安装需指定用户,若使用mariadb用户安装则不需指定)e.创建数据目录并初始化权限表4 T4 h- U" J8 C  A; n5 D
f.再次修改文件所属用户: Q) v" F) r% @" j, r# B
shell> chown -R root .
  c& U+ r1 ?. Qshell> chown -R mariadbdata           数据目录开放给mariadb用户,其他可以开放给root+ p- d+ `$ o, j- ]
g.安装完成启动mariadb/ z# U4 H  V. [
shell > mkdir /var/log/mariadb* I5 c: z# t4 l8 p5 o
shell > cd /var/log | chown mariadb:mariadb mariadbshell > mkdir /var/run/mariadb4 F8 v  y# p0 x
shell > cd /var/run | chown mariadb:mariadb mariadb1 Q9 c! [$ c( v3 q: ]' O
    --创建链接, W6 A3 Z6 s( q# E2 R* O
shell > ln -s /usr/local/mariadb /usr/local/mysql    --启动数据库
" l3 G7 j! ?% R  Z' j5 [& yshell> bin/mysqld_safe --user=mariadb            --创建两个日志目录并赋予相应权限+ P/ v! b/ s% v' K0 Z
将/usr/local/mariadb/bin加入$PATH变量中,并设置别名alias mariadb = 'mysql'
7 Q8 I" V' N9 g0 [编译环境变量source  .bash_profileshell > mysql
9 \9 @$ q$ V7 g! I. Wh.环境变量配置并尝试连接mysql
. O, _' ]7 [- l***************************************************************************************************** Remove any pre-installed old mysql files / libraries usually linux distros installs MySQL 5.1 **
- f$ Z* m* X. O, r***************************************************************************************************rm -fR /etc/mysql8 i( M' Z, @0 X, d1 z
rm -fR /var/lib/mysql/mysql9 d+ ?- t5 l( j# m+ E5 N' x( Y! `5 p
rm -fR /var/lib/mysqlfind -R / -name mysql*find / -name mysql*
1 e- Z& f# X" [6 {' \; F** 中途如有错误,需重新安装,重新安装前先删除对应的文件
( {! |) ]+ z, @! r& D+ K; `四.mariadb安装及配置! [* D) A' ?$ a- ]) P  {& t
     A" S4 W, O. E& f/ r$ D" }2 C3 I
, h- t( `1 y& Y' A' @8 D

. O9 F; X6 Q# b) `2 Z
* e8 l# P; b' u) K# K, r. W

. Z% [2 `' C: q+ z6 n
# T! V/ Z( i9 ^# i1 v  \  ?
) }" y+ V% u- K5 F: L

5 u! d  v: n  @
% r! I4 K2 [8 h% m9 v
. l5 w+ G! \8 [1 K; C, D& W

; f1 v! q6 Q. w: _rm -fR /opt/mysql2 u6 H4 Y4 |# ?& l5 D
find / -name mysql*重新解压文件.j.用户安全配置3 d' x3 `3 a( o0 D9 M+ W
列举出当前不需要密码的用户:
* N+ ]6 r* ~3 V列举出不需要密码可以连接的db:
) d+ i, _0 x+ U! S: O8 Jshell > SELECT User, Host, Password FROM mysql.user;
9 u! ~3 C% Q1 T8 p6 b0 b& u; ]允许匿名用户或无权限的用户访问test或test_前缀的数据库;--清除该表内容  J- n' V7 U% W8 M
shell> mysql -u root! D3 V9 @- }' ^! Z$ q1 G
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
; q+ c; s6 G8 F+ K! ~$ A# V/ V-> WHERE User = 'root';mysql> FLUSH PRIVILEGES;1).update7 F5 f3 c) p; v5 c5 s
shell> mysql -u root
# c5 t! Y" P) H+ o3 k+ D6 Jmysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');
$ {( O/ o% _9 Z* F3 c3 Ymysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');$ p# o$ f- c- G, G, {+ o5 S
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');2).set password
9 T$ j  c' m/ u# b4 I1 U9 G" u( y5 rshell> mysqladmin -u root password "newpwd"
0 V$ c8 i; i- a- J0 x/ H! `2 I) i1 \shell> mysqladmin -u root -h host_name password "newpwd"
- g. w0 m8 Y& g3).mysqladmin; V8 l9 E6 B& U8 k: m9 j% z4 N
root密码的设定可以有三种方式:
+ Y6 \! E; Z* v1 U; nmysql>drop user ''@'localhost';mysql>drop user ''@'mariadb\_server';& k( e. q8 ^8 m0 q% y& c
删除空用户:
# A1 n3 S5 X9 S9 r% @shell > select user,db from mysql.db;
4 J) ~$ @" k9 M4 Z% l+ Q+ u4 f7 H--测试数据库的安全保障:shell> mysql -u root -p( [) v7 |' r7 B
Enter password: (enter root password here)
  j- N. ?7 @7 a6 C2 e! Smysql> DELETE FROM mysql.db WHERE Db LIKE 'test%';mysql> FLUSH PRIVILEGES;--彻底删除测试数据库0 D9 t; u- K6 ~7 c6 L
mysql> drop database test;% ]9 ]( ]6 U/ h& [! ~
重启系统后报错找不到对应的/usr/local/mysql/bin/mysqld
4 B1 s$ _- a% W, `7 L原因是mysqld只认mysql/bin下面的mysqld,因此需要做一个链接到正确的mariadb/bin/mysqld允许远程root用户登录! f! k) R0 _  |6 Y# G$ O
    mysql> grant all privileges on *.* to 'root'@'192.168.1.111' identified by 'y}%oTiaU-3' with grant option;     mysql> flush privileges;     k.用户管理:
' J: g. r' _$ Z--cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mariadb  #将服务文件拷贝到init.d下,并重命名为mariadb--  vi mariadb  #修改mysqld_safe --datadir ..  为mysqld_safe --user=mariadb...--chkconfig --add mysql       添加服务
. W! ]( K8 V5 g--chkconfig --list            显示服务列表1 _9 s+ H" A, @* a% P! G
            如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入          chkconfig --level 345 mysql on) T) W! J' y- B
--reboot重启电脑) {% D1 L, z8 v
--netstat -na | grep 3306,如果看到有监听说明服务启动了
- O& B4 N% M9 S( ?" B& A' d0 Y      l.设置mariadb开机自启动
& X5 v( y% f, l% s' A  d9 k2 T--vi /etc/my.cnf    [mysqld]    ...
! t% L+ P! w* k    character-set-server=utf8mariadb默认的数据库字符集为latin1,如果需要修改为支持中文字符的数据库,则需要修改以下配置参数。
) q- q: [5 G5 v9 D/ j$ m# A, ^/ q/ B5 K) _- |& ^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:00 , Processed in 0.024974 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表