centos7安装Mariadb
CentOS 7安装MariaDB 10详解以及相关配置
卸载MySql和Mariadb
全部删除MySQL/MariaDB
MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;
1.使用(注意大小写)
rpm -qa | grep MariaDB
rpm -qa | grep mariadb
搜索 MariaDB 现有的包;
如果存在(删不了的话,就一个一个删),使用
rpm -e --nodeps MariaDB-*
全部删除;
2.使用
rpm -qa | grep mysql
搜索 mysql 现有的包:
如果存在(删除你实际查询出来的mysql结果即可),使用
yum remove mysql mysql-server mysql-libs compat-mysql51
全部删除;
安装Mariadb==>
第一步:添加 MariaDB yum 仓库
首先在CentOS操作系统中/etc/yum.repos.d/目录下添加 MariaDB 的YUM配置文件MariaDB.repo文件。
vi /etc/yum.repos.d/MariaDB.repo
在该文件中添加以下内容保存:
[mariadb] name = MariaDB baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64/ gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck=1
系统及版本选择,你可以根据这个网址(国内)去选择你想安装centos7 amd64位其他版本号的版本,直接修改baseurl中的版本号即可。
安装Mariadb之前,你可以先导入GPG key:
rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
第二步:安装 MariaDB
通过yum命令轻松安装 MariaDB。
yum install MariaDB-server MariaDB-client -y
MariaDB 安装完毕后,立即启动数据库服务守护进程。
systemctl start mariadb
设置 MariaDB 在操作系统重启后自动启动服务。
systemctl enable mariadb
查看 MariaDB 服务当前状态。
systemctl status mariadb
第三步:对 MariaDB 进行安全配置
通过以下命令进行安全配置,根据实际情况用Y/N回复以下问题:
设置 MariaDB 的 root 账户密码,删除匿名用户,禁用 root 远程登录,删除测试数据库,重新加载权限表。
命令进行配置(先退出数据库):
mysql_secure_installation
首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车(后面授权配置)
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
在配置完数据库的安全配置后,可以通过以下命令查看版本,确认 MariaDB已安装成功。
mysql --version
可以通过 MariaDB 命令行登录,然后对数据库进行sql查询操作。
mysql -u root -p
第四步:为 MariaDB 配置远程访问权限
查看账号信息:
select User, host from mysql.user;
创建用户命令(用户名,密码请自行修改):
create user username@localhost identified by 'password';
root账户中的host项是localhost表示该账号只能进行本地登录,我们需要修改权限,输入命令:
# 授予外网登陆权限
grant all privileges on *.* to root@'%' identified by 'password';
# %表示针对所有IP,password表示将用这个密码登录root用户,如果想只让某个IP段的主机连接,可以修改为:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.71.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
最后别忘了:
FLUSH PRIVILEGES;
保存更改后,再看看用户账号信息:
这个时候发现相比之前多了一项,它的host项是%,这个时候说明配置成功了,我们可以用该账号进行远程访问了。
第五步:CentOS 7 开放防火墙端口
# 关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
# 开放防火墙端口,开启后要重启防火墙:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
第六步:设置数据库字母大小写不敏感
vi /etc/my.cnf.d/server.cnf
在[mysqld]下加上:
#默认是等于0的,即大小写敏感。改成1就OK了。如果之前已经建了数据库要把之前建立的数据库删除,重建才生效。
lower_case_table_names=1
#改完配置,重启
systemctl restart mariadb
第七步:设置MariaDB数据库默认编码
MariaDB的默认编码是latin1,插入中文会乱码,因此需要将编码改为utf8。
使用vim /etc/my.cnf.d/server.cnf命令编辑server.cnf文件,在[mysqld]标签下添加:
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake
配置初始化完成,重启Mariadb。
systemctl restart mariadb
#之后进入Mariadb,查看字符集。
show variables like "%character%";show variables like "%collation%";
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人,学会与内心深处的你对话,问问自己,想 要怎样的人生,静心学习,耐心沉淀,送给自己,共勉。
**************************************************************************************