本文共 5327 字,大约阅读时间需要 17 分钟。
只要你找个好老板,找一份好工作,好好工作。
早起晚归,经常加班,辛勤工作。 早晚有一天,这个老板,会更有钱。换更好的车,换更好的房。
开心一刻,每天元气满满
多一手准备总是好的,被Oracle收购后的MySQL将会发生什么样的变化,我们是无法预料的。之前也一直下载的是MySQL社区版的,现在逐渐转到使用MariaDB
。多一手准备,以后也不愁。
老夫今天想到用虚拟机搭建集群,实现MySQL的主从复制,又将文章小小的雕琢一下,加了很多安装过程中遇到的问题并加以解决。
MariaDB是MySQL关系数据库管理系统的一个复刻,由社区开发,有商业支持,旨在继续保持在GNU GPL下开源。MariaDB的开发是由MySQL的一些原始开发者领导的,他们担心甲骨文公司收购MySQL后会有一些隐患。
MariaDB打算保持与MySQL的高度兼容性,确保具有库二进制奇偶校验的直接替换功能,以及与MySQL API和命令的精确匹配。MariaDB自带了一个新的存储引擎Aria,它可以替代MyISAM,成为默认的事务和非事务引擎。它最初使用XtraDB作为默认存储引擎,并从10.2版本切换回InnoDB。
它的首席开发人员是米卡埃尔·维德纽斯,他是MySQL AB的创始人之一,也是Monty Program AB的创始人。2008年1月16日,MySQL AB 宣布它已经同意被Sun微系统集团以大约10亿美元的价格收购。该项收购已于2008年2月26日完成。MariaDB是以Monty的小女儿Maria命名的,就像MySQL是以他另一个女儿My命名的一样。
MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL 5.5中了解到MariaDB的所有功能。
从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。
MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下工作。在此基础上,由于担心甲骨文MySQL的一个更加封闭的软件项目,Fedora等Linux发行版已经在最新版本中以MariaDB取代MySQL,维基媒体基金会的服务器同样也使用MariaDB取代了MySQL。
作为尝鲜或者学习,在win环境下安装比较方便。当然,你也可以安装虚拟机(部署linux
环境)。
下载MariaDB选择合适的版本以及环境(win或者linux)
全部版本选择
linux环境(centos7)使用yum
命令安装MariaDB,或者在官网下载源码包。
yum install mariadb-server mariadb
MariaDB
数据库的相关操作命令:
service
命令替换systemctl
) 启动MariaDB
systemctl start mariadb
停止MariaDB
systemctl stop mariadb
重启MariaDB
systemctl restart mariadb
设置开机启动
systemctl enable mariadb
Windows下初始化数据库,这里是以前MySQL的安装过程。
本来想套用在MariaDB安装上的,偷个懒,可惜部分操作命令并不适用。
这样初始化,密码是随机的
mysqld --initialize --console
密码会输出在控制台,找到相应的日志文件查看,linux下同理找mysql.log文件
A temporary password is generated for root@localhost: 6hk20yueza=M
你也可以在mysql的data中找到以.err结尾的文件扎到随机生成的密码,后续修改密码。
#修改密码的命令ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'
01、运行初始化命令,设置密码为空
mysqld --initialize-insecure
推荐这样设置,后续自行修改root
用户密码
如果没有执行init操作则不存在data目录,自然无法启动成功。
02、执行安装命令
mysqld install
linux下安装MySQL,采用yum方式安装
采用yum方式,centos7下安装MySQL
1、通过wget命令获取rpm包
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2、添加到yum源,显示安装信息以及进度
rpm -ivh mysql-community-release-el7-5.noarch.rpm
3、更新yum源
yum update
4、安装MySQL服务
yum install mysql-server
5、赋予mysql文件权限
chown mysql:mysql -R /var/lib/mysql
6、mysqld初始化,这里可能会遇到下面日志出现的问题。
mysqld --initialize
在my.cnf配置文件加入如下配置,参考错误日志提示
explicit_defaults_for_timestamp=true;user=mysql
错误日志,这个版本的MySQL的TIMESTAMP默认转换为deprecated了。
TIMESTAMP with implicit DEFAULT value is deprecated. Please use
–explicit_defaults_for_timestamp server option (see documentation for more details). 2021-04-09 17:33:00 0 [Note] mysqld (mysqld 5.6.51) starting as process 28288 … 2021-04-09 17:33:00 28288 [ERROR] Fatal error: Please read “Security” section of the manual to find out how to run mysqld as root!2021-04-09 17:33:00 28288 [ERROR] Aborting
2021-04-09 17:33:00 28288 [Note] Binlog end 2021-04-09 17:33:00 28288
[Note] mysqld: Shutdown complete
7、查询mysql是否安装
mysqladmin --version
8、启动MySQL服务
systemctl start mysqld
9、查询MySQL服务状态
systemctl status mysqld
10、登录MySQL
a、首次连接是空密码,回车登录mysql -u root -p
b、可自行修改密码
mysqladmin -u root password "设置密码"
c、查询数据库
SHOW DATABASES
rpm包,yum方式安装方便快捷,便于初学者学习。
也可以使用源码包安装,繁琐一点,二者选其一即可。
安装通过测试,参考菜鸟教程编写。
#对应你的解压目录D:\work\MariaDB\mariadb-10.5.6-winx64
值得注意的是,新版本MariaDB安装初始化后,会自动生成一个my.ini文件,在data文件夹下,比以前安装更为方便快捷。
[client]#设置MariaDB客户端默认字符集default-character-set=utf8[MariaDB]#设置端口3306port = 3306#设置MariaDB的安装目录basedir=D:\\work\\MariaDB\\mariadb-10.5.6-winx64#设置MariaDB数据库的数据存放目录#datadir=D:\\work\MariaDB\\mariadb-10.5.6-winx64\\data#允许最大连接数max_connections=20#服务端使用的字符集默认为utf8字符集character-set-server=utf8#创建新表时设置默认存储引擎INNODB或者XtraDB(10.2版本之前首选引擎)default-storage-engin=INNODB
mysqld.exe --install MariaDB如果你重装系统了,只格式化了C盘。重装系统之后,只需要重新执行
mysqld.exe --install MariaDB
命令即可(前提是解压版的)。 mysql_install_db.exe
启动服务
net start MariaDB
关闭服务
net stop MariaDB
删除服务
sc delete MariaDB
登入root用户,会提示输入密码
mysql -u root -p
正确安装的情况下,响应如下
Enter password:
设置密码为空,直接回车键登入。
退出服务
使用quit
或者exit
命令 01、win + r 快捷键打开运行services.msc命令找到对应的服务
02、也可以右键点击我的电脑,选择管理。进入后选择服务和应用程序,展开选中服务找到对应的服务
03、找到MariaDB服务。
04、设置自启。有很多错误码,遇到了可以自行总结一下,以后遇到了也能参考,知道具体是什么原因。善于总结,也是对经验知识的积累。
错误码提示连接使用的密码有问题
看到这个错误码提示是没关闭防火墙,需要放通相应的端口
还有一个1130错误提示码是MySQL没对外开放可连接的IP,这里就不截图了。下面有写到如何解决以上3个错误码。
01、配置连接,我这里测试初始化设置密码为空,所以无需填写密码。
02、测试连接,点击测试连接按钮
03、登录,点击连接按钮进入主界面,test数据库是我自己新建的。
最后使用远程连接工具客户端SQLylog或者Navicat,个人习惯用SQLylog了。
这里需要开放端口3306(默认),你可以改一下端口安全一点,虚拟机测试影响不大。
推荐使用iptables,Centos7默认没安装的。推荐使用yum安装,然后配置所需要放通的端口号。
暴力一点,测试直接关掉,开发环境服务器别这样操作做。
开启防火墙
systemctl start firewalld.service
关闭防火墙,临时性的
systemctl stop firewalld.service
查看防火墙状态
systemctl status firewalld.service
开放ip权限,可以设置独立ip,也可以设置放通所有,测试就选择%放通所有。
GRANT ALL PRIVILEGES ON *.* TO '你的数据库用户名'@'单个ip或者%表示所有' IDENTIFIED BY '你的数据库连接密码' WITH GRANT OPTION;
注意:改成自己的ip,以及数据库登录用户名和密码,照着抄也要思考一下啊!
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
刷新权限,立即生效
flush privileges;
推荐使用Navicat和SQLyog可视化工具。
链接: 提取码: ntu7只要你找个好老板,找一份好工作,好好工作。
早起晚归,经常加班,辛勤工作。 早晚有一天,这个老板,会更有钱。换更好的车,换更好的房。
好吧,上面的引用都是玩笑话。用心创作,学无止境。你会发现,了解的越多,不了解的越多。好了,到此为止就是此篇文章的全部内容了,能看到这里的都是帅哥靓妹啊!!!善于总结,其乐不穷。好记性不如烂笔头,多收集自己第一次尝试的成果,收获也颇丰。你会发现,自己的知识宝库越来越丰富。点关注,不迷路。
转载地址:http://gzcqi.baihongyu.com/