易陆发现互联网技术论坛

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

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

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

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

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

x
$ R9 G" `) p! A0 B* ?
% F/ f/ T1 Q6 h* G7 g$ O
[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]


0 y% O- |! Y4 s" S& K9 ~! |) A

' \& g  v$ Q6 E7 n1 Q1 a8 V! O4 w: r7 ~5 Q1 h: ?

4 F9 W* c9 M$ u" a# o6 D3 q# l' l2 T# v

0 A7 a3 _, e$ [6 J' e. T% ~& L: }8 a. g: C7 E

: w3 C2 G( D; e: P+ X* k0 |. w5 [9 L' Z2 m) F. q( Z$ S; N  W
# J* g: C( b+ n+ _

& a2 Q% m5 E! F# R0 N7 Y' d

( |' i9 N3 o3 H/ I/ ~% |3 e, Q+ x( V% m
2 R0 \. @  G& V
systemctl restart iptables.service #最后重启防火墙使配置生效- a* x8 ]6 [4 b% v; I" ~( H% }2 c
systemctl enable iptables.service #设置防火墙开机启动3 w* X4 w0 u1 j% @: b1 [* I
vi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加
/ s1 d+ @( |& O4 W:wq! #保存退出立即启用setenforce 06 p4 H0 P6 e; L: K
d.关闭SELINUX: A; a* f" ^, |7 ?  a. |
>vi /etc/ssh/sshd_config
) S' q8 u& p3 \/ D& |--打开并修改PermitRootLogin 为noservice sshd restart
& k( a" V# a! o4 T' _& ~--打开并修改port为12887
4 P1 c9 ~3 [3 I3 M3 q/ B6 @e.修改ssh默认端口,并取消允许root的ssh权限,防止暴力破解$ i+ u9 K: C3 w9 g0 ]
a.上传安装source到目录,使用wincp或vsftpd,建议使用wincpshell> yum install -y gcc gcc-c++ ' \# P% J# [, d2 B3 M
    安装依赖的package:
/ t4 l: F4 F& F4 t* s0 `* {5 m      shell> yum install -y cmakelibaio bison ncurses-devel
2 n8 r: u' {  Z- F6 I- f* U3 zshell> groupadd mariadb --创建mariadb组
* Y5 ?- B' n& H+ ^$ Eshell> useradd -g mariadbmariadb --创建mariadb用户$ D4 _) H) q5 H4 _1 [
shell>passwd mariadb  --修改密码b.添加用户和组: e! \7 q* c" e1 E( o( W& W
shell>cd /usr/local
8 |1 u( @2 i3 c5 |( Xshell>tar -zxvf /root/mariadb-10.0.13-linux-x86_64.tar.gz shell>ln -s /usr/local/mariadb-10.0.13-linux-x86_64mariadbc.解压缩并创建链接  N0 [5 {1 p: C& q: \/ x
shell> cd mariadb
% Z  J8 k5 B9 \# gshell> chown -R mariadb .shell> chgrp -R mariadb.d.修改文件所属用户及群组
% W  n7 O1 }5 n* k! Z, U1 Zshell> scripts/mysql_install_db --user=mariadb  (root用户安装需指定用户,若使用mariadb用户安装则不需指定)e.创建数据目录并初始化权限表1 b4 D2 M- F9 X" S& p
f.再次修改文件所属用户
# x$ ]  C6 r4 D# o# b$ f2 gshell> chown -R root .9 V0 x6 j8 o) y% ~& v4 ^) D
shell> chown -R mariadbdata           数据目录开放给mariadb用户,其他可以开放给root& X! F5 C* U7 H( e8 x) G
g.安装完成启动mariadb
% c3 D+ D' b! c& T5 S( gshell > mkdir /var/log/mariadb
) [2 [; Y  l7 Z0 h* ^; o+ Lshell > cd /var/log | chown mariadb:mariadb mariadbshell > mkdir /var/run/mariadb
6 L# ?- H4 o& c( e! J! `shell > cd /var/run | chown mariadb:mariadb mariadb- w6 \; V5 F: G0 t
    --创建链接& r4 w9 w  y* H* m
shell > ln -s /usr/local/mariadb /usr/local/mysql    --启动数据库
* C  ?6 d4 ~* @0 Sshell> bin/mysqld_safe --user=mariadb            --创建两个日志目录并赋予相应权限
9 j9 I% t7 U% H. P将/usr/local/mariadb/bin加入$PATH变量中,并设置别名alias mariadb = 'mysql'
# R" f& ?$ `. N/ ~3 j0 K编译环境变量source  .bash_profileshell > mysql
5 ?% N- _3 h5 l% {1 `7 Eh.环境变量配置并尝试连接mysql
+ Z  f7 q) y  h  t) Y***************************************************************************************************** Remove any pre-installed old mysql files / libraries usually linux distros installs MySQL 5.1 **1 h1 s+ `8 Y0 X
***************************************************************************************************rm -fR /etc/mysql
/ x7 n4 G& `' t- [rm -fR /var/lib/mysql/mysql
' F( J7 e& n8 ~% g8 \3 @rm -fR /var/lib/mysqlfind -R / -name mysql*find / -name mysql*
; ~* N1 \4 t% G" Z1 U! A$ K7 C6 Z** 中途如有错误,需重新安装,重新安装前先删除对应的文件7 i) h4 Z( F* I/ J5 k5 w
四.mariadb安装及配置
$ B( b- Z+ x+ P$ y4 B! L5 Z( M   4 B5 r9 T* {" L/ _4 z5 m( v
% a8 b- {9 c3 x8 ~, M
. V$ Q+ u4 V) }
- H  j8 [" B) d8 X, Q% l% S# l2 E

/ v" k/ k$ v9 A1 t% T* Z$ n: `) W
4 ^! |6 \* ]  \% p. S# C, j0 s. S
% b- z: I4 ^, a  H
0 R: b0 F2 z& W* o
, C. a9 Y5 f$ D+ w+ t2 \) i

: g7 _& _! s) P2 m
5 i; S9 ?; y4 k. N
rm -fR /opt/mysql) i4 c8 L9 W! ^- B! m
find / -name mysql*重新解压文件.j.用户安全配置3 \: l  A: ?) W6 P( z- U, L
列举出当前不需要密码的用户:  b8 E( L' U4 z- N$ g
列举出不需要密码可以连接的db:
8 w% Z) g3 C9 ?9 [0 P1 l2 Cshell > SELECT User, Host, Password FROM mysql.user;
: n' k  M$ @& [0 i% s. h& c允许匿名用户或无权限的用户访问test或test_前缀的数据库;--清除该表内容6 d, B: q& f  D, j! d, Z1 N+ ~
shell> mysql -u root
- a* ]) C/ z2 A+ Pmysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
, p3 W! S0 |! [5 K& K& y3 B6 D- D0 [-> WHERE User = 'root';mysql> FLUSH PRIVILEGES;1).update5 X+ }3 y; u+ ?( L7 m2 a
shell> mysql -u root/ {9 }$ h( x% K* ~9 ~) s
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');
8 f" _  @) M! Amysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');2 @6 t( c% e# c
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');2).set password
1 N" |0 E9 {) m3 r1 Nshell> mysqladmin -u root password "newpwd"
$ J5 h% I) G+ ^# I! v% }2 Yshell> mysqladmin -u root -h host_name password "newpwd"
( \0 y& a! y/ _. ~/ e3).mysqladmin
& ]' }  C8 a# G' J  u: i0 Rroot密码的设定可以有三种方式:
" h7 |$ [$ r* c/ _$ k( V% amysql>drop user ''@'localhost';mysql>drop user ''@'mariadb\_server';4 v# b3 H: J9 }3 w8 F; r) e0 Q6 B
删除空用户:0 M; L6 L8 ~7 E; d' e
shell > select user,db from mysql.db;
" }2 }$ Y2 W, O0 g--测试数据库的安全保障:shell> mysql -u root -p
$ k4 ^; s) ^$ ^# z: [8 C& zEnter password: (enter root password here)6 r, G2 G) K2 ^
mysql> DELETE FROM mysql.db WHERE Db LIKE 'test%';mysql> FLUSH PRIVILEGES;--彻底删除测试数据库1 J% t% ]: y: t, c0 E3 m; I( T, q
mysql> drop database test;
! {* w7 W1 s( {4 |. r: M/ Z4 T重启系统后报错找不到对应的/usr/local/mysql/bin/mysqld9 }8 p% L- Z& _/ z
原因是mysqld只认mysql/bin下面的mysqld,因此需要做一个链接到正确的mariadb/bin/mysqld允许远程root用户登录
$ Q( U# `* V  y% T& _: j% }    mysql> grant all privileges on *.* to 'root'@'192.168.1.111' identified by 'y}%oTiaU-3' with grant option;     mysql> flush privileges;     k.用户管理:
9 E0 W+ Y( L5 O0 y; k9 z4 o--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       添加服务
& l8 {$ C) _3 h& b; d8 H--chkconfig --list            显示服务列表
1 a4 Y. i8 `# s' x$ H/ ]: m            如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入          chkconfig --level 345 mysql on7 q# B2 I# R9 E( B
--reboot重启电脑
4 `3 S: O4 `" _' P8 b8 L--netstat -na | grep 3306,如果看到有监听说明服务启动了
- E6 o6 c1 \$ B0 I- r2 H. t      l.设置mariadb开机自启动$ a5 i+ `6 v. M8 y' J$ ]# ^5 o% j
--vi /etc/my.cnf    [mysqld]    ...
& y6 X1 S8 g% X" N, T' l    character-set-server=utf8mariadb默认的数据库字符集为latin1,如果需要修改为支持中文字符的数据库,则需要修改以下配置参数。, l" T% D7 y6 X

* t4 K, b0 r! @" ]% Z
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 21:34 , Processed in 0.050880 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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