官网参考地址: https://dev.mysql.com/doc/refman/8.0/en/

 

本次使用centos8安装mysql8作为示例

linux系统版本: CentOS 8.3 64位

安装源文件版本:mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

mysql安装位置:/software/mysql/8.0.27

数据库文件数据位置:/software/mysql/data

数据库log文件地址:/software/mysql/log

注意:如果不懂shell脚本,最好把数据目录和日志目录都放在安装目录下,也就是把data和log目录放在8.0.27下面
因为,后面修改mysql.server和mysqld_safe脚本需要配置安装目录和目录

 

注:未防止混淆,这里都用绝对路径执行命令

        除了文件内容中的#表示注释,这里所有带#都是linux命令

  >mysql 是mysql的命令

 

步骤:

1、在根目录下创建文件夹

#mkdir /software/mysql

#mkdir /software/mysql/data

#mkdir /software/mysql/log

 

2、上传mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz文件到/software下

#cd /software/

#xz -d mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

#tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar

解压后得到mysql-8.0.27-linux-glibc2.12-x86_64安装文件。

注意:看看解压时有没有报错,如果有报错,可能是下载的包有问题,这样解压出来的文件是没有myslqd的,这个在初始化会用到。

3、移动安装文件目录到/software/mysql下并重命令

# mv /software/mysql-8.0.27-linux-glibc2.12-x86_64/  /software/mysql/8.0.27

 

mysql 安装 ms140 MySQL 安装 Linux_mysql

 

4、安装libaio依赖包,由于我买的腾讯云服务器centos系统自带的有这个依赖包所以不需要安装,不过自带的依赖包会报错,后面介绍解决办法

查询是否暗转libaio依赖包

#yum search libaio

如果没安装,可以用下面命令安装

#yum install libaio

 

5、修改mysql配置文件(contos8的/etc目录下是没有my.cnf文件的,自己手动新建一个my.cnf文件)

#vi /etc/my.cnf

将以下内容复制进去,注意,我这里的端口配置的是20010,自己根据自己的需求设置

~~~~~~~~~  内容开始 ~~~~~~~~~~~~~

[client]
port=20010
socket=/software/mysql/data/mysql.sock

[mysql]
port=20010
socket=/software/mysql/data/mysql.sock

[mysqld]
#端口
port=20010
#操作数据库用户
user=mysql
#mysql安装目录
basedir=/software/mysql/8.0.27
#mysql数据目录
datadir=/software/mysql/data
#服务器在其中写入其进程 ID 的文件的路径名
pid-file=/software/mysql/data/mysql.pid
socket=/software/mysql/data/mysql.sock
#事务隔离级别
transaction_isolation=READ-COMMITTED
#不区分大小写
lower_case_table_names=1
#禁用DNS域名解析
skip-name-resolve=ON
#UPDATE并且 DELETE在WHERE子句或LIMIT子句中不使用键的 语句会产生错误
#sql_safe_updates=ON
#允许连接mysql的ip地址,多个值用逗号隔开
#bind_address=
#服务器在响应之前等待连接数据包 的秒数
connect_timeout=30
#默认身份验证插件
default_authentication_plugin=mysql_native_password
#错误日志文件
log_error=/software/mysql/log/error.log
#开启记录慢查询日志
slow_query_log=1
#一般查询日志和慢查询日志输出的目的地
log_output=FILE
#sql查询日志输出文件
slow_query_log_file=/software/mysql/log/mysql-slow.log
#慢查询sql标准
long_query_time=5
#允许的最大并发客户端连接数
max_connections=2000
max_connect_errors=1000
#服务器在关闭交互式连接之前等待活动的秒数
interactive_timeout=86400
#服务器在关闭非交互式连接之前等待活动的秒数
wait_timeout=86400

~~~~~~~~~  内容结束  ~~~~~~~~~

保存退出

 

6、修改mysl.server脚本

#vi /software/mysql/8.0.27/support-files/mysql.server

主要是修改,安装目录、数据目录、日志目录,pid文件(不懂shell脚本的,找到所有/usr/local/myql,更换成自己的安装目录)

mysql 安装 ms140 MySQL 安装 Linux_mysql_02

 

 

 

7、修改安全启动脚本

#vi /software/mysql/8.0.27/bin/mysqld_safe 

主要是修改,安装目录、数据目录、日志目录,pid文件

 

8、创建mysql用户组和mysql用户

#groupadd mysql

#useradd -r -g mysql mysql

 

9、关联myql用户到mysql用户组中

#chown -R mysql:mysql /software/mysql/

#chown -R mysql  /software/mysql/

 

10、赋予安装权限

 #chmod 750 /software/mysql/8.0.27/

 

11、初始化mysql命令

#cd /software/mysql/8.0.27/bin

下面这个命令是说,使用/etc/my.cnf的配置初始化mysql

#./mysqld --defaults-file=/etc/my.cnf --initialize

初始化完成后,mysql的初始密码在/software/mysql/log/error.log里面

mysql 安装 ms140 MySQL 安装 Linux_mysql 安装 ms140_03

 

 

 

12、启动服务

#cp /software/mysql/8.0.27/support-files/mysql.server /etc/init.d/mysql.server

#/etc/init.d/mysql.server start

mysql 安装 ms140 MySQL 安装 Linux_mysql 安装 ms140_04

 

13、登录mysql

#cd /software/mysql/8.0.27/bin

#./mysql -uroot –p

如果出现下面的错误

mysql 安装 ms140 MySQL 安装 Linux_mysql_05

安装缺少的依赖 

#yum install libncurses*

安装完再次启动

mysql 安装 ms140 MySQL 安装 Linux_mysql 安装 ms140_06

 

 14、修改初始密码

>mysql ALTER USER 'root'@'localhost' IDENTIFIED BY '自定义密码';

mysql 安装 ms140 MySQL 安装 Linux_mysql 安装 ms140_07

 

>mysql use msyql;

修改用户权限可远程连接mysql

14.1 简单粗暴的方法——msyql官网不建议使用,所以慎用

>mysql update user set host = '%' where user = 'root' and host = 'localhost';

官网推荐到的方法

14.2 创建一个新用户

>mysql CREATE USER 'admin'@'%' IDENTIFIED BY '自定义密码';

授权(拥有所有权限)

>mysql GRANT ALL ON *.* TO 'admin'@'%' WITH GRANT OPTION;

 

刷新权限

>mysql FLUSH PRIVILEGES;