1.下载安装包
下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
2.解压
tar -zxvf mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
3.创建软连接
进入安装目录 cd /usr/local/
创建软连接 ln -s mysql-5.7.9-linux-glibc2.5-x86_64 mysql
4.添加用户组
为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
5.赋予权限
进入安装mysql软件的目录,命令如下 cd /usr/local/mysql
修改当前目录拥有者为新建的mysql用户,命令如下:chown -R mysql:mysql ./
6.初始化mysql
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
如果出现如下图所示则为安装成功,红线部分为生成的默认密码:
a temporary password is generated for ...
7.启动mysql服务
cd /usr/local/mysql
./support-files/mysql.server start
7.1 socket file don’t exists
如果出现如下错误,则说明mysql配置文件/etc/my.cnf中的路径不对,修改内容如下,datadir(datadir一定要加)和socket都修改成mysql的安装目录下,增加[client]板块,用于命令行连接mysql数据库。
[mysqld]
port=3306
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
max_connections=151
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 设置忽略大小写
lower_case_table_names = 1
# 指定编码
character-set-server=utf8
collation-server=utf8_general_ci
# 开启ip绑定
bind-address = 0.0.0.0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8
7.2 quit without updating PID file
Starting MySQL......The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid). ... failed!
解决办法:
重新初始化mysql 重复第6步
需删除data目录及下面的文件
cd /usr/local/mysql
rm –rf data
重新初始化
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data –initialize
给data目录授权
chmod –R 755 data
再次启动 ./support-files/mysql.server start
ps –ef|grep mysql 查看,启动成功
如果还是没能解决,问题可能的原因有多种,具体什么原因最好的办法是先查看下错误日志:
7.2.1、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data”
“chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
7.2.2、可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
7.2.3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/usr/local/mysql/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !
7.2.4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
另外,用rpm包安装的MySQL是不会安装有/etc/my.cnf文件的,至于为什么没有这个文件而MySQL却也能正常启动和作用,在点有两个说法,第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动,第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于rpm包安装的MySQL,
解决方法,只需要复制一个/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可。
7.2.5、skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
7.2.6、错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
7.2.7、selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。我是以上挨个操作,完成了第7个操作后解决的。
————————————————
原文链接:https://blog.csdn.net/qq_39954916/article/details/120470807
8.将mysql进程放入系统进程
cp support-files/mysql.server /etc/init.d/mysqld
重启mysql:
service mysqld restart
9.配置环境变量
输入 vim /etc/profile
按 i 键后 进入insert模式,进入insert模式后才能进行修改 输入
export PATH=$PATH:/usr/local/mysql/bin
修改完成后
按esc键进入command模式,
然后:wq 保存文件并退出vi(注意先冒号)
保存退出,再编译下:
source /etc/profile
10.登录mysql
mysql –u root –p
输入刚刚系统生成的密码
11.修改密码
show databases
会报错:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
将root的密码改为 root123456
alter user 'root'@'localhost' identified by 'root123456';
12.允许远程连接数据库
切换到mysql默认数据库
use mysql;
查看user表
select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
允许远程连接命令
update user set user.Host='%' where user.User='root';
再次查看
select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+------------------+-----------+
13.刷新权限
flush privileges;
14.开启3306防火墙端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
如果还是无法远程连接,查看/etc/my.cnf
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可
firewall-cmd --list-all 看看3306是否列出来,如果没列出来,需要打开
public (active)
target: default
icmp-block-inversion: no
interfaces: enp1s0
sources:
services: ssh dhcpv6-client
ports: 3306/tcp 1883/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
15.设置开机自启动
退出mysql回到linux命令模式
quit
chkconfig mysqld on
要取消掉某个服务自动启动,只需要将最后的参数 “on” 变更为 “off” 即可。
查看自启项目 chkconfig --ist
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
16.客户端连接mysql
在IDEA的数据库客户端数据ip、端口、用户名、密码、数据库名,点击Test Connection
报错
Failed
Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
查看IDEA连接的驱动版本 8.0.25,而数据库版本是8.0.26
下载8.0.26驱动
https://dev.mysql.com/downloads/connector/j/