文章目录
- 说明
- 版本选择
- 选择数据库
- 选择版本
- 卸载默认mariadb
- 安装
- 一、解压文件
- 二、创建用户组
- 三、安装一些依赖
- 四、初始化创建一些目录
- 五、设置my.cnf
- 六、进行初始化
- 七、修改启动的server
- 八、修改整个目录所有的权限
- 九、启动
- 配置
- 配置成服务
- 配置环境变量
- 登陆
- 修改密码
- 修改远程可以访问
- 使用客户端连接
- 后言
说明
版本下载,本次采用的是二进制安装…
本系统为 centOS7
下载地址:https://www.mysql.com/downloads/
版本选择
选择社区版本
选择数据库
选择 Mysql Cunity Server
选择版本
需要说明的本文可能比较折腾…因为采用的都是自定义的目录…所以比较折腾,当然也是为了更加熟悉一下这个过程…
卸载默认mariadb
虽然我不知道为什么当时我要这样做…,可能是因为冲突了吧…
[root@localhost ~] rpm -qa|grep mariadb # 查询出来已安装的mariadb
[root@localhost ~] rpm -e --nodeps 文件名 # 卸载mariadb,文件名为上述命令查询出来的文件
[root@localhost ~] rm /etc/my.cnf #删除etc目录下的my.cnf
安装
一、解压文件
将文件上传到服务器
# 我这里将文件上传到了
cd /opt/mysql8/
解压文件
# 进入到该目录
cd /opt/mysql8/
# 执行解压
tar -xvf mysql-8.0.28-linux-glibc2.17-x86_64-minimal.tar
解压后会解压出三个文件,我们主需要处理 mysql-8.0.28-linux-glibc2.17-x86_64-minimal.tar.xz
即可
解压文件
# 进入到该目录
cd /opt/mysql8/
# 执行解压
xz -d mysql-8.0.28-linux-glibc2.17-x86_64-minimal.tar.xz
再次解压,
# 进入到该目录
cd /opt/mysql8/
# 执行解压
tar -xvf mysql-8.0.28-linux-glibc2.17-x86_64-minimal.tar
将其他文件全部删除
# 进入到该目录
cd /opt/mysql8/
# 删除已经压缩过的内容.你想保留也可以.
rm -rf *.xz
修改文件名称,注意 这里的目录名称发生了变化
mv mysql-8.0.28-linux-glibc2.17-x86_64-minimal mysql8
二、创建用户组
为我们使用mysql做准备,这一步后面做也可以
# 创建分组
groupadd mysql
# 创建用户
useradd -g mysql mysql
三、安装一些依赖
yum -y install autoconf
四、初始化创建一些目录
mkdir -p /opt/mysql8/mysql8/mydata/
mkdir -p /opt/mysql8/mysql8/errlog/
touch /opt/mysql8/mysql8/errlog/mysqld.log
mkdir -p /opt/mysql8/mysql8/pid/
mkdir -p /opt/mysql8/mysql8/share/
# 将错误的消息 复制到 一个目录中去
cp /opt/mysql8/mysql-8.0.28-linux-glibc2.17-x86_64-minimal/share/english/errmsg.sys /opt/mysql8/mysql8/share/
五、设置my.cnf
- 创建 my.cnf
touch /etc/my.cnf
- 在里面添加一下内容,这里的内容需要注意一下路径.
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录,如果是源码安装则是安装的目录,
# 如果是二进制安装则是解压的目录!!!
basedir=/opt/mysql8/mysql8
# 设置mysql数据库的数据的存放目录,需要进行自建
datadir=/opt/mysql8/mysql8/mydata
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集,UTF8Mb4 是别名相当于是utf8
character_set_server=UTF8Mb4
init-connect='set names utf8'
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
max_allowed_packet=16M
#配置serverid
server-id=1
# 设置默认的 密码校验插件
default_authentication_plugin=mysql_native_password
# 不区分大小写
lower_case_table_names=1
# 错误消息使用的语言
lc-messages-dir=/opt/mysql8/mysql8/share
[mysqld_safe]
# 错误日志,需要进行创建
log-error=/opt/mysql8/mysql8/errlog/mysqld.log
# 设置PID 的路径,需要进行创建
pid-file=/opt/mysql8/mysql8/pid/mysqld.pid
[client]
修改权限,否则会忽略,因为我是 root 账号,创建的这个文件导致这个文件的权限过高了…
chmod 644 /etc/my.cnf
六、进行初始化
进入到 mysql8
进行初始化
# 进入到目录
cd /opt/mysql8/mysql8
# 数据库初始
./bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql8/mysql8/ --datadir=/opt/mysql8/mysql8/mydata/
basedir=/opt/mysql8/mysql8/ :指的是 你 mysql 解压后的目录,简单来说就是存放mysql初始化和安装的路径!!!,
initialize-insecure : 没有默认密码
datadir=/opt/mysql8/mysql8/mydata/ :数据存放目录
其他配置,就会将所有的配置罗列出来… 有需要的可以自己一行一行的了解一下,比如你可以通过这个命令了解一下 --initialize-insecure
是什么意思~~
./mysqld --verbose --help
初始化成功
七、修改启动的server
进入mysql–> support-files目录
cd /opt/mysql8/mysql8/support-files
修改 mysql.server
文件
basedir:指的是你的安装目录
八、修改整个目录所有的权限
修改权限
# 这里的目录设置为自己的安装目录
chown -R mysql:mysql /opt/mysql8/
九、启动
cd /opt/mysql8/mysql8/support-files
# 启动
./mysql.server start
# 查看是否启动成功
ps -fe|grep mysql
# 停止
./mysql.server stop
这里只是初始化完成后的一个测试,后续配置成服务简单点
配置
配置成服务
# 配置成服务
cp /opt/mysql8/mysql8/support-files/mysql.server /etc/init.d/mysqld
# 设置开机启动
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
# 启动
service mysqld start
# 启动
service mysqld stop
配置环境变量
vim /etc/profile
PATH=$PATH:$HOME/bin:/opt/mysql8/mysql8/bin
# 刷新环境变量
source /etc/profile
登陆
进去后会让你输入密码,而我们最开始初始化的时候就没有搞初始化密码,所以直接回车即可
mysql -u root -p
修改密码
这里是将密码修改为 root,修改完成后继续登陆,然后输入 root 登陆即可…
ALTER user 'root'@'localhost' IDENTIFIED BY 'root';
修改远程可以访问
# 选择 mysql 数据库:
use mysql;
# 修改
# 增加允许远程访问的用户或者允许现有用户的远程访问。
# 给 root 授予在任意主机(%)访问任意数据库的所有权限。
update user set host='%' where user='root';
# 刷新
select host, user from user;
需要注意的是,正式环境的话,要加限制哦
使用客户端连接
我使用的是DBeaver 连接可能会出现问题…
后言
要是问题就见招拆招,别遇到问题就没头绪…
2022-04-22 更新了一版,我基本上就是按照这个从下载到使用…