Linux下安装MySQL 8.0

1、切换到/usr/soft

注:本人比较喜欢将需要安装的软件放到/usr/soft下面,如果没有soft文件夹可以,创建一个 mkdir soft 

cd /usr/soft

2、下载mysql8.0安装包

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

如果下载不了可以通过此链接下载:mysql8.0.20安装包下载

3、解压mysql8.0安装包

tar -xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

4、 重命名解压出来的文件夹,这里改成mysql8.0.20

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql8.0.20

5、在/usr/soft/mysql8.0.20文件夹里面创建data文件夹,用来存放数据库文件

mkdir data

6、分别创建MySQL的用户组和用户名(如果提示已存在说明之前有创建过了)

#创建用户组
groupadd mysql

#创建用户
useradd -g mysql mysql

7、授权刚刚新建的用户

#-R 处理指定目录以及其子目录下的所有文件
chown -R mysql.mysql /usr/soft/mysql8.0.20

chmod 750 /usr/soft/mysql8.0.20/data -R

 注:需要了解chmod 750的意思可以查看另一篇博客:linux chmod 755 ,750,777_feritylamb的博客-CSDN博客

8、配置环境,编辑/etc/profile文件

vim /etc/profile

在最后一行加
export PATH=$PATH:/usr/soft/mysql8.0.20/bin:/usr/soft/mysql8.0.20/lib,然后按ESC,输入:wq回车保存

别忘了刷新配置文件:source /etc/profile

9、编辑my.cnf文件

vim /etc/my.cnf

 按下面复制进去就好了,#号开头的不用管,一样,添加完之后,换行,打出“:wq”,用来保存文件并退出

[mysql]
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.socket

[client]
port=3306
socket=/var/lib/mysql/mysql.socket          

[mysqld]
port=3306
server-id=3306
user=mysql
general_log=1
general_log_file=/var/log/mysql/mysql.log    #如果系统中不存在需要自己创建
socket=/var/lib/mysql/mysql.socket
basedir=/usr/soft/mysql8.0.20
datadir=/usr/soft/mysql8.0.20/data
log-bin=/usr/soft/mysql8.0.20/data/mysql-bin
innodb_data_home_dir=/usr/soft/mysql8.0.20/data
innodb_log_group_home_dir=/usr/soft/mysql8.0.20/data/
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
symbolic-links=0
default_authentication_plugin=mysql_native_password

[mysqld_safe]
log-error=/usr/soft/mysql8.0.20/data/mysql.log
pid-file=/usr/soft/mysql8.0.20/data/mysql.pid

10、切换到/usr/soft/mysql8.0.20/bin目录下 

cd bin

11、 初始化基础信息,得到数据库的初始密码(在/usr/soft/mysql8.0.20/bin目录下执行)

./mysqld --user=mysql --basedir=/usr/soft/mysql8.0.20 --datadir=/usr/soft/mysql8.0.20/data/ --initialize

注:
该命令执行时会有 mysqld: File '/var/log/mysql/mysql.log' not found (OS errno 13 - Permission denied) 的错误,这个错误处理的方式是,首先查看/var/log/mysql文件夹是否存在,如果不存在则创建一个,然后将创建的文件夹授权给mysql账户(命令:chown -R mysql:mysql /var/log/mysql/

执行命令提示(mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory)这个错误,是由于内容缺少了libaio.so.1的依赖库,所以进行安装

 yum install -y libaio  

安装成功以后即可正常启动了。

chown -R mysql.mysql /var/log/mysql

chmod 750 /var/log/mysql -R

如图,复制出红框的初始密码,保存到本地,后面需要使用到

注意:如果因为路径等各种问题需要重新初始化的,需要清空上面创建的data文件,在data所在的目录下使用 rm -rf data 命令 

12、复制 mysql.server 文件,在/usr/soft/mysql8.0.20目录下执行

cp -a ./support-files/mysql.server /etc/init.d/mysql 

cp -a ./support-files/mysql.server /etc/init.d/mysqld

13、赋予权限

chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

14、检查一下/var/lib/mysql是否存在,否则进行创建

mkdir /var/lib/mysql 

#再赋予权限
chown -R mysql:mysql /var/lib/mysql/ 

15、启动数据库,有SUCCESS字眼说明MySQL安装完成

service mysql start 

 注意:如果发现启动失败,可以先查看data里面的mysql.log,如果有提示3306这样的字样,第一个想到的应该是端口被占用,使用lsof -i:端口号,查看是哪个PID(进程号)占用了该端口,然后使用kill PID(进程号)杀掉进程,重新执行service mysql start

修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql)

