CentOS 7.4 如何安装 MariaDB 10.3.9 Stable
数据库
一、CentOS 7.4上卸载 Mariadb 数据库
1.查询所安装的MariaDB组件
[libin@VM_0_9_centos ~]$ sudo rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
mariadb-server-5.5.60-1.el7_5.x86_64
mariadb-5.5.60-1.el7_5.x86_64
2.卸载数据库
[libin@VM_0_9_centos ~]$ sudo rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
[libin@VM_0_9_centos ~]$ sudo rpm -aq|grep mariadb
mariadb-server-5.5.60-1.el7_5.x86_64
mariadb-5.5.60-1.el7_5.x86_64
3.删除数据库文件
# 删除数据库的其它配置文件
[root@VM_0_9_centos ~]# sudo rm -rf /var/lib/mysql/*
[libin@VM_0_9_centos ~]$ sudo yum -y remove mariadb*
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package mariadb.x86_64 1:5.5.60-1.el7_5 will be erased
---> Package mariadb-server.x86_64 1:5.5.60-1.el7_5 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Removing:
mariadb x86_64 1:5.5.60-1.el7_5 @updates 49 M
mariadb-server x86_64 1:5.5.60-1.el7_5 @updates 58 M
Transaction Summary
===========================================================================================================
Remove 2 Packages
Installed size: 107 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
perl-DBD-MySQL-4.023-6.el7.x86_64 has missing requires of libmysqlclient.so.18()(64bit)
perl-DBD-MySQL-4.023-6.el7.x86_64 has missing requires of libmysqlclient.so.18(libmysqlclient_18)(64bit)
2:postfix-2.10.1-6.el7.x86_64 has missing requires of libmysqlclient.so.18()(64bit)
2:postfix-2.10.1-6.el7.x86_64 has missing requires of libmysqlclient.so.18(libmysqlclient_18)(64bit)
Erasing : 1:mariadb-server-5.5.60-1.el7_5.x86_64 1/2
warning: /var/log/mariadb/mariadb.log saved as /var/log/mariadb/mariadb.log.rpmsave
Erasing : 1:mariadb-5.5.60-1.el7_5.x86_64 2/2
Verifying : 1:mariadb-server-5.5.60-1.el7_5.x86_64 1/2
Verifying : 1:mariadb-5.5.60-1.el7_5.x86_64 2/2
Removed:
mariadb.x86_64 1:5.5.60-1.el7_5 mariadb-server.x86_64 1:5.5.60-1.el7_5
Complete!
[libin@VM_0_9_centos ~]$
二、CentOS 7.4上安装 MariaDB 10.3.9 Stable
数据库
1.添加MariaDB的yum源
1.1、创建MariaDB.repo
在/etc/yum.repos.d/MariaDB.repo
文件里创建即可。
[libin@VM_0_9_centos ~]$ sudo vim /etc/yum.repos.d/Mariadb.repo
1.2、将以下文件中的字段添加到MariaDB.repo文件中
1.2.1、使用官网的源
# MariaDB 10.3 CentOS repository list - created 2018-08-31 07:59 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
注意:上面这个是官网上的源,可惜我大中华...,必须使用代理,否则慢的一匹,用下面这个清华的源是很快的。
1.2.2、使用清华的源
# MariaDB 10.3 CentOS repository list - created 2018-08-31 07:59 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
2.yum安装MariaDB
[libin@VM_0_9_centos ~]$ sudo yum -y install MariaDB-server MariaDB-client
3.启动MariaDB服务
启动MariaDB服务
[libin@VM_0_9_centos ~]$ sudo systemctl start mysql.service
设置开机启动
[libin@VM_0_9_centos ~]$ sudo systemctl enable mysql.service
禁止开机重启
[libin@VM_0_9_centos ~]$ sudo systemctl disable mysql.service
或者
systemctl start mariadb.service #启动MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重启MariaDB
systemctl enable mariadb.service #设置开机启动
4.配置MariaDB服务
[libin@VM_0_9_centos ~]$ sudo mysql_secure_installation
[libin@VM_0_9_centos root]$ sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
#由于一开始安装MariaDB数据库后, root用户默认密码为空, 所以只需要按Enter键
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
#是否设置root用户的新密码
Set root password? [Y/n] y
#录入新密码
New password:
#确认新密码
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
#是否删除匿名用户,生产环境建议删除
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
#是否禁止root远程登录,根据自己的需求选择
Disallow root login remotely? [Y/n] n
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
#是否删除test数据库
Remove test database and access to it? [Y/n] n
... skipping.
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
#是否重新加载权限表
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
具体设置: #由于一开始安装MariaDB数据库后, root用户默认密码为空, 所以只需要按Enter键 Enter current password for root (enter for none): #是否设置root用户的新密码 Set root password? [Y/n] y #录入新密码 New password: #确认新密码 Re-enter new password: #是否删除匿名用户,生产环境建议删除 Remove anonymous users? [Y/n] y #是否禁止root远程登录,根据自己的需求选择 Disallow root login remotely? [Y/n] n #是否删除test数据库 Remove test database and access to it? [Y/n] y #是否重新加载权限表 Reload privilege tables now? [Y/n] y
5.开启远程访问
5.1、防火墙添加3306端口
- 查看firewall状态
[libin@VM_0_9_centos ~]$ sudo firewall-cmd --state
状态是not running,启动firewall,systemctl start firewalld。 状态是running,说明firewalld已经开启。
- 开放3306端口
[libin@VM_0_9_centos ~]$ sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
- 重新载入
[libin@VM_0_9_centos ~]$ sudo firewall-cmd --reload
- 查看所有打开的端口
[libin@VM_0_9_centos ~]$ sudo firewall-cmd --zone=public --list-ports
5.2、开启root开启远程访问,去MariaDB赋权限
- 进入Mariadb
[libin@VM_0_9_centos ~]$ sudo mysql -uroot -p
- 选择数据库
MariaDB [test]> use mysql;
- 添加权限
MariaDB [mysql]> Grant all on *.* to 'root'@'%' identified by 'root' with grant option;
Query OK, 0 rows affected (0.000 sec)
- 重新载入
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.000 sec)
三、MariaDB数据库的使用
- 查看MariaDB的版本
MariaDB [mysql]> select version();
+----------------+
| version() |
+----------------+
| 10.3.9-MariaDB |
+----------------+
1 row in set (0.000 sec)
参考资料: