一、准备
- 下载mysql5.7 oracle地址(使用社区版即可,免费)
- 上传到linux系统里
可以使用linux远程工具进行操作(这里使用的是Xshell7) - 移除系统内已有的mysql或者mariadb
使用rpm -qa mariadb*
命令查看,若是没有则什么也查不到,否则会出现一下
执行yum remove -y
rpm -qa mariadb*``进行移除
二、安装
- 解压tar包
tar zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
- 修改目录名
mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql
- 在mysql下新增data目录和my.cnf配置文件
mkdir data
touch my.cnf
my.cnf文件里添加一下内容:
[mysqld]
port = 3306
basedir=/opt/soft/mysql
datadir=/opt/soft/mysql/data
socket=/opt/soft/mysql/mysql.sock
user=mysql
symbolic-links=0
log-error=/opt/soft/mysql/error.log
pid-file=/opt/soft/mysql/mysql.pid
- 新增mysql组和mysql用户,并将mysql文件夹里的用户和组全变成mysql
# 新建组和账号
groupadd mysql
useradd -r -g mysql mysql
# 改变mysql目录下所有文件的组和账号所属
cd mysql
chown -R mysql .
chgrp -R mysql .
# 以上后两句也可以替换
chown mysql:mysql -R .
- 进入bin目录执行初始化命令
cd bin
[root@localhost bin]# ./mysqld --defaults-file=/opt/soft/mysql/my.cnf --basedir=/opt/soft/mysql/ --datadir=/opt/soft/mysql/data --user=mysql --initialize
我的系统出现下面的报错,
说明系统缺少类库,需要安装yum install -y libaio
,安装好再执行上面的命令,就完成初始化工作
- 运行mysql服务
进入’support-files’目录,
通过./mysql.server start
方式运行服务,会有以下错误
需要修改’mysql.server’文件,加上我们mysql的安装路径(为什么要改这个,是因为我们的mysql安装路径是自定义的,不是像网上其他人都是安装在’/usr/local/'下面)
改完再运行命令./mysql.server start
就ok了, - 命令方式连接mysql并修改密码和开启远程访问
进入bin下面执行./mysql -uroot -p
,或者建立一个软连接(ln -s /opt/soft/mysql/bin/mysql /usr/bin
),这样就不用再到这个目录下执行命令
密码就是初始化的时候,会生成日志文件里;
复制进行登录即可;
此时出现一下错误,因为mysql初始化mysql.sock默认弄了一个地址,my.cnf
里配置,不起作用;这个文件在mysql目录下,但软件去/tmp/下找,找不到
最简单的办法解决就是,弄个软连接,连接上去就ok了ln -s /opt/soft/mysql/mysql.sock /tmp/mysql.sock
再次执行连接命令,
修改密码set password = password('***')
;
远程访问mysql> update user set host='%' where user = 'root'
;
再刷新权限mysql> flush privileges
- 其他一些改动
将‘support-files’目录下‘mysql.server’加到系统服务里cp /opt/soft/mysql/support-files/mysql.server /etc/init.d/mysql
,以后就可以直接使用service mysql start
来进行启动