Ubuntu20.4安装二进制版mysql8.0

一、下载二进制包
1.https://www.mysql.com/
在这里插入图片描述
2.点击下载社区版在这里插入图片描述
3.
在这里插入图片描述
4.下载linux通用版
在这里插入图片描述

1.解压 
tar -xf mysql-8.0.28-linux-glibc2.17-x86_64-minimal.tar
2.选择版本,再次解压
tar -xf mysql-8.0.28-linux-glibc2.17-x86_64-minimal.tar.xz
3.我这里为了方便把名字改了
mv  mysql-8.0.28-linux-glibc2.17-x86_64-minimal mysql
4. 创建用户组
groupdel mysql  #删除组
groupadd mysql  #添加组
5.创建用户
userdel mysql  #删除用户
useradd -r -g  mysql -s /bin/false mysql  #添加用户 -g mysql 是指定用户组 -s /bin/false 是指定用户所使用的shell 最后mysql是用户名称
6. 指定mysql文件夹为mysql用户所有
chown mysql ./mysql -R
7.在data目录下创建mysql相关文件夹文件夹
mkdir /data/mysql
mkdir /data/mysql/logs
mkdir /data/mysql/conf
mkdir /data/mysql/data
8.安装相关依赖
apt-get install libaio1 libaio-dev
sudo apt-get install libncurses5-dev

创建my.cnf 文件

[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
skip-name-resolve
user=mysql
ngram_token_size=2
server-id=1
default_password_lifetime=0
port=3306
#设置安装目录
basedir=/opt/mysql
#数据存放目录
datadir=/data/mysql/data
log-error=/data/mysql/logs/err.log
#允许最大连接数
max_connections=1000
#服务端默认使用的字符集
character-set-server=utf8mb4
#创捷新表时默认的储存引擎
default-storage-engine=INNODB
#忘记密码时使用
#skip-grant-tables
#不区分大小写
lower_case_table_names=1
#认证方式
default_authentication_plugin=mysql_native_password
max_allowed_packet=500M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
wait_timeout=28800
interactive_timeout=28800
max_connect_errors=100
max_user_connections=0
#日志文件大小
max_binlog_size=100M

安装启动

指定配置文件安装
./mysqld --defaults-file=/data/mysql/conf/my.cnf --initialize 
指定配置文件启动
./mysqld --defaults-file=/data/mysql/conf/my.cnf & 

创建文件 mysql.service

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql

# Have mysqld write its state to the systemd notify socket
Type=notify

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0

# Start main service
ExecStart=/opt/mysql/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf $MYSQLD_OPTS 

# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit
LimitNOFILE = 10000

Restart=on-failure

RestartPreventExitStatus=1

# Set environment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1

PrivateTmp=false
在吧 mysql.service 放到 /usr/lib/systemd/system  目录下
systemctl start mysql  #启动
systemctl stop mysql  #停止
systemctl restart mysql #重启
systemctl enable mysql  #开机自启

** 权限设置**
修改密码: ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;
允许远程访问:
查询: SELECT user, host FROM mysql.user WHERE user=‘root’;
修改:update mysql.user where user = ‘root’ set host = ‘%’;FLUSH PRIVILEGES;
刷新权限:FLUSH PRIVILEGES;

相关错误
mysql错误
查看错误日志如果出现 :

  1. mysql.sock.lock
    解决办法删除/tmp目录下的mysql相关文件

  2. mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory 解决办法:安装依赖 sudo apt-get install libncurses5-dev

  3. mysqld: File ‘./binlog.xxxxxxxx’ not found (OS errno 2 - No such file or directory)
    解决办法删除“mysql/data”目录下的binlog.index文件

  4. mysqld: [Warning] World-writable config file ‘xxxxx/my.cnf’ is ignored.
    解决办法把配置文件权限设置成 chmod 644 xxxxx/my.cnf

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值