官方下载mysql的rpm安装包,通常我们只需要下载4个包即可。
下载地址如下:
https://dev.mysql.com/downloads/mysql/
关于centos的安装包,下载:
7或者7版本以上 下载redhat7 X64或者32
6版本下载redhat6 X64或者32
此下安装过程也可适用redhat
只需要下载mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar) 即可,他包含了下面的所有文件。
mysql安装包有点多,在官方有一句话是这样说的:
在大多数情况下,你只需要安装MySQL-server和MySQL-client安装包就可以
安装上一个标准功能的MySQL。对于一个标准安装来说,其他的安装包不是必需的。
所以我们不必头疼。
而client和server又依赖于一些其他包,所以我们只需要4个包即可。
mysql-community-client-5.7.20-1.el7.x86_64.rpm
mysql-community-common-5.7.20-1.el7.x86_64.rpm
mysql-community-libs-5.7.20-1.el7.x86_64.rpm
mysql-community-server-5.7.20-1.el7.x86_64.rpm
下面安装都采用root模式进行安装
1.安装之前的卸载
rpm -qa|grep mariadb
此命令是查询之前版本的mysql
卸载命令
rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
检测自带的mysql以及rpm包
rpm -qa | grep -i mysql
yum -y remove mysql 移除
2.安装
虽然mysql有如此之多的安装包,但是我们仅需要安装我们需要的就可以了
再新建之前我们需要先创建用户组
groupadd mysql
useradd -r -g mysql mysql
按照步骤安装如下即可。
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
至此mysql安装成功
第一次进入是不知道mysq密码的,可以在var/log/mysqld.log找到mysql的日志,来找到mysql默认设置的初始密码
搜索关键字generated其中有类似A temporary password is generated for root@localhost: 密码
如果mysqld.log里面没有内容,重启一下reboot则就能看到日志内容
mysql -u root -p 进入后需要设置密码,密码可能会设置失败,因为复杂度安全度太低
set password=password("Password@123");
mysql授予远程访问权限,类似如下,其中的 ON *.* TO 是授予任何主机访问,假若我们只针对具体某类IP也可以进行设置
授予后需要刷新一下权限才能使用,如下
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Password@123' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY 'Password@123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
1.关于centos7以上的启动方式如下:
使用systemctl命令启动和关闭mysql
启动mysql服务
systemctl start mysqld.service
停止mysql服务
systemctl stop mysqld.service
重启mysql服务
systemctl restart mysqld.service
查看mysql服务当前状态
systemctl status mysqld.service
设置mysql服务开机自启动
systemctl enable mysqld.service
停止mysql服务开机自启动
systemctl disable mysqld.service
2.如果不设置mysql的配置文件,mysql默认是区分大小写的,为了不区分大小写,需要设置如下:
编辑MySQL安装目录下的my.ini文件,在[mysqld]节下 添加 lower_case_table_names=1(备注:为0时大小写敏感,为1时大小写不敏感,默认为1),可以实现MySql按照建表Sql语句的大小写状态来定义表名。
然后重启mysql即可解决问题.