WHCSRL 技术网

Linux安装MySql8.0

Linux安装MySql8.0

环境:Cenos7 mysql8.0

一、下载官方镜像

https://downloads.mysql.com/archives/community/

image-20211031010423155

二、下载完成后用文件上传工具上传到服务器/usr/local目录下

三、解压下载的文件

tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
  • 1

1.然后把文件夹名称修改一下

mv /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql
  • 1

2.进入mysql安装目录创建

cd /usr/local/mysql
#data目录是存放mysql数据的目录,与my.cnf文件要对应一致
mkdir data
#log目录是存放mysql日志的目录,与my.cnf文件要对应一致
mkdir log
cd /usr/local/mysql/log
#创建error.log文件存放错误日志
touch error.log
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3.修改mysql文件夹权限

chmod 755 /usr/local/mysql
  • 1

四、创建MySQL的安装初始化配置文件my.cnf 把下面配置粘贴进去

vi /etc/my.cnf

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
socket=/usr/local/mysql/mysql.sock
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock

[mysqld_safe]
log-error=/usr/local/mysql/log/error.log
pid-file=/usr/local/mysql/mysql.pid
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

五、创建mysql用户组,mysql用户

groupadd mysql
 
useradd -g mysql mysql

修改权限
chown -R mysql.mysql /usr/local/mysql/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

六、初始化,启动mysql

1.进入mysql下bin目录

cd /usr/local/mysql/bin
  • 1

2.执行初始化命令

./mysqld --initialize
# 执行该命令后会自动生成一个用户名和密码+	·
  • 1
  • 2

3.将mysql添加到系统服务里

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  • 1

4.修改权限

chmod 755 /etc//init.d/mysqld
  • 1

5.现在可以起动mysql

#起动mysql服务
service mysql start
#停止mysql服务
service mysql stop
#重启mysql服务
service mysql restart
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6.创建软连接

ln -s /usr/local/mysql/bin/mysql /usr/bin
  • 1

7.然后可以在任何目录下输入以下命令,进行登录mysql

mysql -uroot -p
  • 1

解决常见安装过程中出现的问题

在这里插入图片描述

1.这个问题首先检查配置文件my.cnf,下面这几项最基本的要核对清楚,特别是目录

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
[mysqld_safe]
log-error=/usr/local/mysql/log/error.log
pid-file=/usr/local/mysql/mysql.pid
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2.如果上面配置文件都正确,那么就是权限没给,执行以下命令,注意自己的mysql安装目录

chown -R mysql.mysql /usr/local/mysql
  • 1

开放远程连接权限,使得管理工具可以进行远程连接

首先需要开放3306端口,否则无法与外网建立连接

// 查看想开的端口是否已开
firewall-cmd --query-port=6379/tcp
添加指定需要开放的端口
firewall-cmd --add-port=123/tcp
  • 1
  • 2
  • 3
  • 4

进入mysql开放外网连接权限

mysql -uroot -pxxx
//执行以下命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%%' IDENTIFIED BY '123456';  
  • 1
  • 2
  • 3

这里的123456为你给新增权限用户设置的密码,%%代表所有主机,也可以具体到你的主机ip地址。

最后使用Navcat等SQL可视化工具进行连接

推荐阅读