在Linux上安装mysql,错误总结与安装过程

在Linux上安装mysql,错误总结与安装过程

1.卸载mysql

Linux 上自带 mysql,但为了符合一些要求需要安装对应版本的 mysql ,就需要卸载linux自带的mysql,重新安装

shell语句卸载

`首先查看当前 Linux 上的 mysql
'[root@localhost /]  #' rpm -qa | grep mysql
`

出现图中多个 mysql,全部卸载
在这里插入图片描述
然后使用shell语句卸载 linux上 的mysql

for file in `rpm -qa | grep mysql`;do rpm -ev $file --nodeps;done

2.安装mysql

yum安装

`
下载 mysql 包
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

安装 rpm 包
yum -y install mysql57-community-release-el7-10.noarch.rpm

安装 mysql 服务
yum -y install mysql-community-server

安装 mysql 服务依赖
yum -y install mysql-devel
`

如果不想wget下载或者觉得下载比较慢的话 ,可使用百度云下载
链接: https://pan.baidu.com/s/1z3O5KyNR3BIBV3iuTVBrgw 提取码: k2ku

3.错误总结

错误一、登录报错

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

解决方法一、mysqld --user=root --skip-grant-tables & 式
'[root@localhost /]  #' ` mysql -uroot -p `
输入密码后,出现了下方错误:
'ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES'
执行命令:
'[root@localhost /]  #' ` mysqld --user=root --skip-grant-tables & `
登录mysql:
'[root@localhost /]  #'` mysql -uroot `
更新root密码
mysql5.7以下版本:
'mysql>' ` UPDATE mysql.user SET Password=PASSWORD('你的密码') where USER='root'; `
mysql5.7版本:
'mysql> '` UPDATE mysql.user SET authentication_string=PASSWORD('你的密码') where USER='root'; `
刷新权限:
'mysql>'` flush privileges; `
退出mysql:
'mysql>'` exit `
使用root用户重新登录mysql
'[root@localhost /]  #'` mysql -uroot -p `
输入新设的密码
解决方法二、修改my.cnf
'[root@localhost /]  #' ` mysql -uroot -p `
输入密码后,出现了下方错误:
'ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES'
修改 /etc/my.cnf 文件
'[root@localhost /]  #' `vi /etc/my.cnf `[mysqld] 下面写上 ' skip-grant-tables '
`
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
skip-grant-tables
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
`
修改完成后保存退出
重启 mysql server
'[root@localhost /] #' ` systemctl restart mysqld`
登录 mysql
'[root@localhost /] #' ` mysql -uroot `
切换 mysql 库
'mysql >' ` use mysql; `
修改 root 密码
mysql5.7以下版本:
'mysql>' ` UPDATE mysql.user SET Password=PASSWORD('你的密码') where USER='root'; `
mysql5.7版本:
'mysql>' `  update mysql.user set authentication_string=password('你的密码') where user='root';  `
刷新权限:
'mysql>'` flush privileges; `
退出mysql:
'mysql>'` exit `
修改 /etc/my.cnf 文件
'[root@localhost /]  #' `vi /etc/my.cnf `[mysqld] 下面注释或删除 ' skip-grant-tables '
`
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
# skip-grant-tables
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
`
重启 mysql server
'[root@localhost /] #' ` systemctl restart mysqld`
使用root用户重新登录mysql
'[root@localhost /]  #'` mysql -uroot -p `
输入新设的密码

错误二、切换数据库报错

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解决方法一、 alter user 直接修改密码
登录mysql
输入指令 ` use mysql; `
发现 ` ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.` 报错
修改用户密码
mysql>` alter user 'root'@'localhost' identified by '你的密码';  `
刷新权限
mysql> ` flush privileges; `
解决方法二、修改 variables 密码规则
登录mysql
输入指令 ` use mysql; `
发现 ` ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.` 报错
先修改一个满足的密码
mysql> ` set password='Root_12root' `
查看 validate_password 表
mysql> ` show variables like 'validate_password%'; `
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 8     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
修改密码强度等级
mysql> ` set global validate_password_policy=0; `
修改密码最小长度
mysql>  ` set global validate_password_length=1; `
再次查看 validate_password 表
mysql>  ` show variables like 'validate_password%'; `
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
重新设置密码
mysql> ` set password='你的新密码' `
刷新权限
mysql> ` flush privileges; `

附上一份 Variable_name 中文对照表

Variable_name-
validate_password_dictionary_file插件用于验证密码强度的字典文件路径。
validate_password_length密码最小长度。
validate_password_mixed_case_count密码至少要包含的小写字母个数和大写字母个数。
validate_password_number_count密码至少要包含的数字个数。
validate_password_policy密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。
validate_password_special_char_count密码至少要包含的特殊字符数。

错误三、连接报错,拒绝连接

登录mysql
'[root@localhost /]  #'` mysql -u root -p `
切换数据库
mysql> ` use mysql `
修改 root 登录权限
mysql> ` update user set host = '%' where user = 'root'; `
刷新权限
mysql> ` flush privileges; `
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值