易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 3677|回复: 0
收起左侧

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

[复制链接]
发表于 2017-5-23 09:03:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
( i& U7 H7 g6 @' P. |4 B
  w- A6 o' }1 k3 }
[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]

+ i0 a& e0 Q! L# G3 T8 e) a2 Z

2 Z' F: c2 ^0 M, T3 }0 P
" E2 Q+ {7 M/ S3 o, F" o

& I+ J: t6 w2 t9 S% T8 U2 w8 b
& q# s# @9 ^  y- a: k5 b& W
' q; `9 n0 h$ ^; k: o8 k7 q

' _" s, A% N9 N2 F

2 o* p) b* e& V+ D0 n) B' Z8 w
3 j: k8 k( `  C/ l: z( N) J+ o. n

+ a  W1 Q9 p0 l/ n$ Q
4 P% E; K! F; b
& L2 C. {8 |6 B( W& s- h- z- x: E% F
) |& E0 `5 ^' M/ v2 C: U
* g4 a" m/ P% Y$ u4 z
systemctl restart iptables.service #最后重启防火墙使配置生效
/ I6 a: M; H' G; D! S, A8 S0 Nsystemctl enable iptables.service #设置防火墙开机启动$ V: u- C0 F7 j4 y3 i# Q
vi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加
  j6 N  _( y, n, q0 s' d0 o, t! C:wq! #保存退出立即启用setenforce 0: \$ a, O! y: G% E9 e9 c- f
d.关闭SELINUX$ G4 @( T+ |6 R: T4 O( e  V
>vi /etc/ssh/sshd_config. I6 T% ^$ w8 |- m
--打开并修改PermitRootLogin 为noservice sshd restart8 u0 z: ~5 J* V4 ], f
--打开并修改port为12887/ I. R5 |8 j" w) w/ Q3 s" M+ K' R/ q0 b
e.修改ssh默认端口,并取消允许root的ssh权限,防止暴力破解
- R% W# J: j+ aa.上传安装source到目录,使用wincp或vsftpd,建议使用wincpshell> yum install -y gcc gcc-c++
; D! Y; C2 v( o* p    安装依赖的package:; s- z6 ^7 `3 ~. k2 Y( I
      shell> yum install -y cmakelibaio bison ncurses-devel9 D  [. h2 e/ W# ]$ V$ t
shell> groupadd mariadb --创建mariadb组
3 b5 S4 g  \5 j# n- o6 hshell> useradd -g mariadbmariadb --创建mariadb用户
% J( z+ F- {  G$ \2 D! d. Lshell>passwd mariadb  --修改密码b.添加用户和组
' B5 z0 L: r0 A: B0 nshell>cd /usr/local: w/ Y* T- i/ ~: w3 g4 K
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.解压缩并创建链接" \! p& s' a0 k* j
shell> cd mariadb
5 f' h1 X( p! e1 Oshell> chown -R mariadb .shell> chgrp -R mariadb.d.修改文件所属用户及群组  S2 d4 P7 Y+ W
shell> scripts/mysql_install_db --user=mariadb  (root用户安装需指定用户,若使用mariadb用户安装则不需指定)e.创建数据目录并初始化权限表
1 V3 f5 e4 S& F" U% Kf.再次修改文件所属用户
! D8 H, s1 ~" m5 W; U& eshell> chown -R root .
  L+ A4 U# c. b* z  z2 J5 Eshell> chown -R mariadbdata           数据目录开放给mariadb用户,其他可以开放给root
. }* h, T6 U! b+ U! dg.安装完成启动mariadb
3 f6 Y: ]" l7 Q. ^2 rshell > mkdir /var/log/mariadb- Y: \5 m2 A, }: G- I$ [; o
shell > cd /var/log | chown mariadb:mariadb mariadbshell > mkdir /var/run/mariadb! P1 R( W+ [" F# |; w
shell > cd /var/run | chown mariadb:mariadb mariadb4 B: A( J; ~# v5 y2 _6 {% H5 h4 }
    --创建链接0 Z* J' J1 [4 N1 ?8 g' T; C
shell > ln -s /usr/local/mariadb /usr/local/mysql    --启动数据库) T4 S2 P: I& _  m; T9 C8 O
shell> bin/mysqld_safe --user=mariadb            --创建两个日志目录并赋予相应权限5 a. S6 f" e: v7 R8 W2 H( \% o
将/usr/local/mariadb/bin加入$PATH变量中,并设置别名alias mariadb = 'mysql'
! Q+ r9 Y) J" T) w) q/ c编译环境变量source  .bash_profileshell > mysql
/ N$ @- X! r7 b5 t  y' o9 {) Ah.环境变量配置并尝试连接mysql3 g- @8 s. S+ W0 w* ^
***************************************************************************************************** Remove any pre-installed old mysql files / libraries usually linux distros installs MySQL 5.1 **
! a& n  r2 G+ X***************************************************************************************************rm -fR /etc/mysql- b0 {+ t7 A4 D6 D8 e6 i; W
rm -fR /var/lib/mysql/mysql
/ F9 u' ~" l7 n, e- \8 wrm -fR /var/lib/mysqlfind -R / -name mysql*find / -name mysql*% @+ D7 c# j8 l! K% H8 g
** 中途如有错误,需重新安装,重新安装前先删除对应的文件
8 t) H% O# ]5 I; A5 j3 x四.mariadb安装及配置
8 `& _' q7 e+ r" D: u   & G) i- n2 V4 T0 F% [: Q+ t0 [
% ?  I' h9 A7 R$ H# X

: v; V# y, y* W1 S( i9 ~* N0 S" o3 ?$ i- [* c, X) L/ d

! n: n8 a5 `/ h. t# f. b( {' L" k5 E! [" W1 s
# s* o, E, S! j# W+ j$ c
% _- f+ P$ @4 a( ~6 j3 l

$ t3 M1 Y0 X& p) M/ ~4 k8 N7 ?) @  z: ~: s# v
2 u: I8 E3 `4 ]: S5 o$ j$ v0 l3 N% u, n
rm -fR /opt/mysql, F, r) W( I3 ]
find / -name mysql*重新解压文件.j.用户安全配置6 p: w' k: B! |2 w
列举出当前不需要密码的用户:
% S+ ]; O  ]5 K, S; P列举出不需要密码可以连接的db:
. Y+ i- ^( G. V2 }) E' o6 ~6 zshell > SELECT User, Host, Password FROM mysql.user;
. Y; u* ~' V7 c; x1 o2 x允许匿名用户或无权限的用户访问test或test_前缀的数据库;--清除该表内容
- Z8 L! y# Z' H5 ]" S( oshell> mysql -u root
. g2 t8 V* N$ C4 @1 g; M. xmysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
  k# l9 Q: y6 v- S5 c; t8 u-> WHERE User = 'root';mysql> FLUSH PRIVILEGES;1).update  M0 J3 Y8 F- C6 R( T
