linux下mysql的tar包离线安装
1.确保mysql安装之前有libaio依赖
yum search libaio yum install libaio
2.下载mysql的tar离线包
下载页面选择系统,linux-Generic
https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
删除系统自带mariadb
[gz_admin@ ~]# rpm -qa|grep mariadb mariadb-libs-5.5.44-2.el7.centos.x86_64 [gz_admin@~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
删除etc目录下的my.cnf文件
[gz_admin@ ~]# rm -rf /etc/my.cnf
3.解压msyql安装包到指定目录下
tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz -C /usr/local
4.重命名项目,进入/usr/local目录
cd /usr/local mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql
5.新建mysql数据及日志存放路径:
cd /data mkdir mysql cd mysql mkdir data # 存放mysql数据
6.修改配置文件
有的话直接修改,没有就创建
touch /etc/my.cnf vim my.cnf # 配置如下 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] port = 3306 # 设置3306端口 socket=/data/mysql/mysql.sock # 套接字保存路径 basedir=/usr/local/mysql # 设置mysql的安装目录 datadir=/data/mysql/data # 设置mysql数据库的数据的存放目录 log-error=/data/mysql/error.log # 报错日志路径 pid-file=/data/mysql/mysql.pid max_connections=1000 # 允许最大连接数 character-set-server=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB max_allowed_packet=1024M [mysqld_safe] socket=/data/mysql/mysql.sock [client] socket=/data/mysql/mysql.sock [mysql.server] socket=/data/mysql/mysql.sock
7.创建mysql用户组
[gz_admin@ ~]# groupadd mysql # 创建一个用户名为mysql的用户并加入mysql用户组 [gz_admin@ ~]# useradd -g mysql mysql
# 制定password 为 mysql123 [gz_admin@~]# passwd mysql Changing password for user mysql. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all authentication tokens updated successfully.
8.修改mysql目录权限,命令如下:
chown -R mysql:mysql /usr/local/mysql # 修改mysql属主给mysql用户 chown -R mysql:mysql /data/mysql # 修改data属主给mysql用户 chmod -R 755 /data/mysql /usr/local/mysql # 写入权限
9.安装初始化mysql,命令如下:
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --initialize
注释: # 解压后的文件夹路径 --basedir=/usr/local/mysql # 指定数据目录,初始化过程中会自动创建该目录 --datadir=/usr/local/mysql/data
注意,这一步会产生一个临时密码,需要到指定的日志文件日志中去查看。
10.将mysql进程放入系统进程中,命令如下:
修改/support-files/mysql.server文件
basedir=/usr/local/mysql datadir=/data/mysql/data mysqld_pid_file_path=/data/mysql/mysql.pid
拷贝到/etc/init.d/mysqld
cp support-files/mysql.server /etc/init.d/mysql
然后就可以使用此命令启动/关闭 mysql:
service mysql start
service mysql stop
service mysql restart
11.设置开机启动 在/etc/init.d文件夹下操作
cd /etc/init.d chmod 755 /etc/init.d/mysql chkconfig --add mysql chkconfig --level 345 mysql on service mysql restart
12.启动mysql
service mysql start
mysql -u root -p # 输入密码进入
初始密码查看方法,进入配置中指定的日志文件,error.log
12.设置mysql环境变量
vim /etc/profile export PATH=$PATH:/usr/bin/mysql/bin source /etc/profile
重置root密码
1.编辑MySQL配置文件my.cnf
vi /etc/my.cnf #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables
[mysqld]
skip-grant-tables
:wq! #保存退出
service mysqld restart #重启MySQL服务
2.进入MySQL控制台
mysql -uroot -p #直接按回车,这时不需要输入root密码。
3.修改root密码
update mysql.user set password=password('123456') where User="root" and Host="localhost"; flush privileges; #刷新系统授权表 grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;
4.取消/etc/my.cnf中的skip-grant-tables
vim /etc/my.cnf 编辑文件,找到[mysqld],删除skip-grant-tables这一行
:wq! #保存退出
5.重启mysql
service mysqld restart #重启mysql,这个时候mysql的root密码已经修改为123456
6.进入mysql控制台
mysql -uroot -p #进入mysql控制台 123456 #输入密码