MariaDB的目的是完全兼容MySQL,包括API和命令行 MariaDB虽然被视为MySQL数据库的替代品,但它在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL。而且从MySQL迁移到MariaDB也是非常简单的: 1、数据和表定义文件(.frm)是二进制兼容的 2、所有客户端API、协议和结构都是完全一致的 3、所有文件名、二进制、路径、端口等都是一致的 4、所有的MySQL连接器,比如PHP、Perl、Python、Java、.NET、MyODBC、Ruby以及MySQL C connector等在MariaDB中都保持不变 5、mysql-client包在MariaDB服务器中也能够正常运行 6、共享的客户端库与MySQL也是二进制兼容的 也就是说,在大多数情况下,你完全可以卸载MySQL然后安装MariaDB,然后就可以像之前一样正常的运行。
引用百度词条https://baike.baidu.com/item/mariaDB/6466119?fr=aladdin
yum install -y mariadb* 或者 yum -y install mariadb mariadb-server② 启动Mariadb 并设置开机自启
systemctl enable mariadb --now ## rhel8新特性 rhel7请使用下面的命令 或者 systemctl start mariadb systemctl enable mariadb③ 进行Mariadb 安全配置 Ⅰ、mysql_secure_installation 首先是设置密码,会提示先输入密码.。
Enter current password for root (enter for none):<–初次运行直接回车
Ⅱ、设置密码 Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车New password: <– 设置root用户的密码 //测试用密码111111
Re-enter new password: <– 再输入一次你设置的密码
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
初始化MariaDB完成
vim /etc/my.cnf #若无vim编辑器则使用vi编辑器 ##在my.cnf中添加以下内容 ##若无[mysqld]标签,添加一个[mysqld]标签 [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Ⅱ、修改/etc/my.cnf.d/client.cnf文件
vim /etc/my.cnf.d/client.cnf #若无vim编辑器则使用vi编辑器 ##在[client]标签中添加 default-character-set=utf8Ⅲ、修改/etc/my.cnf.d/mysql-clients.cnf文件
vim /etc/my.cnf.d/mysql-clients.cnf #若无vim编辑器则使用vi编辑器 ##在[mysql]标签中添加 default-character-set=utf8Ⅳ、配置完成字符集,重启mariadb
systemctl restart mariadbⅥ、进入Mariadb查看字符集
[root@localhost ~]# mysql -uroot -p111111 Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 11 Server version: 10.3.17-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]> show variables like "%character%";show variables like "%collation%"; +--------------------------+------------------------------+ | Variable_name | Value | +--------------------------+------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mariadb/charsets/ | +--------------------------+------------------------------+ 8 rows in set (0.001 sec) +----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_unicode_ci | | collation_database | utf8_unicode_ci | | collation_server | utf8_unicode_ci | +----------------------+-----------------+ 3 rows in set (0.001 sec)Ⅶ 报错解决
MariaDB [(none)]> show variables like "%character%";show variables like "%collation%"; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '“%character%”' at line 1
键入命令后1064报错
其实这个问题就是语法上的错误,回头仔细检查一下语法编写,然后在执行命令就好了
⑤测试题目参考引用网址 https://blog.csdn.net/weixin_44092289/article/details/85640601
创建名为myDB的数据库,在该库中创建一个名为baseinfo的表,其表结构如下图“baseinfo结构表”所示;并自行插入五条数据,记录内容满足表中字段的要求即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fNFlLHxX-1632560964581)(C:Users1AppDataRoamingTyporatypora-user-imagesimage-20201221193815973.png)]
Ⅰ、进入数据库[root@localhost ~]# mysql -uroot -p111111 Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 12 Server version: 10.3.17-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>Ⅱ、创建 myDB 并使用
MariaDB [(none)]> create database myDB; Query OK, 1 row affected (0.001 sec) MariaDB [myDB]> use myDB; Database changedⅢ、按照要求创建baseinfo表
MariaDB [myDB]> create table baseinfo(studentID int NOT NULL PRIMARY KEY ,name varchar(10),sex char(1),birthday date,school char(20)); Query OK, 0 rows affected (0.023 sec)Ⅳ、自行随机插入数据
MariaDB [myDB]> insert into baseinfo values('1','nm1','男','1999-10-12','PekingUniversity');
Query OK, 1 row affected (0.001 sec)
MariaDB [myDB]> insert into baseinfo values('2','nm2','男','2001-5-18','PekingUniversity');
Query OK, 1 row affected (0.008 sec)
MariaDB [myDB]> insert into baseinfo values('3','nm3','男','2001-2-28','PekingUniversity');
Query OK, 1 row affected (0.001 sec)
MariaDB [myDB]> insert into baseinfo values('4','nm4','男','2001-12-19','PekingUniversity');
Query OK, 1 row affected (0.002 sec)
MariaDB [myDB]> insert into baseinfo values('5','nm5','男','2001-07-25','PekingUniversity');
Query OK, 1 row affected (0.001 sec)
Ⅴ、查看数据
数据表结构如下⬇
MariaDB [myDB]> desc baseinfo; +-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | studentID | int(11) | NO | PRI | NULL | | | name | varchar(10) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | birthday | date | YES | | NULL | | | school | char(20) | YES | | NULL | | +-----------+-------------+------+-----+---------+-------+ 5 rows in set (0.021 sec)
表内数据如下⬇
MariaDB [myDB]> select * from baseinfo; +-----------+------+------+------------+------------------+ | studentID | name | sex | birthday | school | +-----------+------+------+------------+------------------+ | 1 | nm1 | 男 | 1999-10-12 | PekingUniversity | | 2 | nm2 | 男 | 2001-05-18 | PekingUniversity | | 3 | nm3 | 男 | 2001-02-28 | PekingUniversity | | 4 | nm4 | 男 | 2001-12-19 | PekingUniversity | | 5 | nm5 | 男 | 2001-07-25 | PekingUniversity | +-----------+------+------+------------+------------------+ 5 rows in set (0.001 sec)Ⅵ、备份
mysqldump -uroot -p111111 myDB baseinfo > /root/mysql.sql



