MySQL的版本的选择、三种方式安装MySQL
本文最后更新于27 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

1、MySQL官方发行版

MySQL是最流行的数据库,主要特点:

    • 简单:MySQL使用很简单,任何稍微有IT背景的技术人员都可以无师自通地参照文档安装运行和使用MySQL,这几乎没有什么门槛。
    • 开源:开源意味着流行和免费。- 支持多种存储引擎:MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。
    • 支持高可用架构:MySQL自身提供的replication(主从复制)功能可以实现MySQL数据的实时备份。

2、Mysql与存储引擎

  • Mysql最常用的有两个存储引擎:MyISAM和InnoDB
  • MySQL4和5使用默认的MyISAM存储引擎。从MYSQL5.5开始,MySQL已将默认存储引擎从MyISAM更改为InnoDB。

两种存储引擎的大致区别表现在:

  1. InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中出错还可以回滚还原,而MyISAM就不可以了。
  2. MyISAM查询数据相对较快,适合大量的select,可以全文索引,InnoDB适合频繁修改以及涉及到安全性较高的应用.
  3. InnoDB支持外键,支持行级锁,MyISAM不支持
  4. MyISAM索引和数据是分开的,而且其索引是压缩的,缓存在内存的是索引,不是数据。而InnoDB缓存在内存的是数据,相对来说,服务器内存越大,InnoDB发挥的优势越大。
  5. InnoDB可支持大并发请求,适合大量insert、update操作。

关于MyISAM与InnoDB选择使用

  1. 如果应用程序一定要使用事务,毫无疑问要选择INNODB引擎
  2. 如果应用程序对查询性能要求较高,就要使用MYISAM了。MYISAM拥有全文索引的功能,这可以极大地优化查询的效率。
SHOW ENGINES;

3、Percona Server分支

Percona Server由领先的MySQL咨询公司Percona发布。Percona Server是一款独立的数据库产品,其可以完全与MySQL兼容,可以在不更改代码的情况了下将存储引擎更换成XtraDB。是最接近官方MySQLEnterprise发行版的版本。

Percona提供了高性能XtraDB引擎,还提供PXC高可用解决方案,并且附带了percona-toolkit等DBA管理工具箱。

4、 MariaDB

MariaDB由MySQL的创始人开发,MariaDB的目的是完全兼容MySQL,包括APl和命令行,使之能轻松成为MySQL的代替品。

MariaDB提供了MySQL提供的标准存储引擎,即MyISAM和lnnoDB,10.0.9版起使用XtraDB (名称代号为Aria)来代替MySQL的InnoDB。

5、如何选择

综合多年使用经验和性能对比,线上业务系统首选Percona分支,其次是MYSQL版本,最后是MariaDB。

6、二进制的方式安装mysql

https://dev.mysql.com/downloads/ 下载需要的版本, 这里下载的是mysql-8.0.25,然后开始部署, 过程如下(依次执行即可):


[root@mysqlserver ~]# cd /usr/local/mysql
[root@mysqlserver ~]# xz -dmysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
[root@mysqlserver ~]# tar xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar
[root@mysqlserver ~]# mv mysql-8.0.25-linux-glibc2.12-x86_64 mysql
[root@mysqlserver ~]# mkdir /usr/local/mysql/data #初始化数据
[root@mysqlserver ~]# mkdir /usr/local/mysql/etc  #创建全局配置文件 
[root@mysqlserver ~]# mkdir /usr/local/mysql/logs #mysql的日志信息
[root@mysqlserver ~]# useradd mysql		#创建mysql用户
[root@mysqlserver ~]# vim /usr/local/mysql/etc/my.cnf #写入配置文件

[mysqld]

datadir=/usr/local/mysql/data #指定数据文件 socket=/tmp/mysql.sock log-error=/usr/local/mysql/logs/mysqld.log pid-file=/usr/local/mysql/logs/mysqld.pid [root@mysqlserver ~]# cd /usr/local/mysql [root@mysqlserver ~]# chown -R mysql:mysql /usr/local/mysql #授予权限 [root@mysqlserver ~]# bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data #进行初始化 [root@mysqlserver ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d [root@mysqlserver ~]# /etc/init.d/mysql.server start

进入mysql的密码在/var/log/mysqld.log里面:

​编辑​

进入mysql数据库,修改mysql数据库密码

alter user ‘root’@’localhost’ identified by ‘123456’;

7、 yum方式安装mysql

从 https://dev.mysql.com/downloads/ 下载yum源, 然后通过yum安装即可。

[root@nnmaster ~]# yum install mysql-server mysql mysql-common mysql-libs

或者从 http://mirrors.aliyun.com/mysql/MySQL-8.0/下载对应的rpm文件包安装也可。

安装完成后, 可直接启动mysql服务, 会自动初始化系统库以及启动相关服务。

systemctl start mysqld

mysql启动完成后, 会生成root用户的默认密码, 可从mysqld.log日志文件中获取临时的密码, 此密码可用于临时登录, 登录后, 需要马上修改为自己的新密码, 执行如下SQL命令:

SQL > alter user 'root'@'localhost' identified by 'root@mySQL123';

通过这个命令就修改了root用户的密码。

mysql yum安装的默认配置文件存放路径是/var/lib/mysql。日志文件在/var/log/mysqld.log

8、 使用docker安装mysql

首先, 需要安装docker引擎, 操作如下:

[root@master ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@master ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@master ~]# yum makecache fast
[root@master ~]# yum install docker-ce -y
[root@master~]# systemctl restart docker
[root@master ~]# systemctl enable docker
[root@master ~]# docker version

第二步:拉取mysql镜像

docker pull swr.cn-north-1.myhuaweicloud.com/iivey/mysql:8.0.23

第三步:运行docker镜像

docker run -itd -p 3306:3306--name mysql8 --restart unless-stopped -v /etc/localtime:/etc/localtime -v /dockerdata/mysql/db:/var/lib/mysql -eMYSQL_DATABASE="iivey" -e MYSQL_USER="iivey" -e MYSQL_PASSWORD="mysql123" -e MYSQL_ROOT_PASSWORD="root123" swr.cn-north-1.myhuaweicloud.com/iivey/mysql:8.0.23 --default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_bin

上面docker run命令中, /dockerdata/mysql/db路径是宿主机的路径,需要先创建好。 ​

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