16、修改数据库root账号的密码,并设置可以远程访问(因为root默认是不能远程访问的)

mysql -uroot -p 回车后会提示输入root的密码

#修改数据库root账号的密码,并设置可以远程访问(因为root默认是不能远程访问的)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

#选择数据库
use mysql;

#再修改远程连接并生效
update user set host='%' where user='root';

#执行提交命令,搞定!
flush privileges;

 17、设置开机启动

 (1)进入mysql安装目录

cd /usr/soft/mysql8.0.20

(2)我们设置开机启动需要将mysql.server 文件复制到 /etc/rc.d/init.d/ 目录下mysql 文件 我们的mysql.server 文件一般都在安装的根目录下的 support-files 目录下 

cp ./support-files/mysql.server /etc/rc.d/init.d/mysql

(3) 复制成功后我们需要给赋予权限

chmod +x /etc/init.d/mysql

(4) 添加为服务

chkconfig --add mysql

 (5)查看服务列表

chkconfig --list

看到3、4、5状态为开或者为 on 则表示成功。 如果是 关或者 off 则执行一下 

chkconfig --level 345 mysqld on

最后reboot重启计算机试试效果 

 我在启动的时候会提示,ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 的错误,原因时在/etc/my.cnf文件中【mysql】中没有加上  socket=/var/lib/mysql/mysql.socket  ,导致的最后加上这个语句,然后重启就解决问题了。

最后就可以使用root账号去登录mysql了。如果有遇到问题的小伙伴评论留言,文中如有遗漏错误,欢迎指正。 

题外:
给mysql创建新的数据库用户并授予权限

1)创建用户(名称随意,这里的用户名称为mysql)并可以远程访问
CREATE user 'mysql'@'%'; 
#修改密码
alter user 'mysql'@'%' identified with mysql_native_password by 'tcl.2021'; 

2)创建新的数据库
#create database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;


3)把新的数据库授权给新用户
#将test库的所有权限赋予mysql用户
grant all privileges on test.* to "mysql"@"%";
grant all privileges on test.* to "tcl"@"%";

4)、刷新权限
flush privileges; 

mysql8.0版本的数据库需要用nacicat连接时,建议使用最新版本的nacicat,我使用的11.1.13

版本无法连接,但是使用navicat16.0.11版本可以连接

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
1. 下载MySQL安装包 从MySQL官网下载适合您系统的MySQL安装包,选择合适的版本和平台,例如:MySQL Community Server 5.7.30 Linux-Generic (x86, 64-bit), 并将其保存到本地。 2. 安装依赖包 在安装MySQL之前需要先安装一些依赖包,以Debian/Ubuntu系统为例: ``` sudo apt-get update sudo apt-get install libaio1 libnuma1 ``` 3. 解压MySQL安装包 使用以下命令解压MySQL安装包: ``` tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz ``` 4. 创建MySQL用户和组 使用以下命令创建MySQL用户和组: ``` groupadd mysql useradd -r -g mysql -s /bin/false mysql ``` 5. 移动MySQL文件 将解压的MySQL文件夹移动到/opt目录下: ``` sudo mv mysql-5.7.30-linux-glibc2.12-x86_64 /opt/mysql ``` 6. 配置MySQL 在/opt/mysql目录下创建my.cnf文件: ``` sudo vi /opt/mysql/my.cnf ``` 文件内容如下: ``` [mysqld] # 设置MySQL数据存储路径 datadir=/data/mysql/data # 设置MySQL日志存储路径 log-bin=/data/mysql/binlog/mysql-bin # 设置MySQL错误日志存储路径 log-error=/data/mysql/error/mysql.err # 设置MySQL socket文件存储路径 socket=/var/lib/mysql/mysql.sock # 设置MySQL字符集 character-set-server=utf8 # 设置MySQL端口 port=3306 # 设置MySQL最大连接数 max_connections=500 ``` 7. 创建MySQL数据存储目录 使用以下命令创建MySQL数据存储目录: ``` sudo mkdir -p /data/mysql/data sudo chown -R mysql:mysql /data/mysql ``` 8. 初始化MySQL 使用以下命令初始化MySQL: ``` cd /opt/mysql sudo ./bin/mysqld --defaults-file=/opt/mysql/my.cnf --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql/data ``` 9. 启动MySQL 使用以下命令启动MySQL: ``` sudo /opt/mysql/support-files/mysql.server start ``` 10. 登录MySQL 使用以下命令登录MySQL: ``` /opt/mysql/bin/mysql -u root -p ``` 11. 修改MySQL root密码 使用以下命令修改MySQL root密码: ``` mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 12. 安装完成 至此,MySQL离线安装完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值