一、下载mysql

1、获取下载链接

进入官网:https://www.mysql.com

点击downloads --> MySQL Community (GPL) Downloads  --> MySQL Community Server   可进入下载界面,选择linux系统,找到自己想要版本右键复制链接地址即可。

比如我获取5.7.28版本的下载链接:https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

2、在linux中使用wget下载

二、安装mysql

解压改名

tar -xvf mysql-5.7.28-linux-glibc2.12-i686.tar.gz
mv mysql-5.7.28-linux-glibc2.12-i686 mysql

添加用户和组

groupadd mysql
useradd -r -g mysql mysql

创建初始化目录和修改目录权限

mkdir - p /data/mysql
chown mysql:mysql -R /data/mysql

修改配置文件  /etc/my.cnf

[mysqld]
bind-address=0.0.0.0
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
character_set_server=utf8mb4 # 设置创建数据库时的默认字符类型
symbolic-links=0

[client]
port=3306
socket=/tmp/mysql.sock

初始化mysql

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql/ --user=mysql --initialize

设置mysql命令为全局命令:将mysql.server复制到init.d

[root@localhost support-files]# pwd
/usr/local/mysql/support-files
[root@localhost support-files]# cp mysql.server /etc/init.d/mysql

启动服务

service mysql start

设置为开机自动启动

chkconfig mysql on

登录mysql

mysql -u root -p

到此,mysql安装完毕,并成功登录使用

三、使用Navicat连接MySQL

1、linux防火墙开放3306端口

[root@node1 ~]# firewall-cmd --add-port=3306/tcp --permanent
[root@node1 ~]# firewall-cmd --reload

如果未开放端口会报错 10060 “Unknown error”:

2、开放mysql  root用户远端访问权限

在linux中登录mysql,进入mysql库

查看user表中数据,修改root用户host字段值为“%”

MySQL [mysql]> select host,user from user;
MySQL [mysql]> update user set host="%" where user="root";
MySQL [mysql]> flush privileges;

使用Navicat连接数据库

如果不开放root用户访问权限会报错 not  allowed  to connect:

四、常见问题

  • 启动服务时报错  Failed to start mysql.service: Unit not found.  的解决方法。

  • 登录过程出现:access denied for user’root’@‘localhost’(using password:Yes)  的解决方法。

1.停止mysql服务:
service mysql stop

2后台安全模式登录mysql;

find / -name mysqld_safe

cd 到文件所在目录
./mysqld_safe --user=mysql --skip-grant-tables --skip-networking

3.新开一个窗口,直接在命令行输入 mysql,登录

4.修改root用户密码:

use mysql

update user set authentication_string=password('123456') where user="root";

注:5.7以上的存储密码的字段变为authentication_string,若上面语句没执行成功执行下面的语句

update mysql.user set password=PASSWORD(‘123456’)where user=‘root’;

5.将密码过期设置为否

update user set password_expired='N' where user="root"

6.刷新、退出:
flush privileges;
quit;

7.重启mysql服务
service mysql restart;

  • 登录时,提示 -bash:mysql:未找到命令

使用yum install -y mysql  安装即可

最新文章

  1. Rethrowing exceptions and preserving the full call stack trace
  2. 一个线程加一运算,一个线程做减一运算,多个线程同时交替运行--synchronized
  3. easyui datagrid 增删改查示例
  4. Invoke与BeginInvoke
  5. Bug:java.lang.IllegalStateException
  6. HDOJ 1024 Max Sum Plus Plus -- 动态规划
  7. 使用AspNetPager与GridView完成分页
  8. 理解MySQL——架构与概念
  9. UVA 305 Joseph (约瑟夫环 打表)
  10. MRC的下setter访问器的两种形式
  11. linux 自动备份脚本
  12. Docker存储驱动之ZFS简介
  13. 流畅python学习笔记:第十九章:动态属性和特性
  14. Mac 下如何使用sed -i命令
  15. 第10章 协议和声明类型常量 - IdentityModel 中文文档(v1.0.0)
  16. Spring Boot 集成 Swagger,生成接口文档就这么简单!
  17. elasticsearch更改mapping(不停服务重建索引)
  18. PowerMock单元测试踩坑与总结
  19. 2018-6-20-随笔-SQL Server中乱码
  20. 初步了解hg19注释文件的内容 | gtf

热门文章

  1. 【Java基础】Java中new对象的过程
  2. 【spring AOP】@Pointcut的12种用法
  3. html如何让input number类型的标签不产生上下加减的按钮(转)
  4. 聊聊 SpringBoot 中的两种占位符:@*@ 和 ${*}
  5. Linux 目录结构及详细操作
  6. Redis版本历史
  7. .gitignore文件作用
  8. 进程(process)和线程(thread)
  9. 使用NTP原理进行时间同步
  10. TPT Fusion平台升级,AUTOSAR及ViL测试功能重装上线