1 删除centos7系统自带的mariadb
rpm -qa |grep mariadb 查看当前centos系统中是否已存在mariadb数据库
rpm -e --nodeps (从上一步查看的mariadb全包名) 删除mariadb数据库以及依赖包
2 创建mysql用户及用户组
groupadd mysql 创建mysql用户组
useradd -r -g mysql mysql 创建mysql用户,并且不能用来作为centos7的用户登陆
3 在mysql官网上下载mysql5.7.24版本的tar.gz包
4 将mysql/support-files下的mysql.server 复制到 /etc/init.d/下并自定义为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
vi /etc/init.d/mysql 修改该文件,指定mysql的安装目录
basedir=/usr/local/mysql5.7
datadir=/usr/local/mysql/data5.7
5 在etc目录下新建my.cnf文件(注意此文件在移除mariadb数据库的时候已经被删除,若存在,手动删除)
vim /etc/my.cnf 添加如下内容
[client]
default-character-set=utf8
[mysqld]
# 一般配置选项
basedir = /usr/local/mysql5.7
datadir = /usr/local/mysql/data5.7
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
6 对mysql目录进行赋权
chown -R mysql mysql5.7/ 修改目录所属用户
chgrp -R mysql mysql5.7/ 修改用户所属目录组
7 进入mysql的bin目录下进行初始化
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql5.7 --datadir=/usr/local/mysql5.7/data
注意:此处会提示错误 libnuma.so.1: cannot open shared object file: No such file or directory
安装libnuma.so yum -y install numactl.x86_64 如果存在则先删除
再重新执行初始化命令,出现密码字段则代表初始化成功,并保留密码用以登陆数据库
8 配置mysql的环境变量
修改 vim /etc/profile
export MYSQL_HOME=/usr/local/mysql5.7
export PATH=$PATH:$MYSQL_HOME/bin
9 启动mysql
service mysql start 启动mysql
mysql -u root -p 根据要求输入刚才的密码,输入的密码不会显示
set password=password('新密码'); 重新设置密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码'; 设置允许远程访问
flush privileges; 刷新
10 添加mysql到自启动服务
chkconfig --add mysql
chkconfig mysql on
11 注意阿里云服务器需要在阿里云控制台配置开放端口