Linux下 MySQL8安装教程 一个coder的自我修养

博客(coder的自我修养)原文链接:http://www.imcoder.fun/archives/1583044290623

之前我们介绍了 Windows下的MySQL8安装教程,那么Linux下该如何安装呢?本文以CentOS 7 为例,一步一步教你如何在Linux下安装MySQL-8.0.18

文章目录

  • 下载MySQL
  • 下载后解压
  • 编辑MySQL配置
  • 初始化MySQL
  • 启动MySQL
  • 修改root用户密码
  • 连接测试
  • 可能会遇到的问题

1、下载MySQL

官网下载地址:https://dev.mysql.com/downloads/mysql/
我们选择以下版本Red Hat EnterPrise Linux / Oracle LinuxRed Hat EnterPrise Linux 7 / Oracle Linux 7 (x86 64-bit)

image

在下方列表中选择 mysql-8.0.18-el7-x86_64.tar

image

2、下载后解压

解压后的文件如下

image

我们保留 mysql-8.0.18-el7-x86_64.tar.gz然后再解压

tar -zxvf mysql-8.0.18-el7-x86_64.tar.gz

我们准备把MySQL安装到 /usr/local 目录下所以解压后我们修改目录名称为 mysql 并移动到 /usr/local/ 目录下

mv mysql-8.0.18-el7-x86_64 /usr/local/mysql

下面我们来看看 /usr/local 目录下的文件

cd /usr/local

我们可以看到mysql目录已经移动到了 /usr/local 下

image

我们新建mysql用户,并更改mysql目录的所有者为mysql用户,如上图所示


useradd mysql
chown -R mysql:mysql mysql/

3、编辑MySQL配置

我们进入mysql目录下并创建data、logs、config目录

  • data:数据目录
  • logs:日志目录
  • config:配置文件
cd mysql
mkdir data
mkdir logs
mkdir config

在config目录下我们新建my.cnf配置文件,为防止与机器上其他用户安装的MySQL冲突,我们使用此配置文件来作为MySQL的配置文件

touch my.cnf
或
vi my.cnf

我们在my.cnf中写入以下配置

[mysql]
# 设置mysql客户端默认字符集
default-character-set=UTF8MB4
[mysqld]
skip-name-resolve
default_authentication_plugin=mysql_native_password
#设置3355端口
port = 3335
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
log_error=/usr/local/mysql/logs/mysql.log
pid-file=/usr/local/mysql/logs/mysql.pid
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
group_concat_max_len=102400
[client]
port=3335

4、初始化MySQL

配置文件编辑好以后,下面我们来初始化MySQL进入到bin目录下然后执行初始化命令

cd bin
./mysqld --defaults-file=/usr/local/mysql/config/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

参数说明

  • --defaults-file=/usr/local/mysql/config/my.cnf 指定配置文件(一定要放在最前面,至少 --initialize 前面)
  • --user=mysql 指定用户(很关键)
  • --basedir=/usr/local/mysql/ 指定安装目录
  • --datadir=/usr/local/mysql/data/ 指定数据目录

以上步骤操作完成后,根据网上其他教程,此时应该会生成一个临时密码才对,然而并没有。这个时候不要慌,因为我们指定了log_error的目录(可能是因为这个原因),所以,我们来看一下 /usr/local/mysql/logs/mysql.log 这个文件

cd ../logs
cat mysql.log

果然发现了临时密码,我们把它记下来,等下要用到

image

5、启动MySQL

让我们再回到bin目录下去启动MySQL


cd ../bin
./mysqld_safe --defaults-file=/usr/local/mysql/config/my.cnf

这时我们可以看到在logs目录下已经生成了 mysql.pid 这说明MySQL已经成功启动执行命令

cat mysql.pid

image

6816即为MySQL的进程,我们也可以ps一下

ps -ef|grep mysql

image

由上可见,MySQL已经成功启动

6、修改root用户密码

下面让我们回到bin目录下去登录MySQL,并修改root用户密码。

cd ../bin
./mysql -u root -p

image

这是输入我们刚才记下的临时密码,输入后会显示登录成功

image

执行以下命令修改root用户密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

image

修改root用户远程登录

update mysql.user set host='%' where user='root';

image

最后记得刷新权限

flush privileges;

image

7、连接测试

现在我们用navicat来进行连接测试

image

到此MySQL成功安装。

8、可能会遇到的问题

(1)初始化报错

error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方案

yum install -y libaio

(2)报无权限之类的错误

chown -R mysql:mysql 无权限的目录
或
chmod -R 777 无权限的目录

(3)启动报错

Starting MySQL.The server quit without updating PID file (/[FAILED]mysql/xxx.pid).

解决方案尝试用msqld_safe启动

./mysqld_safe --defaults-file=/usr/local/mysql/config/my.cnf ···


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值