本文最后更新于:2023年11月9日 晚上
Linux系统下安装MySQL 8.0.x
1 2
| Linux系统版本:CentOS 8.3 64位 MySQL版本:mysql-8.0.25-linux-x86_64
|
1.下载MySQL安装包
2.将MySQL安装包上传到Linux服务器
- 使用 Xftp 上传文件 (其他ftp软件皆可) 这里存放路径是我自定义的(可直接上传到自定义的目录下)
- 注:MySQL默认的安装路径是 /usr/local/mysql (路径发生改变,后续配置可能有一丝影响)
3.解压MySQL安装包
1 2 3
| cd 路径cd 例: /usr/libo/environment ll 查看路径下所有目录
|
1 2
| xz -d .xz文件名称 例:xz -d mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
|
1 2
| tar -xvf .tar文件名称 例:tar -xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar
|
1 2
| mv 原目录名称 新目录名称 例:mv mysql-8.0.25-linux-glibc2.12-x86_64 mysql-8.0.25
|
4.创建MySQL数据存放目录并授权
- 进入MySQL目录后,使用命令创建MySQL数据目录,名称可自取,比如:data
- 给MySQL目录授权(包括MySQL数据存放目录)
1 2
| chmod能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行) chmod -R 777 * 意思就是将当前目录下所有文件都给予777权限
|
5.创建MySQL组:创建MySQL用户并设置密码
1 2
| 添加用户:useradd 用户名 设置密码:passwd 用户名
|
- 将mysql目录的权限授给mysql用户和mysql组
1
| chown -R mysql:mysql /usr/libo/environment/mysql-8.0.25
|
- 注:在设置密码时,少于8位会出现提示,再次填写一遍即可,不影响
6.在系统根目录的/etc创建MySQL的安装初始化配置文件my.cnf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=/usr/libo/environment/mysql-8.0.25 # 设置mysql数据库的数据的存放目录 datadir=/usr/libo/environment/mysql-8.0.25/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 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
|
1 2
| vi /etc/my.cnf 按下i健进入 insert模式进行修改,完成后按下esc键再后输入 :wq 保存并退出(英文模式下,注意wq前面还有冒号:)
|
7.初始化MySQL
1
| cd /usr/libo/environment/mysql-8.0.25/bin
|
- 执行命令,记住生产的随机密码(后面修改密码时会用到)
1
| ./mysqld --initialize --console
|
8.启动MySQL服务
1 2
| cd /usr/libo/environment/mysql-8.0.25/support-files ./mysql.server start
|
1. 启动MySQL服务时报 updating PID file 错误
解决:在安装目录下重新授权,然后再启动MySQL
1 2
| chmod -R 777 /usr/libo/environment/mysql-8.0.25 chmod -R 777 /usr/libo/environment/mysql-8.0.25/data
|
2. 启动MySQL服务时报 my_print_defaults:未找到命令错误
解决:检查并修改 /etc/my.cnf 中的 MySQL的安装目录
3. 如果确认MySQL安装路径没有问题,很有可能是没有读取到我们的my.cnf配置文件
在mysql.server文件中可以看到,MySQL默认路径为/usr/local/mysql,因为我们是自定义路径。所以需要建立my.cnf文件的连接
1 2 3 4 5
| 将mysql目录下的bin/my_print_defaults链接到/usr/bin目录下。
cd /usr/bin sudo ln -s /usr/libo/environment/mysql-8.0.25/bin/my_print_defaults 为什么需要my_print_defaults呢?这是因为mysql.server执行时就是通过my_print_defaults来读取my.cnf配置变量的。
|
参考博客:https://blog.csdn.net/u012794845/article/details/86577399
1 2 3 4
| 将MySQL加入系统进程中 cp mysql.server /etc/init.d/mysql 然后重启MySQL服务 service mysql restart
|
1 2 3
| 进入MySQL 密码是之前自动生成的密码 ./mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
|
1 2 3
| use mysql 切换数据库 update user set user.Host='%' where user.User='root'; 修改HOST为% flush privileges; 修改成功后刷新权限
|
如果你热爱生活就不要浪费时间,因为时间组成了生活。