赞
踩
下载地址:https://dev.mysql.com/downloads/mysql/8.0.html。
- Select Version,选择自己需要的安装的数据库版本,这里选择8.4.0 LTS。
- Select Operating System,选择操作系统版本,这里选择Linux - Generic。
- Select OS Version,选择Linux - Generic (glibc 2.28) (x86, 64-bit),这里可以根据需要选择自己需要的版本。
注意操作系统和操作系统版本全都选择Linux Generic,选择完成之后,在下方下载列表中找到第一个Compressed TAR Archive,点击Download进行下载,如果遇到登录页面,直接点击No thanks, just start my download,跳过登录直接下载。
添加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
默认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初始登录密码,这非常重要,忘记密码之后将无法登录数据库。
将数据库启停添加到操作系统服务中。
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%';
笔者对于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,当然这只是笔者个人看法,具体使用何种数据库,还是要大家根据自身业务决定。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。