用户登录
用户注册

分享至

ubuntu下安装mariadb

  • 作者: 哎呀douhao我擦juhao
  • 来源: 51数据库
  • 2020-10-02
MariaDB概要介绍
MariaDB是MySQL数据库的一个分支版本,该版本主要是通过开源社区进行维护,MariaDB可以完全兼容MySQL(包括API和命令),主要区别在于存储引擎使用了XtraDB代替了InnoDB。
安装MariaDB软件包
通过一下命令进行安装:
# apt install mariadb-server python-pymysql

配置mySQL服务启动参数,为后续安装openStack提前准备好数据库环境
创建启动参数配置文件:/etc/mysql/mariadb.conf.d/99-openstack.cnf
输入如下内容:
[mysqld]
default-storage-engine = innodb
innodb_file_per_table
max_connections = 2048
collation-server = utf8mb4_general_ci
character-set-server = utf8mb4

重新启动mysql数据库服务
使用一下命令重启mysql
#service mysql restart
如果没有异常情况,则不会有任何输出,这时候可以使用如下命令查看服务运行状态
#service mysql status

启动mysql异常提示无效的字符编码问题处理
在步骤3创建的配置文件由于参数的名称输错导致启动失败,提示不支持utf8_general_ci
[mysqld]
default-storage-engine = innodb
innodb_file_per_table
max_connections = 2048
collation-server = utf8_general_ci
character-set-erver = utf8

启动MySQL服务失败这时候可以通过命令以下命令查看具体原因:
systemctl status mysql.service

通过检测发现character-set-erver参数名输错了导致启动失败,将其改为
character-set-server = utf8 即可

给mysql进行安全加固
使用脚本 mysql_sercure_installation进行mysql数据库安全加固
# mysql_secure_installation
启动脚本后按提示进行安全加固操作即可完成

使用mysql命令行连接mysql服务,验证mysql服务是否正常
#myslq -uroot -p
输入root密码即可连接到本机的mysql服务

使用IP地址方式连接和管理MySQL
使用如下命令进行连接MySQL发现连接异常(192.168.122.1为本机的IP地址)
#mysql -h192.168.122.1 -uroot -p
输入密码后发现连接失败,原因是因为我们配置的mysql服务参数中没有绑定IP地址,系统默认使用了local主机名进行,那么通过参数设定绑定IP地址即可
修改启动参数配置文件:/etc/mysql/mariadb.conf.d/99-openstack.cnf,增加IP地址绑定
[mysqld]
bind-address = 192.168.122.1
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8



  要 mysql 迁移到 maria db
 在oracle收购了sun公司之后, mysql很不幸的落在了oracle的手中,mysql与oracle db存在竞争关系,很可能导致oracle公司影响mysql的开发与开放。mysql之父widenius在意识到oracle会对mysql做动作之前对mysql另开了一个branch:mariadb。作为一个能够完全兼容mysql的开源开放产品(向下兼容),受到了很多公司的青睐,red hat fedora ,opensuse ,维基百科,谷歌,淘宝等公司都先后把mysqldb迁移到maria db,从而更好的应对未来。
当然,未来还未来,如果mariadb的价值仅仅在未来,或许没有那么多公司愿意承担风险,进行数据库的迁移,特别是谷歌这样实力雄厚的科技公司,更不会担心技术不可控性。
  可见,哪怕是现在,maria比之mysql也有很多的优势:
性能提升

  2. 安全透明。(完全开源,开放,mariadb的商标属于maria基金会,以保障mariadb不会再次发生mysql这种事儿
  3. 支持更多存储引擎。(nosql backend :cassandra )
  4. mariadb galera cluster

同步复制真正的multi-master,即所有节点可以同时读写数据库。
自动的节点成员控制,失效节点自动被清除。
新节点加入数据自动复制;真正的并行复制,行级。
用户可以直接连接集群,使用感受上与mysql完全一致。
    优势:

因为是多主,所以不存在slavelag(延迟);
不存在丢失事务的情况;同时具有读和写的扩展能力;
更小的客户端延迟;
节点间数据是同步的,而master/slave模式是异步的,不同slave上的binlog可能是不同的。
  5. 与mysql完全兼容(至少是现在)。

  风险评估。这是最现实的问题,如果数据迁移风险过大,或者迁移之后发现maria db上各种不适,将会对产品造成极大的伤害。值得庆幸的是,从maria db的官方blog上,我们看到mysql可以无缝迁移到maria的文章,还有mysql 与maria混用的相关实例。集群方面,maria采用的 galera cluster同样适用于mysql,应该不会有接入的风险。
  当然,还有一个因素,就是尽早迁移会尽量降低复杂度,maria db与mysql未来肯定分道扬镳,兼容性会越来越差。
软件
前端设计
程序设计
Java相关