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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2017-5-23 09:03:45 | 显示全部楼层 |阅读模式
# J8 H: V; \5 f3 J' D

7 Q7 |6 }6 [' E: n[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]

7 W1 q5 x. ]4 F$ T! H. e6 x

, v- D" \0 D' W( X" H1 q4 ]1 ~. ]) r+ p' f* F

; E5 Y( U0 _, x1 u# g/ j- h; i" `  H
7 _$ o. l4 E  z+ T! \, D

$ b) e8 Z1 N/ h: `

4 w) d! v" Z" R+ {' Y. V0 n0 c
, k2 ^  \# L1 l7 O3 S* v
$ n. m$ T* d3 I/ Z6 H9 I
+ w# J3 u, o" F  H+ M) F; S, F0 N: Y

& d, i+ w7 o7 ~% c
* M& C: L) ?6 n7 N

5 j  F, [! c  {, `5 Z0 Lsystemctl restart iptables.service #最后重启防火墙使配置生效
- `5 Z% v' @3 bsystemctl enable iptables.service #设置防火墙开机启动$ V- E. s: D2 ], l5 {
vi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加. a* D7 j0 b8 @1 d- m5 S9 P, G
:wq! #保存退出立即启用setenforce 0
4 t; E1 x& d) ^" a% D5 n8 H' \# Hd.关闭SELINUX
+ m# ?7 y3 g0 f7 T  u: y. V5 w>vi /etc/ssh/sshd_config7 u% s7 f+ Z- e5 w3 q2 P
--打开并修改PermitRootLogin 为noservice sshd restart5 }: r: F5 h7 u% [2 u2 t5 Y
--打开并修改port为128872 ?7 i; h  Q! P8 K& x4 j  V
e.修改ssh默认端口,并取消允许root的ssh权限,防止暴力破解/ j' [1 D. q7 {! b* D) l
a.上传安装source到目录,使用wincp或vsftpd,建议使用wincpshell> yum install -y gcc gcc-c++ 4 x7 e; v  j% K2 O
    安装依赖的package:
' B/ P0 q' w. Q6 _" b+ r      shell> yum install -y cmakelibaio bison ncurses-devel& |: A% G% j- C4 O4 i9 g
shell> groupadd mariadb --创建mariadb组) n2 o# t4 t; ~. s1 `* \; M
shell> useradd -g mariadbmariadb --创建mariadb用户
/ O$ G4 l' q2 [- h) b" Dshell>passwd mariadb  --修改密码b.添加用户和组
3 z& p# w! u, b  ]- ^, pshell>cd /usr/local
+ r. V! T4 D2 f7 l. y" Ashell>tar -zxvf /root/mariadb-10.0.13-linux-x86_64.tar.gz shell>ln -s /usr/local/mariadb-10.0.13-linux-x86_64mariadbc.解压缩并创建链接' @) r% o, O& W8 {
shell> cd mariadb6 l$ a6 N) W/ M; ~
shell> chown -R mariadb .shell> chgrp -R mariadb.d.修改文件所属用户及群组
% @* T! w6 P( J: H, oshell> scripts/mysql_install_db --user=mariadb  (root用户安装需指定用户,若使用mariadb用户安装则不需指定)e.创建数据目录并初始化权限表
2 d0 E! S6 g: d, wf.再次修改文件所属用户  U8 H7 U1 w& Y& v) u5 N; o
shell> chown -R root .5 Z3 K7 i- V6 P/ G) b9 j, ?) J4 j- H% \
shell> chown -R mariadbdata           数据目录开放给mariadb用户,其他可以开放给root
! L" L4 Z  _& Pg.安装完成启动mariadb5 T1 Q2 R* e0 ~6 U/ w, K
shell > mkdir /var/log/mariadb8 ~7 ~$ n2 r8 w, ?5 _* H
shell > cd /var/log | chown mariadb:mariadb mariadbshell > mkdir /var/run/mariadb
. K. G5 n& ~: R. B& ^3 e9 u# `shell > cd /var/run | chown mariadb:mariadb mariadb7 A( M: q8 y5 B4 y+ f( e6 b
    --创建链接
