#转载来自
先去下载
下载mysql-5.7.29-el7-x86_64.tar
解压,安装到系统服务中,
1.解压
tar -zxf mysql-5.7.29-el7-x86_64.tar.gz -C /usr/local/
如果你下载的是xx.tar结尾的,解压出来可能有2个文件,其中一个是上面说的tat.gz文件,另一个是test文件
2.重命名文件夹
cd /usr/local/
mv mysql-5.7.29-el7-x86_64 mysql
3.进入mysql,由于5.7没有data目录,自己创建一个
cd mysql/
mkdir data
4.创建mysql用户和用户组(为什么要做么做我也不知道,我也是复制粘贴的)
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql/
[root@localhost mysql]#
#useradd -r参数表示mysql用户是系统用户,不可用于登录系统
5.改变mysql目录权限,之前是root权限,现在设置成mysql权限
[root@localhost mysql]# chown -R mysql:mysql /usr/local/mysql/
6.初始化数据库
./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
我就不知道为什么会有警告的… 不过这仅仅是警告, 没事~~
7.把mysql放到本地系统服务中
cp -a ./support-files/mysql.server /etc/init.d/mysqld
8.由于mysql内没有my-default.cnf 文件,直接编辑的 /etc/my.cnf文件(也可上传my-default.cnf )
vi my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
symbolic-links=0
max_connections=200
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=32M
explicit_defaults_for_timestamp=true
[mysqld_safe]
log-error=/var/log/mysql/mysql.log
pid-file=/var/run/mysql/mysql.pid
注意:mysql连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock,这个socket路径不要修改,不然连本地mysql的时候回报错:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
因为my.cnf中配置了log-error、pid-file路径,因此需要在/var/log/、/var/run/创建mysql目录,并且给mysql用户全部的权限(chmod),下面的对应的命令
[root@localhost mysql]# mkdir /var/log/mysql/
[root@localhost mysql]# mkdir /var/run/mysql/
[root@localhost mysql]# chmod -R 777 /var/log/mysql/
[root@localhost mysql]# chmod -R 777 /var/run/mysql/
9.0 接着启动启动mysql服务 并祈祷别报错
service mysqld start
登录并修改初始密码
1. 查看初始化密码并修改
cat /root/.mysql_secret
SET PASSWORD FOR 'root'@localhost=PASSWORD('123456');
中途输出了几次密码…
2.允许root账户IP登录
mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
至于设置开机启动,你可以看顶头文章的其他内容