如何在Ubuntu上安装和使用MariaDB数据库

如何在Ubuntu上安装和使用MariaDB数据库,第1张

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

1、Centos 7 默认不支持mysql (都是因为钱),所以centos 7默认支持的是mariadb

何为mariadb?

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

说到这,我个人强烈推荐大家开始学习MariaDB,当然由于我们一些项目还是要用mysql的,所以不能放弃。真不难学。

接下来 我讲一下centos 7对mysql的安装过程

1、如果一定要在centos 7上安装mysql ,需要卸载MariaDB,否则会冲突。

2、执行这个命令:rpm -qa | grep mariadb

3、这时会出现一些列表,都是mariadb的包,接下来我们要干掉

4、执行如下命令rpm -e –nodeps mariadb-libs-XXXXX.x86_64 (注意我这里的xxxx, 要根据第三步出现的列表 ,挨个干)

5、干完后,就可以安装mysql了。

6、去度娘搜索mysql的rpm包,一大把。我用的是5.6.22 .(找不到的,问我要)

ww

这里需要安装 至少2个,1个是mysql-server-xxxx.rpm (这个就是服务端), 还有一个是mysql-client-xxxx.rpm(这个是客户端,不想装?不装的话你没法初始化root密码,求懂)

7、执行 rpm -ivh “上面两个文件名 ”

8、这样就装好了。

9、然后 执行:service mysql start (如果OK,说明装好了)

10、再然后执行:service mysql stop (不要问为什么,因为默认root没有密码,你进不去,所以接下来我们要绕过密码登录)

11、执行这个命令:mysqld_safe –user=mysql –skip-grant-tables –skip-networking &mysql -u root mysql (也就是,老子不用密码直接登录,这时mysql服务必须关闭状态)

12、然后执行这个命令:UPDATE user SET Password=PASSWORD(‘XXXXX’) where USER=’root’ 这里就是对root账号初始化密码,xxx自行改,不要忘了。忘掉的话就要用第11步初始化(谁说没有密码就不能进mysql?)

13、然后执行 flush privileges (注意不要忘记最后的分号,必须有,不要问为什么)

14、然后输入quit退出mysql客户端。

15、重新启动mysql,命令:service mysql start

16、然后用root账号登录 命令:mysql -u root -p (接下来会提示你输入密码,此时屏幕不可见,不要以为死机了)

17、这时随便执行一个sql,譬如 show databases

18、这时会报错,大约是You must SET PASSWORD before executing this statement .其实就是我们常见的:第一次登录需要改密码,

19、那我们就改一改吧,反正不会怀孕

20、执行 SET PASSWORD = PASSWORD(‘xxxx’) 注意分号,也可以把密码跟上面搞得一样。

21、然后再去执行 一些sql,看看对不对。对的话quit

22、最后,我们最好吧mysql重启一下. service mysql restart

23、然后配置远程可以连接(注意刚才我们都是在本机 *** 作的哦~~~~)

24、依然mysql -u root -p 输入密码后登入

25、执行:GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘这里填你的密码’ WITH GRANT OPTION(这里root@后面的百分号代表全宇宙都可以连接你的mysql,只要知道密码) ,如果是仅仅允许某个IP连接,那么把这个百分号换成某个ip即可

26 、FLUSH PRIVILEGES并且退出

27、保险起见,再重启mysql服务

好吧,OK了。接下来大家可以用navicate 去连接啦

首先要确保电脑正常上网,才能通过yum安装。

2

执行yum install mysql进行安装。并在提示时输入y。

然后系统会自动寻找安装包,并进行安装。下图显示已成功安装完毕。

安装完毕后,尝试启动数据库。

系统提示找不到这个服务。再次看一下安装的包:

#rpm -qa |grep mysql

命令返回空,说明刚才没有安装成功。只好再次安装了。不过这次我们在命令后面加上*号。

看图,需要安装的包还真多!安装完成后,却发现只安装了JDBC和ODBC驱动。

我们在软件库中搜一下带mysql关键字的软件包:

返回的结果显示,软件库中根本就没有mysql软件包。这个时候,迷茫的开始查资料,资料显示在Centos7中用MariaDB代替了mysql数据库。好吧!那我们来安装MariaDB数据库吧!

*** 做方法同上,只不过在命令行里,把mysql改成了mariadb。

安装包一共59M

安装完成。

查看安装之后的包:

根据资料,mariadb数据库的启动命令是:

systemctl start mariadb #启动MariaDB

systemctl stop mariadb #停止MariaDB

systemctl restart mariadb #重启MariaDB

systemctl enable mariadb #设置开机启动

我执行以上命令,没有任何返回值。看来得研究一下mariadb数据了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6767248.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存