linux centos8 安装mysql 8.0.17


Alibaba Cloud Linux安装 
手动部署MySQL数据库(Alibaba Cloud Linux 2) - 云服务器 ECS - 阿里云

重点:
1、跳过密码,按照下面安装中的设置
/etc/my.cnf 添加skip-grant-tables 
2、其他设置密码方式:
3、进入mysql -u root -p
use mysql;
flush privileges;   //设置密码前需要刷新下,否则会报错
ALTER USER 'root'@'%' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;   -----如果是'root'@'localhost'  会报错,命令无法执行
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

update user set host='%' where user='root';   更新可以远程访问
flush privileges;//刷新权限表   

重点:如果window安装和linux安装出现连接测试--》出现乱码,可参考地址:SQLyog错误号码 plugin caching_sha2_password could not be loaded_落月爱学习的博客-CSDN博客_plugin caching_sha2_password

本地连接:
alter user root@localhost identified with mysql_native_password by '123456';
FLUSH PRIVILEGES;

远程连接:
alter user root@'%' identified with mysql_native_password by '123456';
FLUSH PRIVILEGES;
 

-----------------------------------------------------------------------------------------------------------------------------------------------------------
1.下载rpm(/usr/local/)

 wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
或者从

2、在线下载mysql
yum -y localinstall mysql80-community-release-el8-1.noarch.rpm   或者
rpm -ivh   mysql80-community-release-el8-1.noarch.rpm

3、安装mysql
yum install -y mysql-server 或者yum install mysql-server

4、初始化mysql---忘了了不知道有没有这个步骤
mysqld --initialize //创建数据文件目录和mysql系统数据库 产生随机root密码

重点说明:mysql存储最好放在数据盘,mysql数据可以大到20G以上,如果是系统盘是40G的,那么有可能那天因为磁盘满而无法正常工作。
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /mnt/mysql/data
chmod -R 777 /mnt/mysql/data

mysqld --initialize --user=mysql --basedir=/usr/local/mysql/  --datadir=/mnt/mysql/data      ----类似这样的。

重点说明:window 下表名不区分大小写,linux中区分表名大小写,如果业务中设计到表名不区分大小写,设置如下:
mysqld  --initialize --lower-case-table-names=1      --目前这种方式不行,报错。不能用

5、启动/关闭mysql
service mysqld start
service mysqld stop
service mysqld restart

6、给var/lib/mysql目录权限授权
chown -R mysql:mysql /var/lib/mysql/

7、无密码登录设置----这里有一个很大的误区
不同版本设置不太一样
/etc/my.cnf 添加skip-grant-tables 

最大的误区就是这里,加在这里无效,还是得提示输入密码
正确的做法是,找到 /etc/my.cnf.d 目录下的mysql-server.cnf ,如下图所示,这样加入可以跳过免登陆


修改成功后必须重启mysql 数据库,不然不起作用    service mysqld restart

8、设置密码并设置root用户可以外部服务器访问
mysql -u root -p   ----然后回车进行操作

use mysql;
flush privileges;   //设置密码前需要刷新下,否则会报错
alter user 'root'@'localhost' identified by '123456';     修改密码          ---如果以前有过密码命令如下:ALTER USER 'root'@'%' identified by '123456';
update user set host='%' where user='root';   更新可以远程访问
flush privileges;//刷新权限表   

记得最后一步就可以 /etc/my.cnf.d 目录下的mysql-server.cnf 中删除skip-grant-tables  ,否则无法远程连接


9.设置mysql开机启动
 systemctl enable mysqld


重点介绍:
1、设置最大数据库连接数,默认151个,mysql工具中每一个查询界面都是一个连接数
show variables like 'max_connections';   --该命令可以查询最大连接数
mysql8.0版本设置最大连接数:
vi /etc/my.cnf.d/mysql-server.cnf 
新增一行:max_connections = 1000
如图所示:

2、设置group_concat函数拼接长度,默认1024,如果太长sql自动截取1024长度
vi /etc/my.cnf.d/mysql-server.cnf 
新增一行:group_concat_max_len = 102400
如图所示:



重点提示:将mysql日志数据不要放到系统盘中,买一个500G的数据盘,将数据放到数据盘中,如果放到系统盘后续bin.log日志会不断变大,导致系统盘40G占满(阿里默认系统盘40G,可以升级到120G,短暂解决该问题),导致系统任何服务不可用

datadir=/var/lib/mysql       ---主要修改该地址
如图所示:系统盘40G,mysql就用了31G

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值