Linux服务器安装Mysql8.0数据库

之前写过一篇文章记录linux服务器安装mysql数据库,安装完之后发现mysql是5.0版本。自己本机的mysql是8.0版本,导出的.sql文件在mysql5.0上一直报错。所以再重装下mysql8.0版本。

采用的是下载.rpm文件的方式安装~

第一步:下载.rpm文件
https://dev.mysql.com/downloads/mysql/ 或者https://dev.mysql.com/downloads/file/?id=480720

下载.rpm文件的时候需要注意linux服务器的版本:
 输入lsb_release -a 查看linux版本

在这里插入图片描述
在这里插入图片描述

我下载的是mysql-8.0.13-1.el6.x86_64.rpm-bundle.tar
  8.0.13 :版本号
  el6    : 适用linux centos6系统
  x86_64 :x86_64位
  ========================================================
  一开始不懂..下载的mysql-8.0.17-1.el8.x86_64.rpm-bundle.tar,提示各种版本过低..折腾了半天装不上。

第二步:卸载原Mysql

rpm -qa | grep mysql   //检测当前系统是否安装mysql,有的话,要先把原来的卸载。

在这里插入图片描述

# rpm -e mysql-libs-5.1.73-8.el6_8.x86_64  //普通删除模式,mysql名称要写全,和上面查到的名称一致
# rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

第三步:安装Mysql

用WinSCP传入linux服务器

tar -xvf mysql-8.0.13-1.el6.x86_64.rpm-bundle.tar   //解压

里面文件如下:
在这里插入图片描述
安装顺序如下:
rpm -ivh mysql-community-common-8.0.13-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.13-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.13-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-8.0.13-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-8.0.13-1.el6.x86_64.rpm

第四步:配置mysql

安装完mysql8.0之后先不要启动,配置mysql的忽略大小写,启动之后在设置的话会非常麻烦。

#vim /etc/my.cnf  //windows下修改的是my.ini

在[mysqld]后面任意一行添加lower_case_table_names=1,如图:

在这里插入图片描述
启动mysql

service mysqld start    //启动mysql
service mysqld status   //查看mysql启动状态
chkconfig mysqld on   //设置mysql开机自启动

登录mysql:

网上查资料说的是获取随机密码第一次登录,自己没有验证,我是通过修改/etc/my.cnf 添加skip-grant-tables跳过验证登录。
将两种都贴上:

1.随机密码登录:

grep 'temporary password' /var/log/mysqld.log  //生成随机密码 
mysql -uroot -p   //使用随机密码登陆
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';    //修改密码
//(这里直接修改为123456会提示密码太弱[非要改为123456,先要修改mysql8的密码规则],见下文~

2.修改/etc/my.cnf 添加skip-grant-tables跳过验证登录

vim /etc/my.cnf 		//编辑my.cnf文件
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,保存退出。
mysql -uroot -p   //登录,不需要密码
登录后:
use mysql;  //切换到mysql库
select host,user,authentication_string from user;  //可以查看root用户的host及密码(加密后)

************mysql8.0去除了password字段,改为authentication_string ******************

update user set authentication_string = '' where user = 'root';  
//将密码置空,这样my.cnf去掉skip-grant-tables依旧可以空密码登录。
vim /etc/my.cnf 
//编辑my.cnf文件  去掉之前添加的“skip-grant-tables”,依旧可以空密码登录

第二种方法比较麻烦,第一种能够登录的话推荐第一种。

修改root用户密码

mysql8.0使用了新的密码策略。想使用类似’123456’的密码需要修改密码策略~

1.查看mysql的密码策略

show variables like 'validate_password%';

在这里插入图片描述
validate_password.check_user_name 用户名检测
validate_password.dictionary_file 指定密码验证的文件路径;
validate_password.length 固定密码的总长度;
validate_password.mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
validate_password.number_count 整个密码中至少要包含阿拉伯数字的个数;
validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
validate_password.special_char_count 整个密码中至少要包含特殊字符的个数;

set global validate_password.policy=LOW;  //设置密码强度为LOW
//其他条件设置语句大体相同、
我设置的密码为root,密码策略修改完如上图

策略修改完后,修改密码:

 alter user 'root'@'localhost' identified by 'root';     //修改密码为root,提示修改成功~

第五步:Navicat登录Mysql数据库

启动Navicat 新建连接…报错,提示Host xxxxx is not allowed to connect to this MySql server
在这里插入图片描述

