系统:Redhat linux 7.7
MySQL版本:5.7
o 登录网站:https://dev.mysql.com/downloads/mysql/
o 选择合适版本与系统
(1) 卸载系统自带Mariadb,mariadb是Mysql的一个分支,具有和mysql相同的API和命令行。
(2) 为了避免mysql有之前安装的碎片,卸载mysql
(3) 删除etc目录下的my.cnf文件:
rm /etc/my.cnf
(4) 解压 RPM 包
tar -xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
(5) 安装 RPM 包
rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.31-1.el7.x86_64.rpm
(6) 安装成功后,开启mysql服务:
systemctl start mysqld.service
错误:Job for mysqld.service failed because the control process exited with error code.
--- 解决办法:目前还没有想到,查看了日志也没有看出来,最终通过卸载之前的装的mysql,重装解决了,出现这个问题的原因可能是之前的mysql或者mariadb没有卸载干净。
--- 卸载mysql的命令同一中的方法。
(7) 查看 3306 端口是否成功开启
netstat -ln | grep 3306
(1) 启动并查看mysql进程
(2) 使用root账户登录,重置密码时一般会遇到报
mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
(3) 修改 my.cnf 信息
vi /etc/my.cnf
添加如下信息:
skip-grant-tables
character_set_server=utf8
init_connect='SET NAMES utf8'
collation-server=utf8_general_ci
(4) 重启mysql服务:
systemctl restart mysqld.service
(5) 修改初始密码:
cat /var/log/mysqld.log | grep password
将初始密码复制下来,输入如下命令登陆mysql :
mysql –u root –p
将复制的密码粘贴到命令行中,进入了mysql,使用如下命令修改密码:
set password=password('新密码');
flush privileges;
# 修改 root 初始密码
set password=password(‘123’)
# 可能弹出错误
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 解决方案
set global validate_password_policy=0;
set global validate_password_length=1;
# 更改密码
set password=password(‘1234’)
# 查看密码策略方式
show variables like 'validate_password%';
# 退出 mysql
exit
# 暂停 mysql 服务
systemctl stop mysqld.service
# 修改 my.cnf
cat /etc/my.cnf
# 编辑my.cnf配置文件将:skip-grant-tables这一行注释掉
# 重启mysql服务
systemctl start mysqld.service
再次登录mysql
mysql -uroot -p1234
4. MySQL远程连接
(1) 关闭防火墙或开放端口,以下可以 二选一:
o 方法一:关闭防火墙
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
o 方法二:开放端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
(2) 添加远程访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# 第一个 root 为 用户名,第二个root 为 密码
# % -- 表示所有的电脑都可以连接,也可以设置某个ip地址运行连接
flush privileges;
(3) 重启服务
systemctl restart mysqld.service;
(1) 在windows下安装 Navicat for mysql
(2) 打开 cmd,看是否能连接上服务器
ping 192.168.2.153
ssh -v -p 3306 root@192.168.2.153
(3)Navicat for mysql 连接
o 设置用户与密码
o 点击链接测试看到如下内容表示成功