MySQL 5.7.28 源码包安装
1. 环境监测
- 检测系统是否自带安装mysql
rpm -qa | grep mysql
如有类似
mysql-libs-5.1.52-1.el6_0.1.x86_64
可以选择进行卸载
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 # 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 # 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
- 检测是否存在mariadb数据库
rpm -qa | grep mariadb
如果有则卸载
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_6
2. 安装mysql
- Tar包进行解压,然后移动到/usr/local/mysql
tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql
- 创建mysql组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
useradd -r参数表示mysql用户是系统用户,不可用于登录系统
- 创建data目录
cd /usr/local/mysql/
mkdir data
- 将/usr/local/mysql的属组和属主改为mysql
chown -R mysql.mysql /usr/local/mysql/
- 在/usr/local/mysql/support-files目录下创建my_default.cnf
cd support-files/
vim my_default.cnf
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir = /usr/local/mysql/
datadir = /usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
log-error = /usr/local/mysql/data/mysqld.log
pid-file = /usr/local/mysql/data/mysqld.pid
- 把/usr/local/mysql/support-files复制到/etc/my.cnf
cp my_default.cnf /etc/my.cnf
- 初始化mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
- 初始化完成后查看日志,在/usr/local/mysql/data/mysqld.log,并记住做好的临时密码
cat data/mysqld.log
- 启动mysql,需要先把/usr/local/mysql/support-files/mysql.server 复制为/etc/init.d/mysql
service mysql start
- 进入mysql,密码是之前的临时密码
./bin/mysql -u root -p
- 修改密码
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
- 重启mysql生效
service mysql stop
service mysql start
3. Mysql优化
- 创建mysql命令软连接
ln -s /usr/local/mysql/bin/* /usr/local/sbin/
- 把mysql启动使用systemctl控制
chkconfig --add mysql