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://www.mariadb.org

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

posted @ 2009-09-18 16:40  siemens800  阅读(28)  评论(0)    收藏  举报