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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

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

7 [4 O* v( F' t7 q/ ]$ s$ C
' w. Q) s5 C$ H
[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]

; S2 Q+ L$ `% l; T+ x

  k- s$ z2 d, R  C) b
, _# G; Z" s: d. K

7 p  v  w2 O% r! Q. Y
+ f$ y. [3 N/ e7 y
" l: D. C$ k9 Z) G3 q7 n$ ?% {

$ J( s4 n; V# ~3 m2 S

. y- B: o0 v+ G  a
1 w+ E* v5 G) K4 Q

9 u+ t+ c- r! L  f
( e, w: M5 I" J9 T2 Q/ m/ q' K

5 R" k0 t8 ?, D- f: T
( Y8 U! j) H, g; j2 k# a1 G# `
9 W( H& j. |/ e  t$ c4 j
systemctl restart iptables.service #最后重启防火墙使配置生效3 P) v; X" T* S+ D# _% t
systemctl enable iptables.service #设置防火墙开机启动9 T7 K* P/ v  }5 S
vi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加. w: ^" t# A9 S/ ^1 k
:wq! #保存退出立即启用setenforce 0! D) a- r, x+ f2 R$ C. Z
d.关闭SELINUX1 [  W, s0 v6 C
>vi /etc/ssh/sshd_config# E4 f2 i2 h0 j
--打开并修改PermitRootLogin 为noservice sshd restart$ L, U/ b+ g0 B& j  K8 Y* |2 \( A: f/ q
--打开并修改port为12887
" ?0 {! J7 _/ u! X8 Me.修改ssh默认端口,并取消允许root的ssh权限,防止暴力破解
( W0 q7 K1 m4 o3 R0 P" D" y9 L8 Ya.上传安装source到目录,使用wincp或vsftpd,建议使用wincpshell> yum install -y gcc gcc-c++ * l# e- x" S! I# p) `0 \
    安装依赖的package:
; l7 f5 {% u7 Q5 G      shell> yum install -y cmakelibaio bison ncurses-devel
# r, ]" ~" @: \. R9 x  g5 zshell> groupadd mariadb --创建mariadb组
2 K6 G  X, d6 M' c" s& N6 mshell> useradd -g mariadbmariadb --创建mariadb用户
* @! v+ U" S* n( \* |& |8 Hshell>passwd mariadb  --修改密码b.添加用户和组
% T$ A; D( Q6 s' p& A# o2 n* ^shell>cd /usr/local
/ Q* B5 y$ y2 _5 V. ~$ S; gshell>tar -zxvf /root/mariadb-10.0.13-linux-x86_64.tar.gz shell>ln -s /usr/local/mariadb-10.0.13-linux-x86_64mariadbc.解压缩并创建链接
% h$ I" r5 R3 g1 X- V; g( T2 Dshell> cd mariadb
3 o0 X) h! [4 Z! K5 G$ n- k$ f# V$ Dshell> chown -R mariadb .shell> chgrp -R mariadb.d.修改文件所属用户及群组5 R3 I& z6 _0 l" J8 }3 J( _1 s# D
shell> scripts/mysql_install_db --user=mariadb  (root用户安装需指定用户,若使用mariadb用户安装则不需指定)e.创建数据目录并初始化权限表
7 u$ W, [" y8 {- c4 _) Tf.再次修改文件所属用户
( d5 H* L) w/ [- F7 Fshell> chown -R root .
0 d9 T* G6 @5 w$ X3 Sshell> chown -R mariadbdata           数据目录开放给mariadb用户,其他可以开放给root
4 P1 V* Q7 ]) `; R& m8 r% wg.安装完成启动mariadb! a3 y2 b  n* X6 T  M" R. z
shell > mkdir /var/log/mariadb) N+ |; P  g- @7 s1 N: C
shell > cd /var/log | chown mariadb:mariadb mariadbshell > mkdir /var/run/mariadb' R  Y2 ], @2 O
shell > cd /var/run | chown mariadb:mariadb mariadb
/ g0 B6 t2 a4 Z7 W. h    --创建链接8 M0 _" |. v1 ~; l3 `  x+ G  Z
shell > ln -s /usr/local/mariadb /usr/local/mysql    --启动数据库5 I$ l8 J7 P6 Q& ?0 }) p* \
shell> bin/mysqld_safe --user=mariadb            --创建两个日志目录并赋予相应权限& ~8 S0 T( y. V( e. C1 D( }
将/usr/local/mariadb/bin加入$PATH变量中,并设置别名alias mariadb = 'mysql'
  y* K9 a0 x" G; J- a9 _* {编译环境变量source  .bash_profileshell > mysql
0 r0 N5 n1 L6 y* Z5 eh.环境变量配置并尝试连接mysql6 D- Z% v6 ]# r
***************************************************************************************************** Remove any pre-installed old mysql files / libraries usually linux distros installs MySQL 5.1 **0 j0 O5 l+ Q5 G) [3 @( e: i
***************************************************************************************************rm -fR /etc/mysql9 n4 n. A2 {8 u5 y: n" D: q
rm -fR /var/lib/mysql/mysql7 a) I; E- C' `  p5 X# C
rm -fR /var/lib/mysqlfind -R / -name mysql*find / -name mysql*
  `/ O6 }9 f0 i! c. a** 中途如有错误,需重新安装,重新安装前先删除对应的文件; V" ]1 G; i6 o7 k5 l: K
四.mariadb安装及配置
9 t! `- \+ D. B  W   
' P- t) i3 U% S  Y4 ~& `: O
8 N5 U0 k2 m$ y
4 ]2 [3 u( P7 f; {
  F3 F) ]  e2 ~

# _6 `* K/ m' Y7 C8 Z7 O/ |
" {* G  q' E# x& {. U5 J1 F
/ S' A( V' k& ^3 N- l! W

& ^" G0 x6 y8 h4 ~& r

, Q" q5 v( p! G0 _$ \* r! m# Z- w9 c
' z# j7 {1 l4 z2 \
rm -fR /opt/mysql* k/ z; m, P# Q( d0 l
find / -name mysql*重新解压文件.j.用户安全配置* d7 |7 }$ J/ j( ~
列举出当前不需要密码的用户:
1 ^+ w0 s! I8 H% ~. d$ A# R% L列举出不需要密码可以连接的db:
* A/ _+ b9 ?" K* _1 R, \shell > SELECT User, Host, Password FROM mysql.user;
9 L2 [6 Y9 S% w& x允许匿名用户或无权限的用户访问test或test_前缀的数据库;--清除该表内容
8 w- l' s# i2 I3 nshell> mysql -u root
2 l* Z: P9 N% N4 ~& W: rmysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')+ [; O8 x7 e4 E2 h- L
-> WHERE User = 'root';mysql> FLUSH PRIVILEGES;1).update) @9 u# j2 ^- @& [+ h. ]
shell> mysql -u root
2 Z8 ]% c' a- c3 ]mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');4 g$ l" o8 J! |+ G, ?
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');9 X% w3 k- h, ~3 b
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');2).set password
% n- A9 H/ H. f# Pshell> mysqladmin -u root password "newpwd"
5 N4 _2 r; k3 y2 S3 G' C1 bshell> mysqladmin -u root -h host_name password "newpwd"
- D. p, G1 [" ~, @; T3).mysqladmin
: M3 U' ]3 S- ^$ Mroot密码的设定可以有三种方式:0 E% f: W; M; D8 W2 q4 V
mysql>drop user ''@'localhost';mysql>drop user ''@'mariadb\_server';
# F) _0 r& Z( o删除空用户:9 s: L2 t7 s% K) f% J  O4 g
shell > select user,db from mysql.db;- B: A% y7 R% ^
--测试数据库的安全保障:shell> mysql -u root -p0 I. p4 I4 l; Z
Enter password: (enter root password here)
/ q  y4 [0 w% _/ dmysql> DELETE FROM mysql.db WHERE Db LIKE 'test%';mysql> FLUSH PRIVILEGES;--彻底删除测试数据库
! E0 t* W7 `' b; r+ Z- S9 d( f0 hmysql> drop database test;
9 g' L! \1 {; C8 [3 Z重启系统后报错找不到对应的/usr/local/mysql/bin/mysqld5 I9 N! S1 _, O. n. X1 D
原因是mysqld只认mysql/bin下面的mysqld,因此需要做一个链接到正确的mariadb/bin/mysqld允许远程root用户登录/ t& k/ m( \: I" H# b# A! j
    mysql> grant all privileges on *.* to 'root'@'192.168.1.111' identified by 'y}%oTiaU-3' with grant option;     mysql> flush privileges;     k.用户管理:! n: M+ p0 u; U
--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       添加服务, t: h' B6 {5 @9 d- u; e% |
--chkconfig --list            显示服务列表+ q& ?  Q1 l/ k% E
            如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入          chkconfig --level 345 mysql on
2 h1 v7 x. G+ h--reboot重启电脑
7 j$ B" F  u9 r; \--netstat -na | grep 3306,如果看到有监听说明服务启动了
% V4 q2 a9 Q0 J# a      l.设置mariadb开机自启动
2 I3 A6 d- b% U" A5 [--vi /etc/my.cnf    [mysqld]    ...
1 r0 O  C; p( E8 P( h8 R    character-set-server=utf8mariadb默认的数据库字符集为latin1,如果需要修改为支持中文字符的数据库,则需要修改以下配置参数。
7 K; [6 S, J" A, k8 `& Z
# y) }; z6 v5 U/ @' G+ K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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