方式一:
1、系统中创建所需目录结构(可选)
创建mysql安装目录 : /usr/local/mysql
创建mysql日志目录:/data/log/mysql/
创建mysql数据存放目录:/data/mysql/
2、如果之前有装过mysql,需要卸载掉
1.卸载 先停掉mysql进程 没有安装过的可以直接跳过
pkill -9 mysqld
rpm -qa|grep -i mysql
用命令 yum -y remove
yum -y remove mysql-community-client-5.6.38-2.el7.x86_64
卸载不掉的用 rpm -ev
依次卸载 直到没有
3、安装mysql
cd /usr/local/mysql/(可选,自己的目录)
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-server
4、默认配置文件路径: (可选)
配置文件:/etc/my.cnf
日志文件:/var/log/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
修改如下图:
4. 启动mysql服务
[root@root mysql]# systemctl start mysqld.service
如果启动失败,请关闭selinux、setenforce 0
永久性关闭:
1.打开文件vim /etc/sysconfig/selinux
2.SELINUX=enforcing 改为 SELINUX=disabled
3.重启服务器reboot
[root@root mysql]# systemctl enable mysqld
查看初始密码:
[root@root mysql]# cat /data/log/mysql/mysqld.log | grep password
(/data/log/mysql/mysqld.log这个是自己的mysql日志文件)
登录:mysql -uroot -p
输入密码:
5、设置密码规则
set global validate_password_policy=0; (设置级别最低)
set global validate_password_length=4;(设置密码长度大于等于4位)
修改密码:登录之后输入如下内容即可
set password=password("你的密码");
报错是因为密码过于简单
6、设置可以远程连接
use mysql
update user u set u.host='%' where u.user='root';
flush privileges;
设置密码永不过期:alter user 'root'@'%' identified by 'root' password expire never;
刷新权限:flush privileges;
7、如果远程还无法连接,检测自己的防火墙是否没有开启对应端口
我这里列出iptables防火墙开启3306端口命令(如果你的防火墙使用其他的请自行百度就可以)
sudo /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save
解决方案:查看发现事没有权限打开日志文件,给日志文件权限就可以了
如果以上方式不行请使用一下方式:
方式二:
1、从官网下载mysql
下载地址
链接:百度网盘下载链接
提取码:0h8l
2、下载后解压,
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
然后再解压
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
3、将解压的文件移动到/usr/local/mysql中
mv mysql-5.7.31-linux-glibc2.12-x86_64 /usr/local/mysql
4、创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
5、创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
6、配置my.cnf文件
vim /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
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
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
8、启动mysql,并更改root 密码
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start
ps -ef|grep mysql
9、登录并修改密码,设置权限
./mysql -u root -p #bin目录下密码为上面查看的随机密码
修改密码并设置权限:
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
远程登录权限设置
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新