linux安装mysql8

49 篇文章 0 订阅
11 篇文章 0 订阅

linux部署mysql8

在服务器上部署mysql8版本。这里没用容器部署,是因为数据问题,以及服务的稳定性考虑,加上出故障可以有效的处理,我决定直接在系统上部署mysql服务。

1、下载mysql8版本

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

这里mysql的版本可以修改,mysql-8.0.26这里可以修改成自己想要的版本。

2、解压

xz -d mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
tar -xf mysql-8.0.26-linux-glibc2.12-x86_64.tar
mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql
mv mysql /usr/local/mysql

3、创建mysql用户及用户组并修改权限

#创建mysql用户和组
useradd -s /sbin/nologin mysql
id mysql
uid=1002(mysql) gid=1002(mysql)=1002(mysql)

#修改文件的所有者和属组
cd /usr/local/mysql
mkdir data
chown -R mysql:mysql /usr/local/mysql/

4、编辑my.cnf 文件

vi /etc/my.cnf

[mysqld]
user=root
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
group_concat_max_len=102400
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8

注意: MySQL 8.0 版本的忽略大小写配置 lower_case_table_names=1 一定要在执行初始化前写在配置文件里,我之前遇到过这坑,当时像用 5.7 版本一样先初始化然后再改的配置文件,导致 mysql 无法启动,所以不同版本间的差异一定要注意!

5、安装依赖及初始化

#初始化
[root@localhost ~]# cd /usr/local/mysql/bin/
[root@localhost bin]# ./mysqld  --initialize-insecure --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql 

# 初始化报错,请执行以下命令,查看是否安装齐全
yum search libaio
yum install libaio
yum -y install numactl
yum install libnuma
yum install ld-linux.so.2
yum install libaio.so.1
yum install libnuma.so.1
yum install libstdc++.so.6
yum install libtinfo.so.5
  • mysqld –initialize-insecure 自动生成无密码的root用户,
  • mysqld –initialize 自动生成带随机密码的root用户。

查看密码
一般在datadir=/usr/local/mysql/data/路径下的err里面有记录,但我用的是无密码初始化所有没有密码直接登录.

有密码的话可以查看 /usr/local/mysql/data/mysql.log 日志文件。

grep password /usr/local/mysql/data/mysql.log

6、添加mysqld服务到系统

cd /usr/local/mysql/
 cp -a ./support-files/mysql.server /etc/init.d/mysql
 
 #授权以及添加服务
 chmod +x /etc/init.d/mysql

chkconfig --add mysql

#将mysql添加到命令服务
ln -s /usr/local/mysql/bin/mysql /usr/bin

7、启动mysql服务

service mysql start
netstat -nap | grep 3306

#登录mysql
mysql -u root -p
Enter password:        //这里输入刚刚初始化操作时的初始密码,没有密码直接回车

alter user 'root'@'localhost' identified by '你的新密码';
flush privileges;


#设置允许远程登录,更改root连接权限
use mysql;

update user set host='%' where user = 'root';

flush privileges;

#exit; 退出mysql,现在就可以通过连接工具登录root账户进行远程连接了
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值