前言
最近,准备进行MM+keepalive实现mysql高可用,于是直接某度搜linux安装mysql,各种花里胡哨的层出不穷,个别还是标题党,其中有用的大多还是mysql5.7的版本,既然装,以我的性格必定是装最新mysql8.0版本,于是记录下来为后人排雷!
环境简介
Linux版本:Debian
准备事项:
由于我的linux环境是刚生成,一些基本的软件未安装,首先就先安装些基本软件
切换root账号
apt-get update
apt-get install vim
sudo权限控制软件
apt-get install sudo
安装操作端口的软件
apt-get install firewalld
安装下载上传软件
apt-get install lrzsz
参考此贴——如何赋予用户root权限
以上未非必要操作,安装了只是为了方面操作
apt-get install numactl
apt-get install libaio1
上面两项必须安装,否则后续安装mysql会报错
正式安装:
第一步:下载mysql8.0版本 mysql 官网 https://dev.mysql.com/downloads/mysql/
第二步:
cd /usr/local
rz mysql压缩包(上传mysql压缩包)
第三步:
解压
sudo tar -xvJf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
改名
mv mysql-8.0.12-linux-glibc2.12-x86_64 mysql
第四步:
为mysql-8.0.12-linux-glibc2.12-x86_64目录创建软链接(方便操作)
sudo ln -s mysql-8.0.12-linux-glibc2.12-x86_64 mysql
第五步:
添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
sudo groupadd mysql
sudo useradd -r -g mysql mysql
chown -R mysql mysql/
chgrp -R mysql mysql/
第六步:
在/usr/local/mysql下建立data文件夹用于存放数据库文件
sudo mkdir /usr/local/mysql/data
第七步:
安装mysql
sudo ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
如果未安装两个依赖软件,此处会报错
sudo ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize2018-09-19T16:31:03.993062Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.12-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.12) initializing of server in progress as process 192612018-09-19T16:31:19.499443Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ;f;#<N6nl7pE
安装成功后,记下随机产生的密码,我的是;f;#<N6nl7pE
第八步:
开启mysql服务
sudo ./support-files/mysql.server start
第九步:
将mysql进程放入系统进程中
sudo cp support-files/mysql.server /etc/init.d/mysqld
下一个命令,需要安装新的软件
apt-get install sysv-rc-conf
将mysql进程自动开机启动
sysv-rc-conf mysqld on
第十步:
重新启动mysql服务
service mysqld restart
此处可能会报找不到mysqld这个服务,多试几次即可,莫名其妙就可以了
第十一步:
在/usr/bin下建立指向mysql的软连接之后使用随机密码登录mysql数据库
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
mysql -u root -p
根据提示输入第9步的随机密码
第十二步:
进入mysql操作行,为root用户设置新密码
alter user 'root'@'localhost' identified by '123456';
至此,mysql8.0没有意外已经正常安装了,算是对原先的参考帖子进行完善吧参考帖子地址
然而远程连接又会是个坑,可查看后续新帖!