按照这个做基本不踩坑,其中的目录可以根据自己的喜好修改,目录名和目录位置没有固定要求。可以直接在根目录下创建目录,mkdir mysql_data 并且创建/mysql_data/data用来存放数据,注意如果目录更改,my.cnf配置文件的目录也要修改
下载MySql:
下载地址:https://dev.mysql.com/downloads/mysql/
可通过地址下载,亦可以通过wget命令下载
#在linux终端执行命令在
cd /opt/
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz
#xz文件先用xz命令处理
xz -d mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz
#然后用tar命令解压,并移动到/usr/local
tar -xvf mysql-8.0.29-linux-glibc2.12-x86_64.tar
#更文件名‘mysql-8.0.21-linux-glibc2.12-x86_64’ 改为 ‘mysql-8.0.21’
mv mysql-8.0.29-linux-glibc2.12-x86_64 /usr/local/mysql-8.0.29
cd /usr/local/mysql-8.0.29/
#创建data目录存放数据
mkdir data
创建用户(目的是授权):
#创建用户组mysql
groupadd mysql
#创建用户mysql
useradd -g mysql mysql
#设置拥有者为mysql,就是授权
chown -R mysql:mysql /usr/local/mysql-8.0.29/
初始化:
cd /usr/local/mysql-8.0.21/
#初始化命令,为了初始化mysql获得初始化登入密码
./bin/mysqld --user=mysql --basedir=/usr/local/mysql-8.0.21/ --datadir=/usr/local/mysql-8.0.21/data/ --initialize
得到随机的初始密码:09es%uXb/,N>
vim /etc/my.cnf
#进入文件后,安o开始编辑,datadir设置数据存放目录,basedir基本安装目录,
#socket设置套接词用于远程连接,port是访问端口,log-error日志文件,
#pif-file文件记录的是当前 mysqld 进程的 pid,pid 亦即 Process ID。
#注意:如果目录更改,datadir和basedir的目录也要修改
[mysqld]
datadir=/usr/local/mysql-8.0.29/data
socket=/tmp/mysql.sock
basedir=/usr/local/mysql-8.0.29
port=3306
character-set-server=UTF8MB4
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql-8.0.29/mysql.pid
初始化MySQL服务
cp -a ./support-files/mysql.server /etc/init.d/mysql
#授权
chmod +x /etc/init.d/mysql
#添加服务
chkconfig --add mysql
#启动服务
service mysql start
#停止服务
service mysql stop
登入mysql
#必须先创建软连接
ln -s /usr/local/mysql-8.0.29/bin/mysql /usr/bin/
#登入,如果登入是出现mysql未知命令,就说明上一步软连接有问题,
#请根据文件删除原来的/usr/bin/mysql(rm -i mysql,然后再输入yes),
#然后再重新创建软连接。
mysql -uroot -p
#然后根据提示输入之前生成的随机密码
#这里密码每个人都会不同,要根据自己生成的密码输入
#登录成功后,修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
#使配置生效
flush privileges;
#选择mysql数据库
use mysql;
#设置远程访问
update user set host='%' where user='root';
使配置生效
flush privileges;
#退出mysql
exit
防火墙开放3306端口
#编辑ssh.xml
vim /usr/lib/firewalld/services/ssh.xml
#开放3306端口
<port protocol="tcp" port="3306"/>
#重启防火墙
systemctl restart firewalld
验证测试
可以使用navicat进行测试验证。