centos7下安装mariadb

一、安装mariadb

说明:使用yum安装,而不是下载tar.gz文件后解压编译,前者更简单更健壮

1.打开这个地址:https://downloads.mariadb.org/,有多个版本,随便选择一个版本进入下载页面

2.不要下载“*.tar.gz”文件,而是选择基于配置的yum安装" Repository Configuration Tool"

3.根据你的环境设置repo配置

 4.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下:

[root@iZ28b8iaplsZ /]# cd /etc/yum.repos.d
[root@iZ28b8iaplsZ yum.repos.d]# vi MariaDB.repo

# MariaDB 10.1 CentOS repository list - created 2016-09-15 13:30 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

说明,MariaDB.repo是上一步设置内容,复制过来即可

5.执行安装:sudo yum install MariaDB-server MariaDB-client

说明:下载的时间有点长

二、mariadb配置

mariadb安装以后一般要进行两个配置,大小写不敏感,utf-8字符集

1.打开mysql的配置文件:/etc/my.cnf

2.大小写不敏感:

[mysqld]
lower_case_table_names=1

3.字符集设置为utf-8

[mysql]
default-character-set=utf8

[client]
default-character-set=utf8

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

 注意第2和第3点,都使用了[mysqld]配置节,[mysqld]不要配置重复

4.修改root密码,删除匿名用户

#修改root密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password1');
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('password1');
#删除匿名用户
delete from user where user='';

 

三、远程访问mariadb

一方面,默认情况下,mariadb只允许本机访问;另一方面centos7下的防火墙也没有开放mariadb默认的3306端口,所以mariadb的远程访问需要进行数据库和防火墙的设置后才能进行远程访问数据库

1.centos7的防火墙默认使用firewall,本文取消firewalld,使用iptables防火墙,下面是停用firewalld的命令

systemctl stop firewalld

systemctl mask firewalld

2.安装iptables防火墙

yum install iptables-services

3.添加3306端口

vi编辑文件:/etc/sysconfig/iptables

添加一行如下配置:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306  -j ACCEPT

说明:3306端口的配置需要放在端口22这样下边,如果放错位置会导致iptables重启失败,3306端口配置失败

4.启动iptables.service

systemctl start iptables.service

systemctl enable iptables.service

 说明:上面配置防火墙结束,下面开始配置mariadb的远程连接

5.创建用户:create user 'root'@'%' identified by 'password1';

说明:上述语句‘root'%'部分,root是用户名,%表示任何远程主机都可以连接mariadb,不要忘记root和%都加引号

         password1是root的密码,不需要使用password('password1')的函数调用(修改用户密码的时候需要)

6.给root授权:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password1' WITH GRANT OPTION;

7.刷新权限:flush privileges;

posted on 2016-09-15 21:23  Netsharp  阅读(639)  评论(1编辑  收藏  举报

导航