linux安装mysql8配置文件_Linux 安装Mysql8

CentOS7 下安装 Mysql8

一、下载Linux版Mysql8压缩包

>> wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.12-el7-x86_64.tar

或者从官网

二、解压缩Mysql8压缩文件

1 >> rpm -qa | grep mysql --查看已有Mysql服务2

3 >> rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 --卸载Centos自带Mysql服务4

5 >> tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz -C /user/local   -- 解压

说明:解压后我们发现在 /user/local/mysql-8.0.12-el7-x86_64/ 目录下多出两个压缩文件,其中一个是名称中包含TEST,一个不包含TEST,我们需要不包含TEST的压缩文件,在此执行解压命令即可!

三、创建my.cnf配置文件

>> mkdir /usr/local/mysql-8.0.12-el7-x86_64/data  --创建目录

>> vi /etc/my.cnf  --添加如下内容:

[client]

port=3306socket=/tmp/mysql-8.0.12-el7-x86_64/mysql.sock

[mysqld]

skip-grant-tables

port=3306user=mysql

socket=/tmp/mysql-8.0.12-el7-x86_64/mysql.sock

basedir=/usr/local/mysql-8.0.12-el7-x86_64

datadir=/usr/local/mysql-8.0.12-el7-x86_64/data

log-error=error.log

四、创建Mysql用户及用户组

>>groupadd mysql>> useradd -g mysql mysql

五、创建临时文件MySQL

>> mkdir /tmp/mysql --创建目录>> chown -R mysql:mysql /tmp/mysql -- 执行授权

六、初始化数据库

>> cd /user/local/mysql-8.0.12-el7-x86_64 --进入MySQL主目录>> ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.12-el7-x86_64/ --datadir=/usr/local/mysql-8.0.12-el7-x86_64/data/ -- 执行初始化命令,如果没有什么异常提示,即代表初始化成功

初始化成功后控制台会打印root账号默认的密码,记得记录下来

七、启动MySQL服务

>> cd /usr/local/mysql-8.0.12-el7-x86_64

>> ./support-files/mysql.server start --启动Mysql服务命令

>> ./support-files/mysql.server restart --重启Mysql服务命令>> ./support-files/mysql.server stop -- 关闭MySQL服务命令

八、登录Mysql服务

>> ./bin/mysql -uroot -p

此时,我们会发现登录不了Mysql服务器,并报如下异常:

[root@localhost software]# ./bin/mysql -uroot -p  Enter password:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

解决方法:通过命令

>> vi /etc/my.cnf

在 [mysqld] 节点中增加 skip-grant-tables 命令后重新登录

九、下面演示正确修改root密码的步骤

一、如果当前root用户authentication_string字段下有内容,先将其设置为空,否则直接进行二步骤。

>>use mysql;>> update user set authentication_string='' where user='root'

下面直接演示正确修改root密码的步骤:

二、使用ALTER修改root用户密码,方法为 ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'。 如下:

>> ALTER user 'root'@'localhost' IDENTIFIED BY 'root'

此处有两点需要注意:

1、不需要flush privileges来刷新权限。

2、密码要包含大写字母,小写字母,数字,特殊符号。

修改成功; 重新使用用户名密码登录即可;

注意: 一定不要采取如下形式该密码:

>> use mysql;

>> update user set authentication_string="新密码" where user="root";

这样会给user表中root用户的authentication_string字段下设置了newpassword值;

当再使用 ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'时会报错的;

因为authentication_string字段下只能是mysql加密后的41位字符串密码;其他的会报格式错误;

*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE

***************************************************************************Warning*********************************************************************************************

Mysql8远程无法访问,譬如:在其他机器通过SqlYog连接的问题,可能是mysql8的密码加密方式和可视化工具的加密方式不匹配,

该问题暂时还未解决!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值