文章目录
- 一、下载
- 二、卸载mariadb
- 三、创建用户和组
- 四、解压并安装mysql
- 五、修改my.cnf
- 六、配置环境
- 七、初始化数据库
- 八、启动mysql服务、改密码配置远程链接
- 九、完成
一、下载
https://downloads.mysql.com/archives/community/
二、卸载mariadb
安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb
# 查看系统自带的Mariadb
rpm -qa|grep mariadb
# 卸载系统自带的Mariadb
# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
# 删除etc目录下的my.cnf ,一定要删掉,等下再重新建,之前我将就用这个文件,后面改配置各种不生效
rm /etc/my.cnf
三、创建用户和组
//检查mysql 用户组是否存在
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
// 创建mysql 用户组和用户
groupadd mysql
useradd -r -g mysql mysql
四、解压并安装mysql
# 这里的安装目录是/home
cd /home
# 下载就不说了,把它丢到同目录即可,/home,这里给的mysql-5.7.44的安装
# 解压
tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
# 改名
mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql5.7.44
# 更改所属用户
chown -R mysql:mysql /home/mysql5.7.44
chmod -R 755 /home/mysql5.7.44
# 创建mysql数据、日志目录等
# 这里装在/home/data/mysql里
mkdir -p /home/data/mysql/{data,logs,tmp}
# 将这些目录赋给mysql用户
chown -R mysql.mysql /home/data/mysql/
五、修改my.cnf
vi /etc/my.cnf
[client]
port = 3306
socket = /home/data/mysql/tmp/mysql.sock
[mysqld]
user = mysql
port = 3306
basedir = /home/mysql5.7.44
datadir = /home/data/mysql/data
socket = /home/data/mysql/tmp/mysql.sock
pid-file = /home/data/mysql/tmp/mysqld.pid
tmpdir = /home/data/mysql/tmp
log-error = /home/data/mysql/logs/error.log
# 设置大小写不敏感
lower_case_table_names = 1
# 解决 mysql sql_mode = only_full_group_by 问题
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自带服务添加到系统服务中
cd /home/mysql/support-files
cp mysql.server /etc/init.d/mysql
#修改服务配置文件
vi /etc/init.d/mysql#添加以下内容 basedir=/home/mysql datadir=/home/data/mysql/data
# 注册开机启动服务
chkconfig --add mysql
chkconfig --list
# 添加环境变量
echo "PATH=$PATH:/home/mysql/bin " >> /etc/profile
source /etc/profile
七、初始化数据库
# 初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
# 初始化的时候可能会报 libaio.so.1 的问题
# 这是缺少环境导致
# 你可以用yum -y update来全量更新,或使用yum install -y libaio libaio-devel来解决这个问题
# 获取临时密码
more /data/mysql/logs/error.log |grep password
八、启动mysql服务、改密码配置远程链接
# 启动mysql服务
service mysql start
# 使用初始密码登录mysql服务 并修改密码
# 后面输入自己的刚才看到的临时密码
mysql -uroot -p
# 更改root密码为root
alter user 'root'@'localhost' identified by 'root';
# 允许远程连接mysql
use mysql;
update user set host='%' where user='root';
# 刷新权限
flush privileges;
九、完成
# 启动mysql服务
service mysql start
# 停止mysql服务
service mysql stop
# 重启mysql服务
service mysql restart