源码安装MySQL-8.0.16

部署MySQL

准备源码包可到官网下载
mysql源码包官网下载路径
[root@nginx ~]# https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

1.解包

[root@nginx ~]# tar -xf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
MySQL依赖于libaio 库。如果未在本地安装此库,则数据目录初始化和后续服务器启动步骤将失败。如有必要,请使用适当的包管理器进行安装。例如,在基于Yum的系统上
[root@nginx ~]# yum -y install libaio
2.把目录移到/usr/local/下并命名mysql
[root@nginx ~]# mv mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql

3.创建管理用户
[root@nginx ~]# useradd -s /sbin/nologin mysql
[root@nginx ~]# chown -R mysql:mysql /usr/local/mysql

4.写配置文件/etc/my.cnf
如果有/etc/my.cnf 或/etc/mysql目录,并删除它们。小编把它们移到root下
[root@nginx ~]# mv /etc/my.cnf /root/
[root@nginx ~]# mv /etc/mysql /root

创建文件并进入
[root@mysql1 mysql]# vim /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
log-error=/var/lib/mysql/mysqld.log
pid-file=/var/lib/mysql/mysqld.pid
port=3306

  1. 初始化数据库
    [root@nginx ~ ]# cd /usr/local/mysql
    [root@nginx mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql

6.让mysqld进程可以使用systemctl 控制
[root@nginx ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@nginx ~]# chkconfig --add mysqld
[root@nginx ~]# chkconfig mysqld on

7.检测是否有进程(查看是否有进程号3306)
[root@nginx ~]# systemctl start mysqld
[root@nginx ~]# netstat -nutlp | grep mysql

tcp6 0 0 :::33060 ::? LISTEN 2581/mysqld
tcp6 0 0 :::3306 ::? LISTEN 2581/mysqld

原谅我的懒惰,不想配图

8.把/usr/local/mysql/bin下得文件变成快速执行的,不然每次打源路经,麻烦

[root@nginx ~]# PATH=$PATH:/usr/local/mysql/bin/
[root@nginx ~]# echo PATH=$PATH:/usr/local/mysql/bin/ >> /etc/profile

9.登陆测试
[root@mysql1 mysql]# grep password /var/lib/mysql/mysqld.log
2019-05-19T10:49:37.215020Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Sd(Tjxodg7Vr
第一次登陆它会生成一个初始密码。需要记好,可以在/var/lib/mysql/mysqld.log中找到

[root@nginx ~]# mysql -uroot -p'Sd(Tjxodg7Vr' 
  mysql> alter user  root@'localhost' identified by "123456";

进去后需要把密码改了,一是方便,二是不改密码无法进行使用SQL命令

你可能感兴趣的:(安装部署,mysql,数据库,源码安装)