Ubuntu安装Maridb 10.5版本
以20.04版本为例
Ubutun20.04自带源默认安装的mariadb版本为10.3不符合安装zabbix6.0的要求
打开MariaDB的官方网站:https://mariadb.org/mariadb/all-releases
点击你想要的版本
选好你的系统,Ubuntu 20.04版本,要下载的MariaBD 10.5版本,在选择阿里源
按步骤执行写好源
sudo apt-get install apt-transport-https curl
sudo curl -o /etc/apt/trusted.gpg.d/mariadb_release_signing_key.asc 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo sh -c "echo 'deb https://mirrors.aliyun.com/mariadb/repo/10.5/ubuntu focal main' >>/etc/apt/sources.list"
更新apt-get,安装mariadb-server版本
sudo apt-get update
sudo apt-get install mariadb-server
不要用-Y命令,好确认你的安装版本是否是目标版本
root@Zabbix-DB:/etc/apt/sources.list.d# sudo apt-get install mariadb-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libfwupdplugin1
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
galera-4 gawk libaio1 libcgi-fast-perl libcgi-pm-perl libdbd-mariadb-perl libdbi-perl
libfcgi-perl libhtml-template-perl libmariadb3 libreadline5 libsigsegv2 libterm-readkey-perl
mariadb-client-10.5 mariadb-client-core-10.5 mariadb-common mariadb-server-10.5
mariadb-server-core-10.5 socat
Suggested packages:
gawk-doc libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl
libipc-sharedcache-perl mailx mariadb-test
The following NEW packages will be installed:
galera-4 gawk libaio1 libcgi-fast-perl libcgi-pm-perl libdbd-mariadb-perl libdbi-perl
libfcgi-perl libhtml-template-perl libmariadb3 libreadline5 libsigsegv2 libterm-readkey-perl
mariadb-client-10.5 mariadb-client-core-10.5 mariadb-common mariadb-server
mariadb-server-10.5 mariadb-server-core-10.5 socat
0 upgraded, 20 newly installed, 0 to remove and 2 not upgraded.
Need to get 28.9 MB of archives.
After this operation, 224 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
检查版本mysql -V
root@Zabbix-DB:/etc/apt/sources.list.d# mysql -V
mysql Ver 15.1 Distrib 10.5.17-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
检查启动情况
systemctl status mariadb
初始化数据库——配置安全设置
sudo mysql_secure_installation
查看代码
root@Zabbix-DB:~# 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
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none): 输入数据库当前root密码,密码为空:直接回车
OK, successfully used password, moving on...
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] n 是否使用unix_socket认证插件:n
... skipping.
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] y 是否修改root密码: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 是否移除匿名用户: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.
Disallow root login remotely? [Y/n] y 是否禁止root远程登录:Y
... Success!
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.
Remove test database and access to it? [Y/n] y 移除测试数据:Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y 重新加载权限?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!
创建初始Zabbix数据库
安装完成后,root账户登录数据库,配置一个用户zabbix,设置密码为password,并配置本地登录权限 localhost 或者 远程登录权限 %
sudo mysql -uroot -p
password
mysq1> create database zabbix character set utf8mb4 collate utf8mb4_bin; #zabbix创建数据库要指定字符集,如果不指定中文会乱码,英文不乱码。
mysql> create user zabbix@'%' identified by 'Qqq1234.0';
mysq1> grant all privileges on zabbix.* to zabbix@'%'; #grant授权 all privileges所有权限 on zabbix表里的.*所有文件,授权给zabbix用户 @'%'远程和本地登录
mysq1> quit;
#如果数据库与zbx,php在一起
grant all privileges on zabbix.* to zabbix@'localhost' identified by 'Qqq1234.0';
#如果数据库与zbx,php不在一起
grant all privileges on zabbix.* to zabbix@'172.16.%'identified by 'Qqq1234.0';
#甚至
grant all privileges on zabbix.* to zabbix@'%'identified by 'Qqq1234.0';
数据库账户基本操作命令
#查询数据库账户
select user, host from mysql.user;
#删除账户 'zabbix'
drop user 'zabbix'@'%';
#查询数据库
show databases;
#删除数据库zabbix;
drop database zabbix;
#修改账户密码
alter user 'zabbix'@'%' identified by 'Qqqq1234.com';
#使用zabbix账户登录
use zabbix
#查看所有的表
show tables;
验证登录:
root@Zabbix-DB:~# mysql -uzabbix -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.30 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| performance_schema |
| zabbix |
+--------------------+
3 rows in set (0.01 sec)
mysql> use zabbix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
| valuemap |
| valuemap_mapping |
| widget |
| widget_field |
+----------------------------+
173 rows in set (0.00 sec)
mysql> exit
Bye
root@Zabbix-DB:~#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)