1、查看Linux系统是否自带mysql,如果有删除
1.查看
rpm -qa |grep mariadb #查看LUNIX下同下是否存在默认的数据库
mariadb-libs-5.5.68-1.el7.x86_64
[roots@root ~]$ yum remove mariadb-libs-5.5.68-1.el7.x86_64 #删除默认的低版本的数据库
rpm -qa |grep mysql #此处我本机无mysql
2.如果提示:您需要 root 权限执行此命令。
```bash
[roots@root ~]$ su root #进入root模式
密码:#此处输入自己的密码
2.下载所需的mysql
[roots@root ~]# cd /usr/local/
[root@root local]# mkdir mysql
[root@root local]# cd mysql
[root@root mysql]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
3.解压文件
命令 : xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
#将.xz压缩包解压为.tar
命令 : tar xf mysql-8.0.19-linux-glibc2.12-x86_64.tar
#将.tar压缩包解压为文件夹
或者使用以下方法:
[root@root mysql]# tar -xvJf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz #解压.tar.xz
[root@root mysql]# mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql8.0 #重命名
4.创建data文件夹 存储文件
[root@root mysql]# cd mysql8.0/
[root@root mysql8.0]# mkdir data
5.创建用户组以及用户和密码
[root@root mysql8.0]# groupadd mysql
[root@root mysql8.0]# useradd -g mysql mysql
6.授权用户
[root@root mysql8.0# chown -R mysql.mysql /usr/local/mysql/mysql8.0/
7.切换到bin目录下 ,初始化基础信息
[root@root mysql8.0]# cd bin #切换到bin目录下
[root@root bin]# ./mysqld --user=mysql --basedir=/usr/local/mysql/mysql8.0/ --datadir=/usr/local/mysql/mysql8.0/data/ --initialize #初始化基础信息
会看到如下信息:
2023-02-15T07:03:34.223210Z 0 [System] [MY-013169] [Server] /usr/local/mysql/mysql8.0/bin/mysqld (mysqld 8.0.19) initializing of server in progress as process 22981
2023-02-15T07:03:36.901787Z 5 [Note] [MY-010454] [Server] A temporary password is generated for **root@localhost: UHh*+GRk6uo!** #此处就是初始密码,可以复制保存,后面登录用
8.拷贝启动目录下的启动脚本至/etc/init.d下
[root@root mysql8.0]# cp -a ./support-files/mysql.server /etc/init.d/mysql
9.赋予可执行权限
[root@root mysql8.0]# chmod +x /etc/init.d/mysql #赋予可执行权限
10.将MySQL添加为受chkconfig管理的服务
[root@root mysql8.0]# chkconfig --add mysql #将MySQL添加为受chkconfig管理的服务
11.修改配置
[root@root mysql8.0]# vim /etc/my.cnf #修改配置
在my.cnf中添加如下内容:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql/mysql8.0
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysql8.0/data
# 允许最大连接数
max_connections=200
#允许连接失败的次数。防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
## 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(Linux下默认是/var/lib/mysql/mysql.sock文件)
socket= /tmp/mysql.sock
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
[root@root mysql8.0]# vim /etc/profile #修改配置
export PATH=$PATH:/usr/local/mysql/mysql8.0/bin
[root@root mysql8.0]# source /etc/profile #配置生效
[root@root mysql8.0]# echo $PATH #查看配置
12.启动mysql,并登录
[root@root mysql8.0]# service mysql start #启动mysql
Starting MySQL.Logging to '/usr/local/mysql/mysql8.0/data/root.localdomain.err'.
. SUCCESS! #有这个代表成功
[root@root mysql8.0]# service mysql status #查看mysql状态
SUCCESS! MySQL running (25126)
[root@root mysql8.0]# mysql -uroot -p #登录mysql
Enter password: UHh*+GRk6uo!
13.修改用户密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec) #修改用户密码
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
14.远程登录设置
mysql> use mysql
Database changed
mysql> update user set host='%' where user = 'root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
至此完毕,快去使用你的mysql吧…