一、安装
1.下载安装包
先创建一个mysql
目录,在将压缩包下载到此
shell
# 下载tar包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
等待下载成功
2.解压mysql8.0安装包
shell
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
查看版本
mysql --version
3.重命名解压出来的文件夹
这里改成mysql-8.0
bash
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0
在/mysql-8.0
文件夹下创建data文件夹 存储文件
bash
mkdir data
4.分别创建用户组以及用户和密码
(如果提示已存在说明之前有创建过了)
bash
groupadd mysql
useradd -g mysql mysql
授权刚刚新建的用户
bash
chown -R mysql.mysql /opt/mysql/mysql-8.0
chmod 750 /opt/mysql/mysql-8.0/data -R
5.始化数据库
shell
bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-8.0 --datadir=/opt/mysql/mysql-8.0/data
注:运行指令后将会出现如下输出,记住临时密码,每次运行上述指令生成的临时密码都不一样,我这里是:7Jl44eCeJ!.u
可能会出现的问题:
解决方法:
shell
# 检查库是否安装
rpm -qa|grep libaio
# 安装库
yum install libaio-devel.x86_64
6.编辑配置文件my.cnf
shell
vim /etc/my.cnf
shell
[mysqld]
basedir=/usr/local/mysql8
datadir=/usr/local/mysql8/data
socket=/tmp/mysql.sock
character-set-server=utf8
default_authentication_plugin=mysql_native_password
port=3306
7.创建MySQL服务
添加Mysql到系统服务(当前目录应为:/usr/local/mysql8)
shell
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
检查服务是否生效
shell
chkconfig --list mysql
二、启动服务调整配置
1.启动服务
启动服务
shell
service mysql start
这里可能出现的问题:
解决办法:
shell
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
# mysql 用户和用户对目录进行授权
chown -R mysql:mysql /var/log/mariadb/
# 再次启动mysql服务,每次开机后,要手动启动一下
/opt/mysql/mysql-8.0/support-files/mysql.server start
查看状态
shell
service mysql status
2.修改密码
登录mysql可能会出现如下错误
解决办法:
shell
ln -s /opt/mysql/mysql-8.0/bin/mysql /usr/bin
登录mysql
shell
mysql -uroot -p
输入或粘贴之前记录的临时密码并回车:7Jl44eCeJ!.u
修改密码
sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
# 例如
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '654321';
3.添加远程登录配置
sql
create user root@'%' identified by '新密码';
grant all privileges on *.* to root@'%' with grant option;
# 例如
create user root@'%' identified by '654321';
grant all privileges on *.* to root@'%' with grant option;
root表示想要被连接的数据库的用户名
其中"%"表示允许所有机器能访问root用户
刷新权限
sql
flush privileges;
查看设置结果
sql
use mysql;
select host,user,plugin,authentication_string from user;
4.开放防火墙3306端口
到这里mysql已经可以本地连接上了,但是要用图形化界面远程连接,还需要开发防火墙的3306端口才行
--permanent代表永久生效,否则重启linux后则需要再次开启
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
查看防火墙端口开放状态
firewall-cmd --list-all
自此在linux系统上安装mysql8已经完成,并且可以使用图形化界面远程连接
5.添加全局环境变量
编辑 / etc/profile 文件
shell
vi /etc/profile
在文件底部添加,保存退出
shell
export PATH=$PATH:/opt/mysql/mysql-8.0/bin:/opt/mysql/mysql-8.0/lib
export PATH
刷新配置
shell
source /etc/profile
Navicat 连接mysql
参考: