Linux下安装MySQL8

1. 下载安装包

下载地址:https://dev.mysql.com/downloads/mysql/8.0.html

  1. Select Version,选择自己需要的安装的数据库版本,这里选择8.4.0 LTS。
  2. Select Operating System,选择操作系统版本,这里选择Linux - Generic。
  3. Select OS Version,选择Linux - Generic (glibc 2.28) (x86, 64-bit),这里可以根据需要选择自己需要的版本。

MySQL下载

注意操作系统和操作系统版本全都选择Linux Generic,选择完成之后,在下方下载列表中找到第一个Compressed TAR Archive,点击Download进行下载,如果遇到登录页面,直接点击No thanks, just start my download,跳过登录直接下载。

MySQL图标

2. 解压安装

添加mysql用户组和用户。

groupadd mysql
useradd -g mysql mysql
# 解压安装包
tar -xvf mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz
# 将数据库移动到指定的安装目录下
mv mysql-8.4.0-linux-glibc2.28-x86_64 /bigdata/hadoop/mysql8
# 手动创建一个目录作为以后的数据存储目录
mkdir /bigdata/hadoop/mysql8/data
# 将刚刚解压出来的MySQL目录授权给mysql用户
chown -R mysql:mysql /bigdata/hadoop/mysql8
# 修改目录权限
chmod -R 755 /bigdata/hadoop/mysql8

3. 配置数据库

默认mysql配置文件的位置是/etc/my.cnf,也可以是/etc/mysql/my.cnf。

配置数据库配置文件也是这个MySQL安装过程中最为重要的一步。

# 编辑数据库配置文件
vim /etc/mysql/my.cnf

/etc/mysql/my.cnf内容如下:

# MySQL8 my.cnf配置

[mysql]
# MySQL命令行客户端相关参数

# 配置连接数据库时的默认字符集等信息
default-character-set=utf8mb4
 
[mysqld]
# MySQL服务器端相关参数

# 端口号
port = 3306
# 数据库的基础路径
basedir=/bigdata/hadoop/mysql8
# 数据存储路径
datadir=/bigdata/hadoop/mysql8/data
# 默认存储引擎
default-storage-engine = INNODB
# 服务端的默认字符集
default-character-set=utf8mb4
# 配置能够接收的数据包的大小,如果是服务器环境,可以设置为500M
max_allowed_packet = 16M
# 配置数据缓存大小,如果是服务器环境,可以设置为1G
innodb_buffer_pool_size = 300M
# 配置日志文件大小
innodb_log_file_size = 6M
# 配置InnoDB存储引擎的最大堆栈深度
innodb_max_dirty_pages_pct = 90
# 配置表名忽略大小写
lower_case_table_names = 1
# 允许的最大连接数,如果是服务器环境,可以设置为3000
max_connections = 200
# 等待超时时间(秒)
wait_timeout = 300
# 事务隔离级别
transaction_isolation = REPEATABLE-READ
# 启用慢查询日志
slow_query_log = 1
# 慢查询日志文件名
slow_query_log_file = /bigdata/hadoop/mysql8/logs/slow.log 
# 查询记录时间阈值(秒),超过这个时间的查询会被记录在慢查询日志中
long_query_time = 1

[client]
# 客户端相关参数

# 客户端的默认字符串
default-character-set = utf8mb4

配置完成后就可以初始化数据库了。

# 初始化数据库
cd /bigdata/hadoop/mysql8/bin/
./mysqld --user=mysql --basedir=/bigdata/hadoop/mysql8 --datadir=/bigdata/hadoop/mysql8/data/ --lower-case-table-names=1 --default-character-set=utf8mb4 --initialize

初始化后会显示初始登录密码,记下最后一行MySQL初始登录密码,这非常重要,忘记密码之后将无法登录数据库。

4. 启动数据库并修改密码

将数据库启停添加到操作系统服务中。

cd bigdata/hadoop/mysql8
cp ./support-files/mysql.server /etc/init.d/mysqld
# 增加可执行权限
chmod +x /etc/init.d/mysqld
# 添加服务
chkconfig --add mysqld
# 查看服务
chkconfig --list mysqld

添加完成服务之后,就可以启动服务了。

# 启动服务
systemctl start mysqld
# 停止服务
systemctl stop mysqld

服务启动之后,请手动修改root用户密码,登录密码就是前面初始化时日志打印的初始密码。

# 进入mysql命令行客户端
cd bigdata/hadoop/mysql8/bin
# 命令输完回车之后,开始输入密码即可进入客户端
./mysql -uroot -p
-- 修改登录密码
alter user 'root'@'localhost' identified by '123456';
-- 修改允许登录root用户的远程IP,%表示允许全部外部主机登录
use mysql;
update user set host = '%' where user = 'root';
-- 刷新权限
flush privileges;

如果需要查看MySQL服务日志位置,可使用如下SQL查看。

show variables like '%general%';

5. 结语

笔者对于MySQL还是很有感情的,笔者正式工作后接触的第一个数据库就是MySQL,至今我仍然觉得MySQL是最好的数据库,虽然它的功能可能没有PostgreSQL那么强大,但它并发性强,操作简单,SQL语法规范,我认为对中小项目来说,有这些就足够了。

但改变发生在Oracle收购Sun公司之后,大家对MySQL的开源前景就产生了深深的担忧,而现实也确实如此,Oracle从来没令人失望,从MySQL5开始,MySQL就开始区分社区版本和商业版本,商业版需要付费,社区版则继续开源,但最近Oracle又对外宣布,MySQL8将是MySQL最后一个开源版本,后续MySQL团队将专注开发商业版本。

其实在MySQL被Oracle收购之前,MySQL的作者已经重新拉取一个分支MariaDB,但MySQL在Oracle加入之后,确实强大了很多,特别是从MySQL8开始,逐渐拉开了与MariaDB的差距,所以目前市面上使用最多的还是Oracle维护下的MySQL。

开源MySQL已死,如果大家总是想要得到最新的数据库更新,可以考虑PostgreSQL,PostgreSQL功能更为强大,复杂查询性能很棒,特别是最近几年发展突飞猛进,最重要的是它开源协议友好,不用担心哪天不能使用,在笔者接触的新项目中,大部分都在使用PostgreSQL,只有一些老项目由于历史原因还在坚持MySQL,当然这只是笔者个人看法,具体使用何种数据库,还是要大家根据自身业务决定。

  • 31
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值