赞
踩
主要参考的是官方文档,https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html。系统是ubuntu18.04。libaxio使用apt安装的时候出现依赖问题,推测是之前手动安装的其他库不能被apt识别导致。我从这里(https://archlinux.pkgs.org/rolling/archlinux-core-x86_64/libaio-0.3.112-1-x86_64.pkg.tar.xz.html)下载了编译好的libaio文件,然后手动解压放到对应目录上了。
按照官网的说明,需要新建一个用户mysql
,所属用户组mysql
。
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
第二步参数是,-r
创建一个系统账户,-g
指定所属用户组,-s
指定登陆Shell,/bin/false
作为登陆Shell时,用户不能登陆系统,参考https://blog.csdn.net/zhangxinrun/article/details/5583540。
使用cat /etc/group
可以在最后面看到有mysql
用户组,cat /etc/passwd
可以看到设置的用户和对应的登陆Shell信息,证明创建用户成功。
我下载的MySQL压缩包名称是mysql-8.0.17-linux-x86_64-minimal.tar.xz。官方说明的是解压安装位置是/usr/local
,我自定义安装路径没有放在那个位置,而是把解压后的文件放在/opt/mysql-8-0-17
。
# pwd
/opt/mysql-8-0-17
# ls
bin include LICENSE man README.router share var
docs lib LICENSE.router README run support-files
目录/opt/mysql-8-0-17/bin
通过编辑/etc/profile
已经添加到了环境变量中,并且设置好已经能用了。
新建目录data用来保存数据,然后初始化:
bin/mysqld --auto-generate-certs -b 你的MySQL安装目录 -I
这里会输出随机初始化的密码,需要记住。
接下来可以正常用守护进程方式启动数据库:
bin/mysqld -b 你的MySQL安装目录 -D -u mysql
启动后root用户的密码是初始化时的随机密码,需要尽快修改用户的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
参考https://dev.mysql.com/doc/refman/8.0/en/default-privileges.html
脚本,可以自动启动、重启MySQL:
#!/bin/bash cd /opt/mysql-8-0-17 # 安装和启动MySQL的几个参数(参数太多,找了几个本地安装时能用到的): # --auto-generate-certs 如果需要自动生成SSL证书 # -b MySQL安装目录,别的用到的目录将是这个目录的相对路径 # -D 以sysv守护进程模式启动 # -d 指定数据库存储根目录 # -I 创建默认数据库,默认超级用户并将随机密码放在日志中,这个选项不能和-D一起出现,否则程序会自动退出 # -u 指定运行守护进程的用户 # --validate-config 验证配置文件的正確性 # 配置文件顺序:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf,当前配置文件在/etc/mysql/my.cnf # 解压官方的二进制包后,第一次初始化(下面每个操作记得要把目录的所属用户设置为mysql): # > mkdir -p 你的MySQL安装目录/data # > bin/mysqld --auto-generate-certs -b 你的MySQL安装目录 -I # 运行上面命令的时候注意终端的输出内容,里面包含了数据库超级用户的密码,需要记得否则后面登陆不了。 # 后续,正常启动MySQL时(这条命令将以后台方式自动执行): # > bin/mysqld -b 你的MySQL安装目录 -D -u mysql # 默认的,别的电脑可能不是这个路径 if [ -e /tmp/mysql.sock ] then echo "MySQL shutdown" mysqladmin -p新的密码 -uroot shutdown fi echo "MySQL start" /opt/mysql-8-0-17/bin/mysqld -b /opt/mysql-8-0-17 -D -u mysql
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。