公司给了测试服务器,很多东西都没有,又没有联网,不能通过yum去下载,只能离线安装,本文是离线安装mysql的步骤
1.下载mysql安装包 (我用的mysql-5.7.16-1.el7.x86_64.rpm-bundle版本)
参考文献:(https://blog.csdn.net/hanimashi/article/details/53225025 这里面有可以下载的地址)
2.上传到服务器并且解压
我解压到了 /usr/local/src/mysql中
解压后为:
有以上的包(rpm结尾的)
我们要卸载的是包含有mariadb关键字的RPM包
rpm -qa|grep mariadb
我的出现如下
mariadb-libs-5.5.41-2.el7_0.x86_64
使用命令卸载:
rpm -e mariadb-libs-5.5.41-2.el7_0.x86_64 --nodeps
3.安装
接着安装几个rpm包 按照顺序安装
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
安装截图如下;
初始化mysql
进入usr/local/bin目录下
使用命令
mysqld --initialize --user=mysql
mysqld --initialize-insecure --user=mysql
报错:
2018-10-08T15:58:07.109754Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-10-08T15:58:07.112423Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2018-10-08T15:58:07.112464Z 0 [ERROR] Aborting
解决方法:删除掉/var/lib目录中mysql目录 如果有 就删掉
然后重新在/usr/local/bin上重新初始化
mysqld --initialize-insecure --user=mysql
配置数据库
修改配置文件路径:cp /usr/share/mysql/my-default.cnf /etc/my.cnf
在配置文件中增加以下配置并保存:vim /etc/my.cnf
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
然后启动服务
systemctl start mysqld
报错:
Job for mysqld.service failed. See 'systemctl status mysqld.service' and 'journalctl -xn' for details.
需要看下错误
Journalctl -xe 查看下
SELinux is preventing 说明SELinux在阻止这个服务
需要关掉
setenforce 0 #临时关闭SELinux 重启后失效
可以看我的微博:https://blog.csdn.net/qq_28198181/article/details/82704943
启动 就没有报错了
mysql修改密码
Mysql进入 当前没有密码
然后设置密码 SET PASSWORD=PASSWORD(“123456”)
然后登陆就需要密码了
密码我设置的123456
服务启动用的是systemctl start/restart/stop mysqld
远程连不上的解决方法:
参考:https://www.cnblogs.com/zzqit/p/10095597.html
修改 mysql数据库中user表的user字段