CentOS二进制安装Mysql
最后更新于:2023-04-14 11:12:58
Mysql官网:
https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/
5.7.34下载地址:
官方文档:
https://dev.mysql.com/doc/refman/5.7/en/
【一】安装vim ,vi不能使用中文,故安装vim
安装vim
yum -y install vim*
用命令查看是否安装vim 这是已安装 显示5行
rpm -qa|grep vim
配置vim
vim /etc/vimrc
打开文件后,按 i 进入编辑模式,然后找一个位置添加如下代码
set nu #设置显示行号
set showmode #设置在命令行界面最下面显示当前模式等
set ruler #在右下角显示光标所在的行数等信息
set autoindent #设置每次单击Enter键后,光标移动到下一行时与上一行的起始字符对齐
syntax on #即设置语法检测,当编辑C或者Shell脚本时,关键字会用特殊颜色显示
添加好了之后,按Esc,然后输入
:wq
退出并保存即可
【二】配置mysql环境准备
配置yum源
cd /etc/yum.repos.d/
wget http://mirrors.aliyun.com/repo/epel-7.repo
yum clear all
yum makecache
yum -y install lrzsz net-tools
1、删除CentOS自带的mysql
rpm -qa | grep mariadb
rpm –e --nodeps mariadb*
rpm -qa | grep mysql
rpm –e --nodeps *mysql*
[rpm –e --nodeps mariadb-libs-5.5.68-1.el7.x86_64]
2、安装依赖包
rpm -qa | grep libaio
yum install libaio
yum install numactl
3、关闭防火墙和SELINUX
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
firewall-cmd --state #查看默认防火墙状态
systemctl disable firewalld.service #禁止firewall开机启动
vim /etc/sysconfig/selinux
SELINUX=disabled
【三】开始安装mysql
使用二进制安装包须使用root账号或者拥有sudo权限
1、上传下载的mysql安装包
cd /usr/local/src
rz 选择下载后的mysql包
2.、解压,将文件夹重命名为mysql:
tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql
3.、添加用户组和用户
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -r -g mysql -s /sbin/nologin mysql
4、 创建数据存放路径并授权目录下的data mysql文件夹
cd /usr/local
chown -R mysql:mysql mysql
cd /usr/local/mysql
mkdir data
chown -R mysql:mysql data
cd /usr/local/mysql
mkdir log
chown -R mysql:mysql log
5、加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
vim /etc/profile
添加mysql路径,加入下面内容,按ESC-->:wq保存
export PATH=$PATH:/usr/local/mysql/bin
刷新立即生效
source /etc/profile
6、初始化mysql [参数--initialize-insecure 则不生成临时密码]推荐用这种方式
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
7、配置参数文件my.cnf
vim /etc/my.cnf
[mysql]
default-character-set=utf8
socket=/tmp/mysql.sock
[mysqld]
port = 3306
socket=/tmp/mysql.sock
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
character-set-server=utf8
default-storage-engine=INNODB
innodb_buffer_pool_size = 200M
max_allowed_packet=16M
explicit_defaults_for_timestamp=1
log-output=FILE
general_log = 0
general_log_file=/usr/local/mysql/log/general.err
slow_query_log = ON
slow_query_log_file=/usr/local/mysql/log/query.err
long_query_time=10
log-error=/usr/local/mysql/log/error.err
8、配置systemd的mysql启动文件
vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 65536
LimitNPROC = 65536
9、设置mysql服务开机自启动
systemctl enable mysqld.service
重启mysql服务
systemctl restart mysqld.service
查看mysql服务当前状态
systemctl status mysqld.service
10、修改root用户密码,赋予远程访问权限,就可以使用了
mysql -uroot -p
密码为空,直接敲回车即可
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'z1024789';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'z1024789' WITH GRANT OPTION;
mysql> flush privileges;
退出mysql
quit 或者 exit
重启mysql服务
systemctl restart mysqld.service
11、调试命令 会直接把错误信息输出到屏幕上
mysqld –default-file=/etc/my.cnf
12、设定及修改管理员密码:
mysqladmin –uroot –p password 要设置的密码
Enter password: #因为我们数据库现在没有密码,所以直接回车即可
mysqladmin –uroot –p password 新密码
Enter password:输入旧密码
13、管理员用户密码忘了怎么办?
①关闭数据库
systemctl stop mysqld
②启动数据库到维护模式
mysqld_safe --skip-grant-tables --skip-networking &
③登录并修改密码
mysql
mysql> flush privileges;
mysql> alter user root@’localhost’ identified by ‘密码’;
mysql> exit
④启动数据库,正常启动验证
systemclt restart mysqld
mysql –uroot –p密码