一、下载mysql
地址:MySQL
这里选择64为还是32为要根据操作系统来
uname -m
二、上传解压配置mysql
使用root账户登录linux服务器,在opt文件下创建mysql文件夹
cd /opt
sudo mkdir mysql
使用Xftp上传mysql压缩包到此文件夹下(自行决定路径)
cd mysql/
tar -xvf mysql-8.0.36-linux-glibc2.17-x86_64.tar.xz
中间会卡一下,等执行完
改名解压后的文件夹,并删除压缩包
mv mysql-8.0.36-linux-glibc2.17-x86_64 mysql-8.0.36
rm -rf mysql-8.0.36-linux-glibc2.17-x86_64.tar.xz
创建mysql用户组和mysql用户
groupadd mysql #创建mysql的用户组
useradd -g mysql mysql #在用户组下创建用户,注意这里应该是和my.cnf中的user对应
创建data文件夹
cd /opt/mysql/mysql-8.0.36/
sudo mkdir data
授权在/opt/mysql/mysql-8.0.36/路径下执行
chown -R mysql:mysql ./
初始化mysql,注意是一行命令(替换为自己的mysql解压路径)
/opt/mysql/mysql-8.0.36/bin/mysqld --initialize --user=mysql --lower-case-table-names=0 --basedir=/opt/mysql/mysql-8.0.36 --datadir=/opt/mysql/mysql-8.0.36/data
注意保存好root账户的初始化密码 dG8?iy6!ow5?
复制服务启动脚本到/etc/init.d/下
cp /opt/mysql/mysql-8.0.36/support-files/mysql.server /etc/init.d/mysqld
配置服务启动脚本
vim /etc/init.d/mysqld
输入以下两行
basedir=/opt/mysql/mysql-8.0.36/
datadir=/opt/mysql/mysql-8.0.36/data/ #之前创建的data目录
文件授权
chmod +x /etc/init.d/mysqld
三、启动mysql
启动mysql服务
service mysqld start
查看3306端口
netstat -ltpn
添加环境变量
vim /etc/profile
加入下面一行
export PATH=$PATH:/opt/mysql/mysql-8.0.36/bin:/opt/mysql/mysql-8.0.36/lib
source /etc/profile
四、登录配置mysql
输入mysql -u root -p
输入之前保存的初始密码 dG8?iy6!ow5?
这个密码就是看不见的,已经登录成功了
接下来执行一系列mysql命令
#修改root用户密码
alter user 'root'@'localhost' identified by '123456';
#切换数据库
use mysql;
#设置允许root用户从任何主机链接mysql
update user set host='%' where user='root';
#重新加载授权表
flush privileges;
#向MySQL数据库中的
root
用户授予在任何主机(%
表示通配符,表示任何主机)上对所有数据库的所有权限grant all privileges on *.* to 'root'@'%' ;
#重新加载授权表
flush privileges;
#退出
quit
执行结果如下图
使用navicat工具链接试下
在连接之前先开放linux的3306端口号 (服务器的防火墙开启时需要此步骤)
-- 开通 3306 端口 访问权限
sudo firewall-cmd --permanent --add-port=3306/tcp
-- 重载防火墙
sudo firewall-cmd --reload
连接测试如下
五、开机自启动
关于linux系统的运行级别,说明如下
- 运行级别 0:系统关机
- 运行级别 1:单用户模式,用于维护和修复系统的模式
- 运行级别 2:多用户模式,没有 NFS
- 运行级别 3:多用户模式,有网络支持
- 运行级别 4:保留,未被系统使用
- 运行级别 5:多用户模式,带图形界面
- 运行级别 6:系统重启
#配置 MySQL 在运行级别
3
、4
和5
下启动chkconfig --level 345 mysqld on
#列出系统中 MySQL 服务的各个运行级别下的启动状态
chkconfig --list mysqld
reboot重启验证自启动成功