参考文献地址: https://www.jianshu.com/p/276d59cbc529
1.1下载(下载时间可能会比较长,耐心等待):
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
1.2解压:tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
1.3移动(前提是目标目录没有mysql这个目录,有的话重命名或者移除):
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
1.4创建data目录:
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
1.1.1创建组和用户:
1.1.1.1 创建用户组
groupadd mysql
1.1.1.2 创建用户
useradd -r -g mysql -s /bin/false mysql或useradd -r -g mysql mysql
1.5更改目录权限:
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
1.6编辑配置文件my.cnf
vi /etc/my.cnf
配置信息:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
#注意配置该项,否则默认编码为latin1,使用过程中会有乱码等麻烦
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
1.7安装:cd /usr/local/mysql/bin/
初始化。
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看密码(最好先复制下来,保存下,后面会用到)。
cat /data/mysql/mysql.err
输出日志,标识地方为密码:
运行输入日志,最后是数据库管理员的临时密码:bio=HkRuz0r.
1.8检查链接库是否有以下命令:补充说明:
第4步时,可能会出现错误:
出现该问题首先检查该链接库文件有没有安装使用 命令进行核查
[root@localhost bin]# rpm -qa|grep libaio
[root@localhost bin]#
运行命令后发现系统中无该链接库文件
[root@localhost bin]# yum install libaio-devel.x86_64
安装成功后,继续运行数据库的初始化命令,此时可能会出现如下错误:
执行如下命令后:
[root@localhost bin]# yum -y install numactl
1.9测试启动mysql:/usr/local/mysql/support-files/mysql.server start
启动有可能会报错:
打开日志查看报错信息:tail -f /data/mysql/mysql.err
发现地址被占用不能创建连接:
1.9.1问题处理:ps -ef|grep mysql
查看是否有运行中的mysql进程,如果有 kill -9 id 杀死进程。如果没有则可能是有些错误的文件导致尝试操作1.9.2操作
1.9.2:删除:rm /tmp/mysql3306.sock
文件
1.10添加软连接:
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
1.11修改密码:
mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('yourpass');
1.12开放远程连接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
1.12其他设置:
1.12.1、将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
1.12.2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
1.12.3、添加服务
[root@localhost /]# chkconfig --add mysqld
1.12.4、显示服务列表
[root@localhost /]# chkconfig --list