于2021年1月16日重新编辑
于2021年4月2日重新编辑
mysql下载
下载mysql5.7.26版本
MySQL安装
安装rz工具
#上传下载好的mysql压缩包
$ yum install -y lrzsz
$ rz -be
解压mysql压缩包
#解压mysql,需要注意磁盘空间是否足够,空间不足解压会缺失部分文件
$ mkdir /usr/local/mysql-5.7.26
#创建mysql数据存储目录data
$ mkdir /usr/local/mysql-5.7.26/data
$ tar -zvxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql-5.7.26/
创建管理mysql的用户跟用户组
$ groupadd mysql
#-M不创建加目录,-s /sbin/nologin不允许登录,-r创建的是系统用户,-g指定用户组
$ useradd -M -s /sbin/nologin -r -g mysql mysql
#查看是否添加成功
$ groups mysql
#修改mysql目录的拥有者为mysql
$ cd /usr/local
$ chown -R mysql:mysql mysql-5.7.26/
设置环境变量
$ vim /etc/profile
export PATH=/usr/local/mysql-5.7.26/bin:$PATH
source /etc/profile
初始化mysql
#执行完毕后,注意输出信息的最后一行是root的初始密码,一定要记住!(root@localhost: -yG5:sl;Ylh-)
$ /usr/local/mysql-5.7.26/bin/mysqld --initialize --user=mysql \\
--basedir=/usr/local/mysql-5.7.26/ \\
--datadir=/usr/local/mysql-5.7.26/data/
修改mysql目录所有者
#修改mysql目录所有者为root用户,data目录所有者为MySQL
$ chown -R root:root /usr/local/mysql-5.7.26 && chown -R \\
> mysql:mysql /usr/local/mysql-5.7.26/data
编辑配置文件
$ cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/usr/local/mysql-5.7.26 #根据实际情况修改路径
datadir=/usr/local/mysql-5.7.26/data #根据实际情况修改路径
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
使用sysv方式启动数据库
$ cp /usr/local/mysql-5.7.26/support-files/mysql.server /etc/init.d/mysqld
$ chmod +x /etc/init.d/mysqld
$ vim /etc/init.d/mysqld
basedir=/usr/local/mysql-5.7.26 #在第46~47行
datadir=/usr/local/mysql-5.7.26/data #注意此行需要根据实际情况修改路径
#启动数据库
$ /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
#重启数据库
$ service mysqld restart
$ /etc/init.d/mysqld restart
使用systemd方式启动数据库
$ cat >/etc/systemd/system/mysqld.service <<EOF
[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-5.7.26/bin/mysqld --defaults-file=/etc/my.cnf #根据实际情况修改路径
LimitNOFILE = 5000
EOF
$ systemctl daemon-reload
#启动数据库
$ systemctl start mysqld
访问数据库
无密码访问
#删除data目录下的内容
$ rm -rf /usr/local/mysql-5.7.26/data/*
$ mysqld --initialize-insecure --user=mysql \\
> --basedir=/usr/local/mysql-5.7.26/ \\
> --datadir=/usr/local/mysql-5.7.26/data
$ systemctl restart mysqld
#输入密码那一行直接回车即可
$ mysql -uroot -p
Enter password:
说明:
--initialize-insecure参数:无限制,无临时密码
--basedir:软件存放位置
--datadir:数据存放路径
使用临时密码访问
注意需要在密码上加单引号
$ mysql -uroot -p\'-yG5:sl;Ylh-\'
判断数据库服务是否启动
$ netstat -lnp|grep 3306
$ ps -ef |grep 3306
$ ps -ef |grep mysql
其他
移除系统原有的maridb
$ rpm -qa|grep mariadb
$ rpm -qa | grep mysql
$ yum remove -y mariadb-libs-5.5.64-1.el7.x86_64
安装依赖包
$ rpm -qa | grep libaio
$ yum -y install libaio
生产环境中为了数据库数据存储方便,可能会单独挂载用于存储数据库数据的硬盘,在此附上格式化硬盘操作方式
$ fdisk /dev/sdb
#查看
$ blkid
$ lsblk
#格式化或者-f强制格式化
$ mkfs.xfs /dev/sdb1
#挂载
$ mkdir /mnt/mysql_data
$ vim /etc/fstab
/dev/sdb1 /mnt/mysql_data xfs defaults 0 0
$ mount -a
$ df -h
学习来自:夜舞倾城博客,老男孩深标DBA课程 第一章