redhat6.5安装mysql(Redhat7.3安装MySQL8.0.22的详细教程二进制安装)
redhat6.5安装mysql
Redhat7.3安装MySQL8.0.22的详细教程二进制安装目录
- 一、MySQL安装包下载
- 二、MySQL卸载说明
- 三、创建用户和组
- 四、MySQL初始化
- 五、MySQL启动服务
- 六、安全效率优化
- 七、配置环境变量
- 八、修改root初始密码
- 九、配置mysql远程登录
一、MySQL安装包下载
官网地址:https://dev.mysql.com/downloads/mysql/
下载步骤:
过滤操作系统版本
选择归档安装包
下载后,上传并md5校验安装包是否与上图官方提供的值一致,确保传输过程安装包无损害
|
[root@MyDB1 ~]# cd /usr/local/software/ [root@MyDB1 software]# md5sum mysql-8.0.22-el7-x86_64.tar.gz 52e312605f66aaaa0efcd272b9fc0a1f mysql-8.0.22-el7-x86_64.tar.gz |
解压安装包
|
[root@MyDB1 software]# tar -zxvf mysql-8.0.22-el7-x86_64.tar.gz [root@MyDB1 software]# ln -s mysql-8.0.22-el7-x86_64/ mysql #创建链接,方便操作 |
二、MySQL卸载说明
- 只有rpm安装方式是需要卸载旧版本的mysql,二进制安装和编译安装不需要,但是要注意端口冲突
- rpm若不卸载旧版本,在安装时,它会提示你mysql已安装,此时是无法再次安装的,只有通过yum更新版本
- 为了保证后续操作不会产生其他冲突,我们卸载原有的mysql
注:在卸载旧的MySQL之前,注意备份数据
|
[root@MyDB1 ~]# rpm -qa|grep mysql #查看是否已安装mysql数据库 [root@MyDB1 ~]# rpm -qa|grep mysql|xargs rpm -e --nodeps #卸载mysql [root@MyDB1 software]# rpm -qa|grep mariadb-libs|xargs rpm -e --nodeps #卸载mariadb |
三、创建用户和组
新建组和用户
|
[root@MyDB1 ~]# groupadd -g 2000 mysql [root@MyDB1 ~]# useradd -u 2000 -g mysql -c "MySQL Server" -s /sbin/nologin mysql [root@MyDB1 ~]# cat /etc/group|grep mysql mysql:x:2000: [root@MyDB1 ~]# cat /etc/passwd|grep mysql mysql:x:2000:2000:Mysql software:/home/mysql:/sbin/nologin |
注:若组和用户已存在,则删除系统默认组和用户,再次创建!
删除组和用户
|
[root@MyDB1 ~]# userdel mysql #删除用户同时会删除相应的组 |
赋权给mysql路径
|
[root@MyDB1 ~]# cd /usr/local/software/ [root@MyDB1 software]# chown -R mysql:mysql mysql* |
初始化之前的目录结构
注:此时是没有data目录
四、MySQL初始化
初始化之前先编辑好配置文件
|
[root@MyDB1 ~]# vi /etc/my.cnf [root@MyDB1 ~]# cat /etc/my.cnf 内容如下:(其他的根据实际需求配置) [mysqld] basedir = /usr/local/software/mysql datadir = /usr/local/software/mysql/data log_error = /usr/local/software/mysql/mysql-error.log port = 3306 socket = /usr/local/software/mysql/mysqld.sock pid_file = /usr/local/software/mysql/mysqld.pid character-set-server=utf8 lower_case_table_names=1 max_connections=1000 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_liISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' [mysql] default-character-set=utf8 [client] default-character-set=utf8 |
初始化开始
|
[root@MyDB1 ~]# /usr/local/software/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/software/mysql --datadir=/usr/local/software/mysql/data |
初始化过程,输出日志文件中有root用户的临时密码
初始化之后的目录结构
五、MySQL启动服务
方式1——init.d: 启动服务
|
[root@MyDB1 ~]# cp /usr/local/software/mysql/support-files/mysql.server /etc/init.d/mysqld [root@MyDB1 ~]# /etc/init.d/mysqld start |
验证服务
|
[root@MyDB1 ~]# ps -ef|grep mysql |
解释说明
图中有两个进程,一个主进程,一个守护进程。当mysql意外停止时,守护进程会自动重启mysql服务
演示demo
|
[root@MyDB1 ~]# kill -9 75341 #直接杀死进程 |
方式2——systemctl: 编辑启动配置文件
|
[root@MyDB1 subsys]# vi /etc/systemd/system/mysqld.service 内容如下:(缺点:当kill掉时,无法自动启动恢复) [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html Documentation=https://www.freedesktop.org/software/systemd/man/systemd.unit.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql LimitNOFILE = 5000 ExecStart=/usr/local/software/mysql/bin/mysqld --defaults-file=/etc/my.cnf |
启动服务
|
[root@MyDB1 ~]# systemctl start mysqld.service [root@MyDB1 ~]# systemctl status mysqld.service |
六、安全效率优化
启动权限限制
|
[root@MyDB1 ~]# cd /usr/local/software/mysql/bin/ [root@MyDB1 bin]# chmod 700 mysqld mysqld_safe [root@MyDB1 bin]# ll mysqld mysqld_safe -rwx------. 1 mysql mysql 441010738 Sep 24 03:42 mysqld -rwx------. 1 mysql mysql 29157 Sep 24 03:18 mysqld_safe |
注:现在只要root用户才能够启动停止MySQL服务!
服务随系统启动
|
systemctl enable mysqld.service systemctl list-unit-files|grep mysql |
七、配置环境变量
|
[root@MyDB1 ~]# vi /etc/profile 追加内容如下: MYSQL_HOME=/usr/local/software/mysql export PATH=.:$PATH:$MYSQL_HOME/bin [root@MyDB1 ~]# source /etc/profile #重新加载,生效! |
八、修改root初始密码
创建socket链接
|
[root@MyDB1 ~]# ln -s /usr/local/software/mysql/mysqld.sock /tmp/mysql.sock |
使用临时密码登录
|
[root@MyDB1 ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 8.0.22 Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
注:当临时密码含有特使符号时,可能命令行输入会产生歧义。此时,交互时输入密码即可!
修改root密码
|
mysql> alter user root@'localhost' identified by 'MyDB12@com'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) |
注:MySQL8密码必须符合一定复杂度,否则无法修改;退出当前会话后,重启登录生效!
九、配置mysql远程登录
- 关闭防火墙或开放MySQL端口
- 查看允许访问MySQL的用户和地址
|
mysql> select user ,host from mysql. user ; + ------------------+-----------+ | user | host | + ------------------+-----------+ | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | + ------------------+-----------+ 4 rows in set (0.00 sec) |
遇到的问题
|
mysql> grant all privileges on *.* to root@ '%' identified by 'MyDB12@com' ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by ' MyDB12@com '' at line 1 |
注:该错误并不是语法错误,是因为mysql该版本不支持直接创建用户和赋权,而需要分别实现
创建远程登录用户
|
mysql> create user 'root' @ '%' identified by 'MyDB12@com' ; Query OK, 0 rows affected (0.01 sec) |
赋权
|
mysql> grant all privileges on *.* to 'root' @ '%' ; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges ; Query OK, 0 rows affected (0.01 sec) |
到此这篇关于Redhat7.3安装MySQL8.0.22(二进制安装)的文章就介绍到这了,更多相关Redhat7.3安装MySQL8.0.22内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://blog.csdn.net/weixin_43522793/article/details/112524460
- 终于有人将mysql 索引讲清楚了(MySQL 索引的一些细节分享)
- python和mysql实战(由Python编写的MySQL管理工具代码实例)
- mysql索引基本知识(MySql索引使用策略分析)
- mysql定期备份(Mysql5.7定时备份的实现)
- mysql创建表存在哪里(MySQL的表空间是什么)
- mysql服务器端安装步骤(windows下jsp+mysql网站环境配置方法)
- mysqlinnodb数据存储格式(MySQL InnoDB ReplicaSet副本集简单介绍)
- mysql的浮点数类型(浅谈MySQL中float、double、decimal三个浮点类型的区别与总结)
- mysql 查询出来的字段拼接(mysql 多个字段拼接的实例详解)
- mysqlshell日常运维脚本(监控MySQL主从状态的shell脚本)
- mysql主从模式与读写分离(磁盘写满导致MySQL复制失败的解决方案)
- mysql用户删除了如何设置(MySQL两种删除用户语句的区别delete user和drop user)
- mysql修改初始密码教程(使用MySQL命令行修改密码)
- 如何查看mysql慢查询日志(MySQL慢查询如何定位详解)
- docker怎么创建mysql服务(Docker部署MySQL8集群一主二从的实现步骤)
- mysql数据表实例教程(mysql数据库入门第一步之创建表)
- 谢广坤,你这么欺负谢腾飞,良心不会痛吗(你这么欺负谢腾飞)
- 乡村爱情15 宋晓峰怀疑自己孩子,腾飞与姜奶奶亲子鉴定出结果(宋晓峰怀疑自己孩子)
- 《乡村爱情13》开播,新版刘能以假乱真,编剧思维进入瓶颈(新版刘能以假乱真)
- 当年的 白洋淀战神 练肌肉 嘎子哥也成为行走的荷尔蒙(当年的白洋淀战神)
- 肌肉小子陈康, 亚洲巨兽 黄哲勋,哪个才是你的菜(肌肉小子陈康亚洲巨兽)
- 新闻周刊 青岛网红 赵厂长 编段子一箩筐输出快乐,陪父亲十二载勇斗病魔(新闻周刊青岛网红)
热门推荐
- flask项目微信小程序(Python Flask 搭建微信小程序后台详解)
- css选择器常用的用法和说明(针对IE6的一些CSS Hack编写时的注意点小结)
- flex布局小技巧(详解flex实现左右布局中按钮溢出隐藏效果)
- python注册码实现(python实现Virginia无密钥解密)
- web前端测试工具
- css鼠标点击效果怎么样(CSS实现鼠标滑过鼠标点击代码写法)
- sql server 2000数据库管理(SQL Server 2000/2005/2008删除或压缩数据库日志的方法)
- nginx事件模型有几种(Python实现监控Nginx配置文件的不同并发送邮件报警功能示例)
- 常见的php五大运行模式详解(php设计模式之职责链模式定义与用法经典示例)
- MongoDB优化器profile
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9