- 积分
- 16840
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
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 |
|