% P3 E! k5 n7 s1 @: Eshell > ln -s /usr/local/mariadb /usr/local/mysql    --启动数据库
" Y) `( F4 M8 U+ B  _. Vshell> bin/mysqld_safe --user=mariadb            --创建两个日志目录并赋予相应权限) j4 c5 Y) ^' ]* Q4 v5 E2 B( T
将/usr/local/mariadb/bin加入$PATH变量中,并设置别名alias mariadb = 'mysql'# {, m1 T* R- Y$ S5 c# X
编译环境变量source  .bash_profileshell > mysql/ ?$ Q! d0 s% A5 c7 Z
h.环境变量配置并尝试连接mysql4 N# ]' C! @$ l" ]8 U
***************************************************************************************************** Remove any pre-installed old mysql files / libraries usually linux distros installs MySQL 5.1 **
, _$ T+ N' \5 I***************************************************************************************************rm -fR /etc/mysql
! J* A( g5 f# ^  Prm -fR /var/lib/mysql/mysql: k* \$ ~8 Q9 P# B8 o8 j/ {
rm -fR /var/lib/mysqlfind -R / -name mysql*find / -name mysql*
. R9 q3 n# u+ A' r& s- H** 中途如有错误,需重新安装,重新安装前先删除对应的文件# ^# P0 H) s3 B$ Y  `
四.mariadb安装及配置
7 U4 w7 w0 }; v+ z( [   . d5 g/ m. ~8 V
1 ~9 p# t: F: `# n' Q

; x  O( O  {; E: @' q# f& q6 W0 E% `. y- l, i5 P. Q; t3 v

& X" |3 _. |) [1 d- u, m, r. b2 i* o9 \( H: N7 r$ r

* E+ K* J; F% \7 V+ ]3 _' i/ F
0 D/ }" N( U) R" V( V
1 f; V) j4 P0 d- R: B" \
2 h3 F# a3 x8 y6 ?, X, ?- b4 T
$ I3 e" l: F# X. T! [3 T% x
rm -fR /opt/mysql8 Y8 k  \* r1 ^6 v
find / -name mysql*重新解压文件.j.用户安全配置
$ [$ ^7 Q; j9 n列举出当前不需要密码的用户:
/ D- g% Q+ c% J3 D2 {列举出不需要密码可以连接的db:
3 C  M) c# H9 a* rshell > SELECT User, Host, Password FROM mysql.user;
: |* ^( _8 i6 K3 ]# L! ~允许匿名用户或无权限的用户访问test或test_前缀的数据库;--清除该表内容
$ h% O, Q5 \2 b: y: Qshell> mysql -u root% G5 I& _; a7 Y0 q% I
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
# j4 t$ x1 }5 c% u-> WHERE User = 'root';mysql> FLUSH PRIVILEGES;1).update
( F2 g# ^$ v6 T4 a% w! Sshell> mysql -u root" `+ _4 M6 l# }3 w' ]8 n& \2 ^
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');( R4 _( t9 O# c- e" f/ T4 c- i; U
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');
( r* n3 c0 d: N, \  Wmysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');2).set password
/ y( m( H. j) T5 \! n9 p: g1 Gshell> mysqladmin -u root password "newpwd"
( L  U+ ]. U/ l$ b5 L% x# Lshell> mysqladmin -u root -h host_name password "newpwd"1 G/ P  x+ v" A3 x. G+ C# k7 t" Z" r
3).mysqladmin: i0 w; ]1 h: A: h% ^# ~- M! S
root密码的设定可以有三种方式:
; b* J  ]) n" s( O2 `: k/ Ymysql>drop user ''@'localhost';mysql>drop user ''@'mariadb\_server';7 Y8 h8 X' p+ S) w6 i8 h( X
删除空用户:# [4 ?% J# ^; z# I% J; }# j: H+ u
shell > select user,db from mysql.db;
# M, i) o, z5 ?# n6 k8 Y4 H4 O--测试数据库的安全保障:shell> mysql -u root -p
/ T. F7 {7 m; _& x! Q4 E9 r' KEnter password: (enter root password here)* i1 E. z& @3 M" d8 a; H* [/ b
mysql> DELETE FROM mysql.db WHERE Db LIKE 'test%';mysql> FLUSH PRIVILEGES;--彻底删除测试数据库
( m% o' ?$ y; {2 v1 P) Smysql> drop database test;5 q# O! Z- v# ~$ t& O6 z
重启系统后报错找不到对应的/usr/local/mysql/bin/mysqld
0 F6 C( o9 r1 W2 p( I& I原因是mysqld只认mysql/bin下面的mysqld,因此需要做一个链接到正确的mariadb/bin/mysqld允许远程root用户登录! i  l; F8 h, ^% R% ?8 t- ^6 {
    mysql> grant all privileges on *.* to 'root'@'192.168.1.111' identified by 'y}%oTiaU-3' with grant option;     mysql> flush privileges;     k.用户管理:8 d5 O& l# T) `. P* `
--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       添加服务0 L- s( B5 o! U+ V5 I
--chkconfig --list            显示服务列表
8 Q5 J9 r* P+ M% v, v; ~' i            如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入          chkconfig --level 345 mysql on- X1 x4 L$ Q( C0 v1 ~
--reboot重启电脑: d- x* M2 l4 X5 ]8 R- o
--netstat -na | grep 3306,如果看到有监听说明服务启动了- K4 C2 `. A1 ^! c; Z% o  b) ^5 i) k
      l.设置mariadb开机自启动
4 _! j: s0 j' ^' p--vi /etc/my.cnf    [mysqld]    ...
3 T# V7 }" ?7 Q    character-set-server=utf8mariadb默认的数据库字符集为latin1,如果需要修改为支持中文字符的数据库,则需要修改以下配置参数。
3 @- y7 A5 M$ l) c; h7 L6 l, ^& S9 R5 @! s, a4 f& M
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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