91名师指路-头部
91名师指路

centos 8下安装mysql 数据库

由于某些原因,现在不支持支付宝支付,如需要购买源码请加博主微信进行购买,微信号:13248254750

下载mysqlrepo

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm


2.安装mysql-community-release-el7-5.noarch.rpm

sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm


安装这个包后,会获得两个mysqlyum repo源:

/etc/yum.repos.d/mysql-community.repo/etc/yum.repos.d/mysql-community-source.repo


安装mysql

sudo yum install mysql-server


根据提示安装就可以了,不过安装完成后没有密码,需要重置密码


重置mysql密码,我们先连接上mysql

mysql -u root


登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)

原因:是/var/lib/mysql的访问权限问题。


解决办法:用下面的命令把/var/lib/mysql的拥有者改为当前用户:

sudo chown -R root:root /var/lib/mysql


5 重启mysql服务

service mysqld restart

发现没有成功,我们查看 /var/log/mysql/mysqld.log 的日志。错误信息如下。

2020-12-01T13:52:39.702194Z 0 [System] [MY-013169] [Server] /usr/libexec/mysqld (mysqld 8.0.21) initializing of server in progress as process 64815
2020-12-01T13:52:39.703383Z 0 [ERROR] [MY-010460] [Server] --initialize specified but the data directory exists and is not writable. Aborting.
2020-12-01T13:52:39.703404Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
2020-12-01T13:52:39.703459Z 0 [ERROR] [MY-010119] [Server] Aborting

我们看下里面很关键的一行日志。

initialize specified but the data directory exists and is not writable. Aborting.

意思是说,我们对 /var/lib/mysql 目录的权限不够,现在是755,我们更改为777

执行命令如下:

chmod -R 777 /var/lib/mysql


6 接下来我们登录,并设置root账号的密码:

mysql -u root


选择mysql数据库。

use mysql;


注意:

1)mysql 5.7 及之前版本修改密码的sql为

update user set password=password('Zhang123456') where user='root';

2)mysql 5.7 以后版本修改密码的sql为

update user set authentication_string='Zhang123456' where user='root';

备注:mysql 5.7 以后废弃了password字段和password()函数,采用authentication_string字段表示密码。


我们这里安装的是mysql 8.0.21版本,所以执行命令

update user set authentication_string='Zhang123456' where user='root';

备注:密码尽量采用大小写加数字的形式。


7 此时使用mysql客户端(navicat)连接mysql数据库。

报错如下图所示:


解决方法:登陆Xshell客户端。使用命令 

mysql -u root


授权:

1)mysql 8之前的版本写法为:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Zhang123456' WITH GRANT OPTION;

2)mysql 8 及以后的版本写法为:

create user root@'%' identified by 'Zhang123456';
grant all privileges on *.* to root@'%' with grant option;


刷新mysql

FLUSH  PRIVILEGES;


再次连接就可以了。


注意:设置密码后,再次连接要使用命令,p 代码password

mysql -u root -p



如果你用的是阿里云的话可能的错误

出现这个错误可能是在阿里云里面没有设置安全规则或没有开放3306端口。

设置如下:

找到安全组。

配置规则。

添加安全规则。


2019-08-09 22:03:56     阅读(2611)

名师出品,必属精品    https://www.91mszl.com

联系博主    
用户登录遮罩层
x

账号登录

91名师指路-底部