shell> mysql -u root
9 B, N5 V# u( s; K, c+ O& R5 Pmysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');3 ~7 \0 V/ d  G5 u2 J. H
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');
" R$ S, }2 [3 O/ ~2 j; kmysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');2).set password% @1 I1 c# W& o- ?9 Q# z5 s4 d
shell> mysqladmin -u root password "newpwd"$ ?% I, V. Y0 U
shell> mysqladmin -u root -h host_name password "newpwd"
# h! U3 l  \/ ?9 i3).mysqladmin- ]+ X; n1 J  {$ i
root密码的设定可以有三种方式:& h" V7 `, H. V& }4 b
mysql>drop user ''@'localhost';mysql>drop user ''@'mariadb\_server';
1 t1 U2 A2 T# o删除空用户:6 S- Y1 ~2 F% l3 |8 C
shell > select user,db from mysql.db;8 ^1 e$ C* @* m! [: e2 Z; D/ N. ^
--测试数据库的安全保障:shell> mysql -u root -p+ w# f: y( c0 \- n+ H' m6 `
Enter password: (enter root password here)
  I' ]5 Y$ R1 [, f& o4 S6 Kmysql> DELETE FROM mysql.db WHERE Db LIKE 'test%';mysql> FLUSH PRIVILEGES;--彻底删除测试数据库
  Z% P, v/ r2 R- G! f. c1 Smysql> drop database test;: M4 ~& @: Q/ X: E/ k
重启系统后报错找不到对应的/usr/local/mysql/bin/mysqld
& d' O' |& J1 K; U原因是mysqld只认mysql/bin下面的mysqld,因此需要做一个链接到正确的mariadb/bin/mysqld允许远程root用户登录
3 K: ^" O, y! j, t7 @    mysql> grant all privileges on *.* to 'root'@'192.168.1.111' identified by 'y}%oTiaU-3' with grant option;     mysql> flush privileges;     k.用户管理:) w* r6 ]% U7 r1 ^" ?, P1 W7 a
--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       添加服务
/ O% j, l# L9 y7 j! F8 ]8 p--chkconfig --list            显示服务列表
* P/ N$ V2 U1 @: h4 W! m            如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入          chkconfig --level 345 mysql on
/ J: n, h1 Q: E- x--reboot重启电脑
  C2 L9 t* f  a6 J2 C. g--netstat -na | grep 3306,如果看到有监听说明服务启动了
; ?- ~" Z; K0 i6 P7 f# T  \+ [- B2 K# z      l.设置mariadb开机自启动' @, u! A5 T2 ~$ t( J
--vi /etc/my.cnf    [mysqld]    ...
; @- ~8 j2 S- l8 B    character-set-server=utf8mariadb默认的数据库字符集为latin1,如果需要修改为支持中文字符的数据库,则需要修改以下配置参数。
5 R! k1 u: k2 N6 j' d/ v
' O9 [2 g+ G7 J
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 17:37 , Processed in 0.045723 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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