CentOS7下二进制安装mysql 5.7.23
网上这方面的安装资料参差不齐,到处是坑,废了我好大的劲才装好,然后把自己整理一下,把安装过程记录了下来,同时也分享给有需要的朋友,话不多说,直接上菜
1、首先去Mysql官网下载Mysql5.7.23
官方的安装文档
2、上传文件
利用xftp工具将 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 上传到服务器,然后使用命令检查是否有默认的数据库.
rpm -qa | grep mysql
如果有,使用一下命令卸载
rpm -e 已经存在的MySQL全名
3、添加用户组,用专门管理mysql,提高安全
在/usr/local 目录下创建mysql文件夹,并添加用户组和用户,并把mysql文件夹所属组和用户切换成刚添加的用户组和用户
[root@localhost local]# mkdir mysql [root@localhost local]# groupadd mysql [root@localhost local]# useradd -r -g mysql -s /bin/false mysql [root@localhost local]# [root@localhost local]# chown -R mysql:mysql mysql # chown -R "权限"或"名":"组" 文件夹名称
添加用户组步骤非必须可以跳过
然后将上传mysql压缩文件解压并移到/usr/local/mysql文件夹下
tar -xvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz -C /usr/local mv mysql-5.7.23-linux-glibc2.12-x86_64/* /usr/local/mysql
配置mysql的服务,将support-files下的mysql.server 复制到 /etc/init.d/下并取个名字
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
然后修改/etc/init.d/mysql的参数,
vi /etc/init.d/mysql
修改
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
接着配置mysql的配置文件,在其他版本的mysql 里面 support-files下有默认的配置文件,而5.7.23这个版本没有,需要自己准备,下面提供一份简单基本配置,在/etc/ 下新建my.cnf ,有些可能会提示已经存在,因为默认装的数据库配置文件也在,直接覆盖就行
touch my.cnf
my.cnf内容如下
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [client] port = 3306 default-character-set=utf8 [mysqld] # 一般配置选项 basedir = /usr/local/mysql datadir = /usr/local/mysql/data port = 3306 character-set-server=utf8 default_storage_engine = InnoDB sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
然后切换到mysql的bin目录执行下面命令初始化数据库
[root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
执行完毕后会自动生成默认的密码在执行记录中,注意复制出来
通命令启动mysql 服务,下方会提示启动成功字样
service mysql start
4、登录
[root@localhost bin]# ./mysql -uroot -p Enter password: 输入默认的临时密码
登录成功后,修改密码
mysql> set password=password('新密码');
为了Mysql 命令使用方便,配置一下mysql的环境变量
[root@localhost bin]# vi /etc/profile
使环境变量生效
[root@localhost bin]# source /etc/profile
从此无需在切换到mysql的bin下登录mysql了
5、开启远程登录
如果防火墙是开启状态的话,那我们先需要打开端口,才能远程登录,使用下面命令开放指定端口,然后重启防火墙
[root@localhost local]# firewall-cmd --zone=public --add-port=3306/tcp --permanent [root@localhost local]# firewall-cmd --reload
设置mysql的远程登录
mysql> grant all privileges on *.* to root@'%' identified by '你的密码'; mysql> flush privileges;
6、设置开机自启
此步骤非必须,不影响使用,但是CentOS一般作为服务器使用,因此,MySQL服务器应该随机自启动
首先查看自启服务列表
[root@localhost local]# chkconfig --list
然后添加mysql服务并设置自启
[root@localhost local]# chkconfig --add mysql [root@localhost local]# chkconfig mysql on
然后使用上述命令再次查看自启服务列表,会看到mysql的2-5都显示开(有些显示的是 on),说明mysql服务会随机器启动而自动启动.