mysql各版本区别
1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
2. MySQL Enterprise Edition 企业版本,需付费,可以试用30天。
3. MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。
4. MySQL Cluster CGE 高级集群版,需付费。
5. MySQL Workbench(GUITOOL)一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。MySQLWorkbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL WorkbenchSE)。
下载地址:https://dev.mysql.com/downloads/ 官网 https://mirrors.163.com/mysql/Downloads/MySQL-8.0/ 网易镜像
我这里安装选的是社区版,因为是centos操作系统,所以选Red Hat Enterprise Linux 8 / Oracle Linux 8 (x86, 64-bit), RPM Bundle这个版本
1、卸载centos系统自带的mariadb数据库
rpm -qa |grep mariadb |xargs yum remove -y
2、解压安装包
tar axvf mysql-8.0.19-1.el8.x86_64.rpm-bundle.tar
3、安装数据库,必须安装的四个文件,要按顺序安装,不然会出现找不到依赖包的错误
rpm -ivh mysql-community-common-8.0.19-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.19-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.19-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.19-1.el8.x86_64.rpm
如果安装一些安装包提示以下错误:
警告:mysql-community-devel-8.0.19-1.el8.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
pkgconfig(openssl) 被 mysql-community-devel-8.0.19-1.el8.x86_64 需要
表明缺少依赖包,如果安装主机能链接上公网可以直接用yum命令直接安装对应的依赖包,如:yum install libaio.so.1.如果是离线只能去下载对应的安装包拷贝回来进行安装。centos相关的依赖包可以去http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/地址中找。
4、初始化数据库
mysqld --initialize
5、查看配置文件、赋权
cat /etc/my.cnf
这里面有一行是 datadir=/var/lib/mysql 表示数据文件存放地址,这个文件夹要给mysql用户赋权,不然是无法启动数据库的。执行chown mysql:mysql /var/lib/mysql -R命令进行赋权。赋权必须在数据库初始化后进行(前提是你用非mysql用户安装mysql,而不是mysql用户),不然启动数据库会报错。
6、启动数据库
启动MySql
systemctl start mysqld.service
停止MySql
systemctl stop mysqld.service
重启MySql
systemctl restart mysqld.service
设置MySql开机自启
systemctl enable mysqld
7、查看修改root用户密码
通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码
通过mysqladmin -uroot -p123456 password 123命令修改初始密码,-p后面的密码是上面查看到数据库的密码,password后面接的密码是最终要修改的密码。如果初始密码中有特殊字符,如<等字符,可以在密码信息两边加上单引号。如:mysqladmin -uroot -p'123456<' password '123>'
8、登陆数据库
mysql -u root -p
show databases;查看已有的数据库,use mysql切换数据库,show tables显示数据库里的所有表。
9、可能碰到的问题
如果是在数据库初始化之前执行chown mysql:mysql /var/lib/mysql -R赋权语句(前提是在root用户下安装mysql数据库,如果是在mysql 用户下安装应该不存在这个问题)。然后再执行数据库初始化、数据启动命令会报以下错误:
此时你根据提示的"systemctl status mysqld.service"和"journalctl -xe" 看详细信息根本看不到有用信息,就是提示你启动失败,具体详细信息如下:
这时如果看一下/var/log/mysqld.log文件会发现有用信息。
ibdata1就是在执行mysqld --initialize数据库初始化命令在/var/lib/mysql目录下生成的
这时你重新执行一下chown mysql:mysql /var/lib/mysql -R命令,进行赋权,数据库就可以启动起来了。
如果数据库没有启动起来,执行mysql -u root -p登陆数据库会报以下错误
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
就是没有赋权导致的,执行 chown mysql:mysql /var/lib/mysql -R命令进行赋权
可以通过
ps aux | grep mysqld
systemctl status mysqld.service
service mysqld status
等命令查看数据库的当前状态。
参考摘录文档:
https://blog.csdn.net/qq_32671287/article/details/60872098
https://blog.csdn.net/wangkai_123456/article/details/87603464
https://blog.csdn.net/weixin_45765009/article/details/103965046