微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CentOS 7 安装 MySQL 5.7

Linux 阿里云服务器 CentOS 7 安装 MysqL 5.7。

一、准备工作

1、MysqL 官网下载 MysqL 5.7.23 :MysqL-5.7.23-linux-glibc2.12-x86_64.tar.gz

2、检查是否已经安装过 MysqL

$> rpm -qa | grep MysqL

如果已经安装过其他版本的 MysqL,使用以下命令卸载:$> rpm -e 已经存在的MysqL全名

3、添加用户组,用专门管理MysqL,提高安全 (非必须,可以跳过 )

$> groupadd MysqL $> useradd -r -g MysqL -s /bin/false MysqL

4、安装libaio1 :
libaio1 是 MysqL 的安装依赖 必须先安装(前提条件)

$> yum install libaio-devel.x86_64

二、安装

1、解压 MysqL-5.7.23-linux-glibc2.12-x86_64.tar.gz 并移到 /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 $> chown -R MysqL:MysqL MysqL

2、配置 MysqL 的服务,将 support-files 下的 MysqL.server 复制到 /etc/init.d/ 下并取名MysqL

$> cp /usr/local/MysqL/support-files/MysqL.server /etc/init.d/MysqL

3、修改/etc/init.d/MysqL的参数:

$> vi /etc/init.d/MysqL
#修改如下内容 basedir=/usr/local/MysqL datadir=/usr/local/MysqL/data

4、配置 MysqL配置文件
其他版本MysqL的support-files目录下有认的配置文件
5.7.23 这个版本没有,需要自己准备,下面提供一份简单基本配置,
在/etc/ 下新建my.cnf ,有些可能会提示已经存在,因为认装的数据库配置文件也在,直接覆盖就行:

注意:在 my.cnf 文件所在目录,看是否有一个叫 my.cnf.d 的文件夹,
如果没有需要新建一个,不然后面安装的时候会报错。

$> touch /etc/my.cnf $> vi /etc/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 #普通项目的编码方式可以设置成 utf8 #这里设置成utf8mb4,是因为我的项目需要存储 emoji 表情, #这种表情虽然是utf8编码,但是一个字符需要占用4个字节,而MysqL utf8编码只能存放3字节的字符。 #在MysqL 5.6 以上版本中,可以设置编码为utf8mb4,这个字符集是utf8的超集。 default-character-set=utf8mb4 [MysqLd] # 一般配置选项 basedir = /usr/local/MysqL datadir = /usr/local/MysqL/data port = 3306 character-set-server=utf8mb4 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 socket=/var/lib/MysqL/MysqL.sock # 下面一行是忽略大小写的配置,不想忽略的话可以删除,或者把值改成 0; lower_case_table_names=1 # disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run MysqLd under a different user or group,# customize your systemd unit file for mariadb according to the [MysqLd_safe] log-error=/var/log/MysqL/mariadb/mariadb.log pid-file=/var/run/MysqL/mariadb/mariadb.pid # include all files from the config directory !includedir /etc/my.cnf.d

5、创建相关目录文件

$> mkdir -p /var/log/MysqL/mariadb $> touch /var/log/MysqL/mariadb/mariadb.log $> chown -R MysqL:MysqL /var/log/MysqL $> mkdir /var/run/MysqL $> chown -R MysqL:MysqL /var/run/MysqL $> mkdir /var/lib/MysqL $> chown -R MysqL:MysqL /var/lib/MysqL $> ln -s /var/lib/MysqL/MysqL.sock /tmp/MysqL.sock

6、切换到MysqL的bin目录执行下面命令初始化数据库

$> rm -rf /usr/local/MysqL/data/* (没有/usr/local/MysqL/data目录可以不执行) $> ./MysqLd --initialize --user=MysqL --basedir=/usr/local/MysqL --datadir=/usr/local/MysqL/data

7、执行完毕后会自动生成认的初始密码在执行记录中,注意复制出来!

8、启动MysqL 服务,下方会提示启动成功字样

$> service MysqL start
启动成功会显示Starting MysqL [ OK ! ] 

9、配置一下MysqL的环境变量

$> cd /etc/profile.d $> touch MysqL.sh $> vi MysqL.sh
#MysqL.sh添加如下内容 MysqL_HOME=/usr/local/MysqL PATH=$PATH:$MysqL_HOME/bin export MysqL_HOME PATH
$> source /etc/profile

三、登录

1、登录

$> MysqL -uroot -p
    # 输入认的初始密码

2、修改密码

MysqL> set password=password(‘新密码‘);

3、开启远程登录 
3.1、设置MysqL的远程登录

# grant all privileges on 库.表 to 用户@‘%‘ identified by 用户密码‘; MysqL> grant all privileges on *.* to [email protected]‘%‘ identified by ‘root密码‘; MysqL> flush privileges;

3.2、设置防火墙:

# 设置防火墙: $> firewall-cmd --zone=public --add-port=3306/tcp --permanent # 重新载入: $> firewall-cmd --reload # 查看: $> firewall-cmd --zone= public --query-port=3306/tcp 或 firewall-cmd --zone=public --list-ports

4、设置开机自启(非必须,不影响使用):

$> chkconfig --list $> chkconfig --add MysqL $> chkconfig MysqL on # 然后使用chkconfig --list命令再次查看自启服务列表, # 会看到MysqL的2-5都显示开(有些显示的是 on); # 说明MysqL服务会随机器启动而自动启动

然后就可以导入 sql 文件建表跑服务了。

如果想要关闭 MysqL 服务:

$> service MysqL stop

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。