db + mariadb 10.3.28 / shit 10.4
s
- 产品比较
| 特征 | MySQL | MariaDB |
|---|---|---|
| 开发和维护 | Oracle Corporation(现在由Oracle维护) | MariaDB Corporation及开源社区 |
| 许可证 | 开源但也有商业许可证(Oracle MySQL) | 开源(GNU General Public License) |
| 版本 | 5.5,5.6,5.7,8.x | 5.5,10.x,MariaDB 10.x |
| 存储引擎 | InnoDB,MyISAM,等等 | InnoDB,TokuDB,Aria,等等 |
| JSON支持 | 5.7版本引入JSON支持 | 10.2版本引入JSON支持 |
| 性能改进 | 存储过程性能优化 | 性能优化,如Aria存储引擎改进 |
| 安全性 | 支持加密和安全插件(如加密连接) | 加密连接,安全插件,例如PAM插件 |
| 复制和高可用性 | 复制,主-从复制,Cluster(商业版) | 复制,Galera Cluster(MariaDB Cluster) |
| 社区活跃度和支持 | Oracle MySQL社区有支持,但也有商业支持 | MariaDB社区非常活跃,有商业支持 |
| 主要用途 | 通用数据库管理系统,广泛用于企业应用 | 通用数据库管理系统,常用于Web应用和云环境 |
-
MariaDB官方资料说,mysql.user从10.4版本开始,不再是一张表而是一个视图 , 并且提供了一个新表mysql.global_priv来替代mysql.user,而且提供了一个新的命令:ALERT USER 。shit mariadb,fuck Michael Widenius。
MariaDB [mysql]> UPDATE mysql.global_priv SET Host='%' WHERE User='root'; MariaDB [mysql]> flush privileges;
CentOS 8.5.2111,MariaDB 10.3.28 修改root密码
1、修改文件 /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
skip-grant-tables # 最好放第2行使生效。启动mysql时不启动grant-tables,修改忘记root密码用 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mariadb/mariadb.log pid-file=/run/mariadb/mariadb.pid port=3306
2、修改root密码
[root@mariadb ~]# systemctl restart mariadb.service
[root@mariadb ~]# mysql -uroot -p -h127.0.0.1 -P 3306
MariaDB [mysql]> use mysql; MariaDB [mysql]> select host,user,password from user; +-----------+------+-------------------------------------------+ | host | user | password | +-----------+------+-------------------------------------------+ | localhost | root | *BD0A45E86128294199F4FF0917A7A050BB631A90 | | % | root | *BD0A45E86128294199F4FF0917A7A050BB631A90 | | 127.0.0.1 | root | *BD0A45E86128294199F4FF0917A7A050BB631A90 | | ::1 | root | *BD0A45E86128294199F4FF0917A7A050BB631A90 | +-----------+------+-------------------------------------------+ MariaDB [mysql]> update user set password=password('root') where user='root'; MariaDB [mysql]> flush privileges;
3、重启maria, ok
[root@mariadb ~]# systemctl restart mariadb.service
4、查看安装版本
[root@mariadb my.cnf.d]# rpm -qa | grep mariadb # 查看mariadb 安装包 mariadb-connector-c-config-3.1.11-2.el8_3.noarch mariadb-common-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-backup-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-gssapi-server-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-server-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-server-utils-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-errmsg-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-connector-c-3.1.11-2.el8_3.x86_64 [root@mariadb my.cnf.d]# yum list mariadb # 查看mariadb版本 Last metadata expiration check: 2:57:33 ago on Sun 26 Mar 2023 05:09:16 AM CST. Installed Packages mariadb.x86_64 3:10.3.28-1.module_el8.3.0+757+d382997d @media-appstream
MariaDB 软件下载
https://mirrors.aliyun.com/mariadb//mariadb-10.11.1/winx64-packages/mariadb-10.11.1-winx64.zip
https://mirrors.aliyun.com/mariadb//mariadb-10.11.1/bintar-linux-systemd-x86_64/mariadb-10.11.1-linux-systemd-x86_64.tar.gz
https://dlm.mariadb.com/browse/mariadb_server/200/1374/winx64-packages/
https://storage.googleapis.com/downloads-cdn.mariadb.com/mariadb_server/10.8/10.8.3/bintar-linux-systemd-x86_64/mariadb-10.8.3-linux-systemd-x86_64.tar.gz
https://storage.googleapis.com/downloads-cdn.mariadb.com/mariadb_server/10.8/10.8.3/yum/centos/mariadb-10.8.3-rhel-7-aarch64-rpms.tar
https://dlm.mariadb.com/2314683/MariaDB/mariadb-10.8.3/bintar-linux-systemd-x86_64/mariadb-10.8.3-linux-systemd-x86_64.tar.gz
https://storage.googleapis.com/downloads-cdn.mariadb.com/mariadb_server/10.8/10.8.3/winx64-packages/mariadb-10.8.3-winx64.zip
https://storage.googleapis.com/downloads-cdn.mariadb.com/mariadb_server/10.8/10.8.3/winx64-packages/mariadb-10.8.3-winx64.msi
MariaDB 基本文件结构
配置文件路径 :/etc/my.cnf.d/ * * * * /etc/my.cnf
数据库文件路径:/var/lib/mysql/
centos7 安装Mariadb
https://www.cnblogs.com/yhongji/p/9783065.html
问题1:[root@mariadb ~]# systemctl restart mariadb.service
[root@mariadb ~]# systemctl restart mariadb.service Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details. [root@mariadb ~]# systemctl status mariadb.service ● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Fri 2022-12-16 11:18:15 EST; 17s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 4648 ExecStart=/usr/libexec/mysqld --basedir=/usr $MYSQLD_OPTS $_WSREP_NEW_CLUSTER (code=exited, status=1/FAILURE) Process: 4609 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS) Process: 4584 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 4648 (code=exited, status=1/FAILURE) Status: "MariaDB server is down" Dec 16 11:18:14 mariadb.xianhemen.cn systemd[1]: Starting MariaDB 10.3 database server... Dec 16 11:18:14 mariadb.xianhemen.cn mysql-prepare-db-dir[4609]: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done. Dec 16 11:18:14 mariadb.xianhemen.cn mysql-prepare-db-dir[4609]: If this is not the case, make sure the /var/lib/mysql is empty before running mysql-prepare-db-dir. Dec 16 11:18:14 mariadb.xianhemen.cn mysqld[4648]: 2022-12-16 11:18:14 0 [Note] /usr/libexec/mysqld (mysqld 10.3.28-MariaDB) starting as process 4648 ... Dec 16 11:18:15 mariadb.xianhemen.cn systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE Dec 16 11:18:15 mariadb.xianhemen.cn systemd[1]: mariadb.service: Failed with result 'exit-code'. Dec 16 11:18:15 mariadb.xianhemen.cn systemd[1]: Failed to start MariaDB 10.3 database server.
解决1:
[root@mariadb ~]# rm -rf /var/lib/mysql/*
[root@mariadb ~]# systemctl restart mariadb.service
[root@mariadb mysql]# systemctl status mariadb.service ● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2022-12-16 11:21:17 EST; 10s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 4997 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 4861 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS) Process: 4836 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 4966 (mysqld) Status: "Taking your SQL requests now..." Tasks: 30 (limit: 49342) Memory: 85.1M CGroup: /system.slice/mariadb.service └─4966 /usr/libexec/mysqld --basedir=/usr Dec 16 11:21:17 mariadb.xianhemen.cn mysql-prepare-db-dir[4861]: See the MariaDB Knowledgebase at http://mariadb.com/kb or the Dec 16 11:21:17 mariadb.xianhemen.cn mysql-prepare-db-dir[4861]: MySQL manual for more instructions. Dec 16 11:21:17 mariadb.xianhemen.cn mysql-prepare-db-dir[4861]: Please report any problems at http://mariadb.org/jira Dec 16 11:21:17 mariadb.xianhemen.cn mysql-prepare-db-dir[4861]: The latest information about MariaDB is available at http://mariadb.org/. Dec 16 11:21:17 mariadb.xianhemen.cn mysql-prepare-db-dir[4861]: You can find additional information about the MySQL part at: Dec 16 11:21:17 mariadb.xianhemen.cn mysql-prepare-db-dir[4861]: http://dev.mysql.com Dec 16 11:21:17 mariadb.xianhemen.cn mysql-prepare-db-dir[4861]: Consider joining MariaDB's strong and vibrant community: Dec 16 11:21:17 mariadb.xianhemen.cn mysql-prepare-db-dir[4861]: https://mariadb.org/get-involved/ Dec 16 11:21:17 mariadb.xianhemen.cn mysqld[4966]: 2022-12-16 11:21:17 0 [Note] /usr/libexec/mysqld (mysqld 10.3.28-MariaDB) starting as process 4966 ... Dec 16 11:21:17 mariadb.xianhemen.cn systemd[1]: Started MariaDB 10.3 database server.
1、安装mariadb,yum install mariadb.x86_64

