centOS 安装mysql5.7.25
centOS 安装wget
[root@localhost bin]# yum -y install wget
进入安装目录
[root@localhost bin]# cd /usr/local
使用wget下载mysql-5.7.25
[root@localhost bin]# wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
[root@localhost bin]# groupadd mysql
[root@localhost bin]# useradd -r -g mysql mysql
解压
[root@localhost bin]# tar -xvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
重命名
[root@localhost bin]# mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25
[root@localhost bin]# chown -R mysql mysql-5.7.25/
[root@localhost bin]# chgrp -R mysql mysql-5.7.25/
[root@localhost bin]# cd mysql-5.7.25/
[root@localhost bin]# mkdir data/
安装和初始化数据库
[root@localhost bin]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.7.25/ --datadir=/usr/local/mysql-5.7.25/data/
在/etc/下面新建一个my.cnf文件, 内容如下:
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir=/usr/local/mysql-5.7.25
datadir=/usr/local/mysql-5.7.25/data
port=3306
socket=/tmp/mysql.sock
#default-character-set=utf-8
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
log-error = /usr/local/mysql-5.7.25/data/mysqld.log
pid-file = /usr/local/mysql-5.7.25/data/mysqld.pid
#skip-grant-tables
赋权限
[root@localhost bin]# chown mysql:mysql /etc/my.cnf
[root@localhost bin]# cp -a ./support-files/mysql.server /etc/init.d/mysql
[root@localhost bin]# cd /usr/local/mysql-5.7.25/bin/
[root@localhost bin]# ./mysqld_safe --user-mysql &
把mysql加入环境变量
[root@localhost bin]# vim /etc/profile
在最后面加入 export PATH=/var/local/mysql-5.7.25/bin:$PATH
[root@localhost bin]# source /etc/profile
查看MySQL生成的初始化密码
[root@localhost bin]# cat /root/.mysql_secret
[root@localhost bin]# mysql -u root -p
Enter password: 这里输入初始化密码
如果不能登陆的话,请按下列操作
编辑my.cnf文件,在mysqld下面加入
skip-grant-tables # 跳过权限验证,不用验证就操作MYSQL
修改密码
[root@localhost ~]# mysql -u root
mysql> use mysql;
mysql> UPDATE user SET authentication_string = password(‘123456’) WHERE User = ‘root’;
mysql> flush privileges;
mysql> quit
===== 以下是用于远程机器也可以访问该数据库:=====
配置所有计算机都有权访问数据库
mysql> use mysql;
mysql> update user set Host = ‘%’ where User=‘root’;
授权mysql数据库
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
mysql> quit
重启服务
[root@localhost bin]# service mysql restart
开启防火墙:
[root@localhost bin]# systemctl start firewalld
查看防火墙状态:
[root@localhost bin]# systemctl status firewalld
开发3306端口, --permanent表示永久有效,没有该参数重启后会失效
[root@localhost bin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新载入:
[root@localhost bin]# firewall-cmd --reload
success
查看
[root@localhost bin]# firewall-cmd --zone=public --query-port=3306/tcp
yes