解决:1.打开终端,进入mysql
	 2.use mysql; //选中mysql中的 ·mysql· 表 
	 3.update user set host = '%' where user = 'root'; //更新权限,修改为允许全部连接
	 4.select host, user from user; //查看是否修改成功
	 5.flush privileges;  //刷新表的权限(或者重启一次mysql)

执行第三步的时候有可能遇到‘Duplicate entry ‘%-root’ for key ‘PRIMARY’’的问题。说明已有相应的user=‘root’,host=’%'数据,直接执行步骤4.5即可。

再次验证:成功

在这里插入图片描述

另:mysql8.0与mysql5.0相比

	1.mysql库user表 password字段去掉,变为authentication_string
	2.密码策略改变,设置简单密码需要修改密码策略
	3.密码加密规则改变,
	 在mysql8.0之前的版本使用的密码加密规则是mysql_native_password,但是在mysql8则是caching_sha2_password。
	 项目部署可能会出现
	 	Unable to load authentication plugin 'caching_sha2_password'
	 的错误,
	 可参考:https://blog.csdn.net/weixin_42954381/article/details/94458583
	 4.mysql8.0启动后修改my.cnf设置忽略大小写及设置后无法启动问题
	 可参考:https://blog.csdn.net/weixin_42954381/article/details/100523640

参考:
https://blog.csdn.net/mfkarj/article/details/83345225 Centos 6.5安装Mysql8
https://blog.csdn.net/hello_world_qwp/article/details/79551789
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LINUX重启MYSQL的命令 . 分类: Linux 2010-06-25 10:21 6367人阅读 评论(0) 收藏 举报 如何启动/停止/重启MySQL 一、启动方式 1、使用 service 启动:service mysqld start 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3、使用 safe_mysqld 启动:safe_mysqld& 二、停止 1、使用 service 启动:service mysqld stop 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3、 mysqladmin shutdown 三、重启 1、使用 service 启动:service mysqld restart 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart 提问 编辑摘要 如何启动/停止/重启MySQL 一、启动方式 1、使用 service 启动:service mysqld start 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3、使用 safe_mysqld 启动:safe_mysqld& 二、停止 1、使用 service 启动:service mysqld stop 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3、 mysqladmin shutdown 三、重启 1、使用 service 启动:service mysqld restart 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart 刚开始学 mysql时都是用redhat自带的。启动是什么 /rc.d/init.d/ start 这很简单,但是后来越学越多,系统自带的 mysql,有的是版本太低,有的是与 自己想要装的web服务需要的低版本的mysql 后来自己学着以tar的方式安装 mysql,我的mysql装在/usr/local/mysql目录下启 动碰到过很多问题。最常见的是: ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) 解决办法: [root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root / > -S /var/lib/mysql/mysql.sock password 'your.passwd' 或者做个连接 ln -s /var/lib/mysql/mysql.sock /tmp 其实提示找不到 /tmp/mysql.sock有时也并不是/tmp目录下没这个文件,是启动 命令不对,我碰到过 常见的几种启动方式,自己也不是记得很清楚,如果你确定tmp下有mysql.sock这 个文件不妨试试另外的几个命令 /usr/local/mysql/bin/mysql -u root -p /usr/local/mysql/bin/mysqld --user=mysql& /usr/local/mysql/bin/mysqld --user=root& /usr/local/mysql/bin/mysqld_safe --user=root& /usr/local/mysql/bin/mysqld_safe --user=mysql& /usr/local/mysql/bin/safe_mysqld--uer=root&(注意 safe_mysqld与mysqld_safe是不同的,&表示mysql在后台运行)我的就会报错了 STOPPING server from pid file /usr/local/mysql/data/localhost.localdomain.pid 060304 11:46:21 mysqld ended 这是权限问题,我的mysql目录属于root用户,也属于root群组,改用 mysqld_safe启动就没问题了, 大家只要注意这几个 mysql,safe_mysqld,mysqld_safe,mysqld,mysqladmin.多试 几次 其实有时mysql已经正常启动了,查看mysql是否启动命令 ps -aux | grep mysqld 会看到如下类似内容 mysql 6394 0.0 1.5 10528 992 pts/3 S 16:16 0:00 /usr/local/mysql/ mysql 6395 0.0 1.5 10528 992 pts/3 S 16:16 0:00 /usr/local/mysql/ mysql 6396 0.0 1.5 10528 992 pts/3 S 16:16 0:00 /usr/local/mysql/ root 6422 0.0 1.1 2408 732 pts/3 S 16:20 0:00 grep mysql 查看mysql是否在监听端口命令 netstat -tl | grep mysql 会看到如下类似内容 tcp 0 0 *:mysql *:* LISTEN

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值