2、 检查mariadb安装了哪些包
[root@mariadb ~]# rpm -qa|grep maria
mariadb-connector-c-3.1.11-2.el8_3.x86_64
mariadb-connector-c-config-3.1.11-2.el8_3.noarch
mariadb-common-10.3.28-1.module_el8.3.0+757+d382997d.x86_64
mariadb-10.3.28-1.module_el8.3.0+757+d382997d.x86_64
3、安装mariadb-server,yum install mariadb-server

4、查看mariadb安装包或版本
[root@mariadb ~]# rpm -qa | grep mariadb mariadb-gssapi-server-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-connector-c-config-3.1.11-2.el8_3.noarch mariadb-connector-c-3.1.11-2.el8_3.x86_64 mariadb-server-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-common-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-backup-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-errmsg-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 mariadb-server-utils-10.3.28-1.module_el8.3.0+757+d382997d.x86_64 [root@mariadb ~]# systemctl status mariadb.service ● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: inactive (dead) Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ [root@mariadb ~]#
[root@mariadb ~]# yum list installed | grep mariadb

[root@mariadb ~]# mysql_secure_installation
[root@mariadb ~]# mysql_secure_installation
Enter current password for root (enter for none): # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车 Set root password? [Y/n] # 设置密码,y New password: # 新密码 Re-enter new password: # 再次输入密码 Remove anonymous users? [Y/n] # 移除匿名用户, y Disallow root login remotely? [Y/n] # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录 Remove test database and access to it? [Y/n] # 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要 Reload privilege tables now? [Y/n] # 重新加载权限表,y。
5、设置mysql字符集
/etc/my.cnf
/etc/my.cnf.d/client.cnf
/etc/my.cnf.d/mysql-clients.cnf
[root@mariadb ~]# sed 's/mysql]/mysql]\r\ndefault-character-set=utf8/g' /etc/my.cnf.d/mysql-clients.cnf

-

6、重启服务
[root@mini ~]# systemctl restart mariadb
7、进入mariadb查看字符集
1 MariaDB [(none)]> show variables like "%character%";

8、更新主机名称的host值为%,任意机器可远程连接。下图
MariaDB [mysql]> select user,host,password from user;
MariaDB [mysql]> update user set host='%' where host='mariadb.xianhemen.cn';
MariaDB [mysql]> select user,host,password from user;
MariaDB [mysql]> flush privileges;

end

浙公网安备 33010602011771号