mysql有二进制码安装,和源码编译安装(mysql5.5使用cmake安装,mysql5.7需要安装boost依赖安装),因为boost依赖安装麻烦,所以用二进制码安装
1.下载二进制包并解压
[root@lb01 src]# wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
[root@lb01 src]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
2.将解过的mysql5.7包移动到/usr/local/下并改名为mysql
[root@lb01 src]# mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql
3.创建mysql账户(没有家目录、没有登录shell的用户)
[root@lb01 src]# useradd -r mysql -M -s /sbin/nologin
4.切换到/usr/local/mysql下
[root@lb01 src]# cd /usr/local/mysql/
5.初始化mysql5.7数据库:
确认/data/mysql数据库文件夹是否存在,不存在则创建,如果存在且有数据请删除,不然会初始化失败
[root@lb01 mysql]# mkdir /data/mysql
[root@lb01 mysql]# chown mysql.mysql /data/mysql
[root@lb01 mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql
注意生成临时密码用来登录:
6.开启加密连接
[root@lb01 mysql]# ./bin/mysql_ssl_rsa_setup --datadir=/data/mysql
7.修改配置文件
此版本没有默认的配置文件需要自己去网上搜索或者自己写:
[root@lb01 mysql]# vi /etc/my.cnf
[mysqld]
port=3306
datadir=/data/mysql
pid-file=/var/run/mysql/mysql.pid
socket=/var/lib/mysql/mysql.socket
log-error=/var/log/mysql/mysql.log
user=mysql
[client]
socket=/var/lib/mysql/mysql.socket
8.创建相关目录,并修改权限
[root@lb01 ~]# mkdir /var/lib/mysql
[root@lb01 ~]# mkdir /var/run/mysql
[root@lb01 ~]# mkdir /var/log/mysql
[root@lb01 ~]# chown -R mysql:mysql /usr/local/mysql /var/lib/mysql /var/log/mysql /var/run/mysql #修改权限
9.配置启动文件
[root@lb01 mysql]# cat /usr/lib/systemd/system/mysql.service
[Unit]
Description=mysql
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecStop=/usr/local/mysql/support-files/mysql.server stop
ExecRestart=/usr/local/mysql/support-files/mysql.server restart
ExecReload=/usr/local/mysql/support-files/mysql.server reload
PrivateTmp=true
[Install]
WantedBy=multi-user.target
10.设置MySQL服务开机自启动
[root@lb01 ~]# systemctl enable mysql.service
11.启动MySQL服务
[root@lb01 ~]# systemctl restart mysql.service
[root@lb01 ~]# netstat -anptu | grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 22684/mysqld
12.重置密码
a.使用初始化临时密码登陆
[root@lb01 ~]mysql -uroot -p'Ed0fem1S(oH/'
b.修改mysql登陆密码:123456
mysql> set password = password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)