1.前期准备
由于CentOS7之后会在系统中自带一个免费的数据库:mariadb,并且它的驱动和mysql的驱动是有冲突的,所以我们必须先要卸载他。(ps.mariadb和mysql是同一个作者创作的数据库,由于权益等其他问题才分开的,所以有兴趣的同志可以研究一下。)
首先用rpm命令查看一下是否有mariadb,然后再删除:
1rpm -qa | grep -i mariadb
可能会出现这种情况:
然后我们用rpm命令删除这个版本的mariadb:
1rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
这个名字在不同版本的系统上可能不一样,大家需要注意。
如果是centos7之前的版本的话,可能会自带mysql,这是我们需要按照上述步骤删除mysql,这里不再赘述。
由于mysql的server端需要perl语言的支持,因此我们还需要在系统中安装perl支持:
1yum install perl -y
安装Mysql基础依赖包
1yum install -y libaio numactl
2.创建mysql用户以及相关目录
创建用户
1
2
3groupadd -g 800 -f mysql
useradd -u 801 -g mysql -s /bin/bash -d /home/mysql mysql
passwd mysql
添加用户资源限制
1
2
3
4echo 'mysql soft nproc 2047' >> /etc/security/limits.conf
echo 'mysql hard nproc 16384' >> /etc/security/limits.conf
echo 'mysql soft nofile 1024' >> /etc/security/limits.conf
echo 'mysql hard nofile 65536' >> /etc/security/limits.conf
创建安装目录
1
2
3mkdir -p /mysql/app
mkdir -p /mysql/app/log
chown -R mysql:mysql /mysql
3.解压软件包
使用mysql用户登录,解压软件包
1
2
3
4cd /mysql/app
rpm2cpio mysql-community-server-5.7.25-1.el7.x86_64.rpm | cpio -idvm
rpm2cpio mysql-community-common-5.7.25-1.el7.x86_64.rpm | cpio -idvm
rpm2cpio mysql-community-libs-5.7.25-1.el7.x86_64.rpm | cpio -idvm
4.设置环境变量1
2echo 'export PATH=$PATH:/mysql/app/usr/bin/:/mysql/app/usr/sbin/' >> /home/mysql/.bash_profile
source /home/mysql/.bash_profile
5.编辑my.cnf
vi /mysql/app/etc/my.cnf
修改成如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14symbolic-links=0
socket=/mysql/app/var/lib/mysql/mysql.sock
basedir=/mysql/app/usr
datadir=/mysql/app/var/lib/mysql
secure-file-priv=/mysql/app/var/lib/mysql-files
log-error=/mysql/app/log/mysqld.log
pid-file=/mysql/app/var/run/mysqld/mysqld.pid
#init-connect=\'SET NAMES utf8\'
collation_server=utf8_unicode_ci
character_set_server=utf8
6.安装mysql
注意这个步骤会生成mysql数据库root用户默认密码,在上一步my.cof配置文件中log-error(/mysql/app/log/mysqld.log)属性对应日志中可以查到:
1mysqld --defaults-file=/mysql/app/etc/my.cnf --initialize --user=mysql
查看日志,找到初始化密码
1cat /mysql/app/log/mysqld.log
7.启动mysql1mysqld --defaults-file=/mysql/app/etc/my.cnf --user=mysql &
检查是否启动
1netstat -tunlp | grep 3306
8.安装mysql客户端1
2cd /mysql/app
rpm2cpio mysql-community-client-5.7.25-1.el7.x86_64.rpm | cpio -idvm
9.登录修改密码
登录
1mysql -h 127.0.0.1 -u root -p
修改密码
1
2
3
4
5
6
7
8mysql>set password = password('123456');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql>set global validate_password_policy=0;
mysql>set global validate_password_length=1;
mysql>set global validate_password_mixed_case_count=2;
mysql>set password = password('123456');
mysql>grant all privileges on *.* to 'root' @'%' identified by '123456';
mysql>flush privileges;