linux安装MySQL

1、准备

1.1、上传

1.2、解压

tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /zhenghuhu/software

1.3、修改目录

mv mysql-5.7.30-linux-glibc2.12-x86_64/ mysql57

2、安装

2.1、确保mysql安装之前有libaio依赖

yum search libaio 
yum install libaio

2.2、删除系统自带mariadb

[root@iZntd6u9h3x4erZ ~]# rpm -qa|grep mariadb

mariadb-libs-5.5.60-1.el7_5.x86_64

[root@iZntd6u9h3x4erZ ~]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

2.3、删除etc目录下的my.cnf文件(没有则不用管了)

rm -rf  /etc/my.cnf

2.4、新建mysql数据及日志存放路径:

mkdir /data
cd /data
mkdir mysql
cd mysql
mkdir data  # 存放mysql数据

2.5、修改配置文件

有的话直接修改,没有就创建

touch /etc/my.cnf
vi /etc/my.cnf

配置如下

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
port = 3306  # 设置3306端口
socket=/data/mysql/mysql.sock  # 套接字保存路径
basedir=/zhenghuhu/software/mysql57  # 设置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

2.6、创建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.

密码为@zhh123

2.7、修改mysql目录权限,命令如下:

chown -R mysql:mysql /zhenghuhu/software/mysql57  # 修改mysql属主给mysql用户
chown -R mysql:mysql /data/mysql  # 修改data属主给mysql用户
chmod -R 755 /data/mysql /zhenghuhu/software/mysql57  # 写入权限

2.8、安装初始化mysql,命令如下

./bin/mysqld --user=mysql --basedir=/zhenghuhu/software/mysql57 --datadir=/zhenghuhu/software/mysql57/data --initialize

2.9、将mysql进程放入系统进程中,命令如下:

进入MySQL的解压目录,进入support-files

修改mysql.server文件,添加下面的内容

basedir=/zhenghuhu/software/mysql57
datadir=/zhenghuhu/software/mysql57/data
mysqld_pid_file_path=/data/mysql/mysql.pid

拷贝到/etc/init.d/mysqld

cp support-files/mysql.server /etc/init.d/mysql

2.10、查看初始化密码(在配置的data数据文件夹中)

cat /data/mysql/error.log

image-20211112220542058

I49GPG!:ryXe

2.11、启动mysql

service mysql start
service mysql start
service mysql stop
service mysql restart

进入MySQL安装目录(我的就是/zhenghuhu/software/mysql57/bin)

./mysql -uroot -p
输入密码:

3、重置root密码

3.1、编辑MySQL配置文件my.cnf

vi /etc/my.cnf 

#编辑文件,找到[mysqld],在下面添加一行skip-grant-tables

[mysqld]
skip-grant-tables

此出我没有设置root用户的密码,可以直接登录,如果像设置root密码,可以进行下面的操作

  1. 进入mysql
mysql -uroot -p
set password for root@localhost=password('你的密码');

如果修改成功,下面的直接忽略

3.2、修改MySQL数据库配置文件无密码登录后,修改密码报错:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

3.3、先执行:

flush privileges;

3.4、再执行修改密码命令,可以了:

set password for root@localhost=password('你的密码');

修改密码的三种形式

方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');

方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123

方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;

3.2、配置path

进入vi /etc/profile

在文尾添加:

export PATH=$PATH:/zhenghuhu/software/mysql57/bin

生效配置文件:

source /etc/profile

接下来MySQL可以随心所欲的启动

mysql -uroot -p

4、mysql服务开启远程访问

问题现象:使用mysql远程登录命令mysql –uroot –h192.168.1.102 –p时,报错MySQL ERROR 1130 (HY000): Host ‘XXXX’ is not allowed to connect to this MySQL server

问题原因:mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。

问题解决:登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%",然后重启mysql这样就允许所有的远程机器进行访问了。

  1. 修改mysql表
Copymysql -u root -p
mysql>use mysql;
mysql>update user set host='%' where user='root';
mysql>flush privileges;

mysql>select host, user from user;
mysql>quit
  1. 重启mysql
service mysql restart
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值