不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。

导航

MySQL二进制安装

Posted on 2021-04-27 22:08  三年三班王小朋  阅读(65)  评论(0编辑  收藏  举报

mysql二进制安装

去mysql官网下载:https://downloads.mysql.com/archives/community/

 

安装前环境检查

centos7默认安装数据库是mariadb
查看是否存在 mariadb,mysql,如果存在就删除掉

rpm -qa | grep mariadb
rpm -qa | grep mysql

yum remove -y mariadb mariadb-*  #如果存在
yum remove -y mariadb mysql-*   #如果存在

如果存在 /etc/my.cnf,删除它

rm -rf /etc/my.cnf

ldd --version    查询对应glicb库版本
uname -r   显示操作系统的发行版号

安装

下载解压MySQL二进制包
网上说tar里面没有征对xz格式的参数比如 z是针对 gzip,j是针对 bzip2。然而为什么我直接tar xvf就可以?
创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz
解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。

[root@localhost]# cd /usr/local
[root@localhost local]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.23-linux-glibc2.17-x86_64-minimal.tar.xz
[root@localhost local]# xz -d mysql-8.0.23-linux-glibc2.17-x86_64-minimal.tar.xz
[root@localhost local]# tar xvf mysql-8.0.23-linux-glibc2.17-x86_64-minimal.tar
[root@localhost local]# mv mysql-8.0.23-linux-glibc2.17-x86_64-minimal  mysql

mysql文件列表:
bin          mysqld服务器,客户端和实用程序
data       日志文件,数据库
docs       MySQL手册信息格式
man        Unix手册页
include      包含(标题)文件
lib           库
support-files  包括各种大小配置文件模板(为毛我没有),mysql.server和mysqld_multi.server(多实例)开机启动文件。mysql-log-rotate是日志切割脚本用于日志的归档,一般用于平时分析日志时用。
share     其他支持文件,包括错误消息,各国语言包(为毛没中文),示例配置文件,用于数据库安装的SQL

 3、创建用户组

检查mysql组和用户是否存在,如无创建:

[root@localhost ~]# cat /etc/group | grep mysql
[root@localhost ~]# cat /etc/passwd |grep mysql
[root@localhost ~]# useradd mysql -s /sbin/nologin -M 

4、更改mysql目录下所有的目录及文件夹所属组合用户

[root@localhost ~]# cd /usr/local/
[root@localhost local]# chown -R mysql:mysql mysql
[root@localhost local]# chmod -R 755 mysql    #可选

 5、添加配置文件

vim /etc/my.cnf

[mysqld] 
basedir = /usr/local/mysql/ datadir=/usr/local/mysql/data/ log-error=/usr/local/mysql/mysqld.log port = 3306 socket=/tmp/mysql.sock #skip-grant-tables = 1  #可选,跳过密码验证 #character-set-server=utf8  #可选,默认utf8编码 #user=mysql  #可选 [mysql] socket=/tmp/mysql.sock #必选,不然会报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

6、 配置环境变量

[root@localhost local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
[root@localhost local]# source /etc/profile
[root@centos36 bin]# mysql -V
 mysql Ver 8.0.23 for Linux on x86_64 (MySQL Community Server -

7、初始化数据

参数:

# mysqld:核心程序
# --initialize-insecure:初始化核心参数
# --user:管理用户
# --basedir:软件路径
# --datadir:数据存放目录

  [root@localhost local]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

两种初始化的方式:
--initialize-insecure:不安全方式,初始化完成并启动数据库后不需要可无密码登录;
--initialize:安全方式,初始化完成之后会生成临时随机密码,不能用作管理数据库,在第一次登录数据库时时需要改掉这个密码;

8、mysql设置开机启动

[root@localhost local]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld     #使用systemctl管理mysqld
[root@localhost local]# chkconfig --add mysqld
[root@localhost local]# systemctl start mysqld

9、检查并登录

[root@localhost local]# netstat -lntup|grep 3306
[root@localhost local]# ps -ef |grep mysql

[root@localhost local]# cat /usr/local/mysql/mysqld.log |grep 'password'  #获取密码 在配置文件中查看errorlog路径
[root@localhost local]# mysql -uroot -p'nk%D4am*dV;o'