mysql 下载地址: https://dev.mysql.com/downloads/mysql/https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 创建安装目录: mkdir -p /application 上传文件/application tar zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /application/ cd /application/ mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql 原则上,需要将数据,日志,独立存储。 mysql 分为两部分 软件部分: /application/mysql 数据部分:(虚拟机再添加一块盘,进行挂载) /dev/sdb------>/data/ /data/mysql/data 在/data 下面,再创建两层目录 ++++++++++++++++++++++ 创建用户和处理原始环境: rpm -qa|grep mariadb
yum remove mariadb* -y useradd -s /sbin/nologin mysql 设置环境变量: vim /etc/profile export PATH=/application/mysql/bin:$PATH 保存退出。 source /etc/profile
++++++ 创建 数据部分 直接格式化先前添加的硬盘
挂载: mkdir -p /data
vim /etc/fstab
mount -a 目录授权: chown -R mysql.mysql /application/* chown -R mysql.mysql /data 初始化数据:(创建系统数据,维持mysql正常运行的数据)
mysql 5.7 mkdir -p /data/mysql/data chown -R mysql.mysql /data mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
![]()
++++++++ 如果报错: libaio.so.1: cannot open shared yum install libaio-devel -y mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data 这个初始化命令,就不会生成临时密码,和原来的5.5一样,直接输入mysql就可以登录。
5.7 配置文件准备 cat >/etc/my.cnf <<EOF [mysqld] user=mysql basedir=/application/mysql datadir=/data/mysql/data socket=/tmp/mysql.sock server_id=6 port=3306 [mysql] socket=/tmp/mysql.sock EOF ===== 以上是基础配置文件,先启动mysql 启动 数据库 两种方法:(兼容 centos 6中的mysql 启动方法) 1)sys-v --- service 方式 cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld service mysqld start 2)systemd --- systemctl 方式 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=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 EOF ++++++++ 其余内容为官方文档的写法,不需要更改。 如何分析mysql 启动不了的情况 所有mysql 启动不了的报错信息都是如下内容:
模拟数据库故障:
看日志,默认情况下,mysql 的错误日志,在数据目录下面,就是 datadir=这里写的目录 命名规则为,主机名.err
![]()
修改权限,就可以启动了。
/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf 会把启动过程,打印到屏幕上,包括错误信息。 ++++++++++++ 管理员密码的设定: mysqladmin -uroot -p password oldboy123 ----->第一次修改直接回车,因为先前的密码为空。 再次修改的时候,就需要输入,老的密码。 *** 忘记本地数据库管理员密码密码: 启动到,数据库的维护模式: mysqld_safe --skip-grant-tables --skip-networking & --skip-networking 不允许远程登录
可以把这个参数,写在my.cnf [mysqld]下面 也可以用 命令加上这两个参数: 1、先关闭数据库: systemctl stop mysqld 2、进入维护模式 mysqld_safe --skip-grant-tables --skip-networking & 3、登录数据库 mysql 直接回车
![]()
![]()
正常关闭数据库,再启动数据库。