二进制安装MySQL
MySQL各版本官网下载:https://downloads.mysql.com/archives/community/
mysqlyum源下载地址: https://dev.mysql.com/downloads/repo/yum/
1.检查服务器是否安装mariadb,有就卸载
[root@mysql tools]# rpm -qa|grep mariadb mariadb-libs-5.5.56-2.el7.x86_64 [root@mysql tools]# yum -y remove mariadb-libs.x86_64
2.解压二进制包,修改名称
[root@mysql tools]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz [root@mysql tools]# ll total 629756 drwxr-xr-x 9 root root 129 Mar 6 06:05 mysql-5.7.26-linux-glibc2.12-x86_64 -rw-r--r-- 1 root root 644869837 Mar 6 06:05 mysql-5.7.26-linux-glibc2.12-x86_64.tar [root@mysql tools]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql
3.配置系统变量
[root@mysql tools]# vim /etc/profile
export PATH=/server/tools/mysql/bin:$PATH
[root@mysql tools]# source /etc/profile
4.创建MySQL系统用户
[root@mysql tools]# groupadd mysql [root@mysql tools]# useradd -M -r -g mysql -s /sbin/nologin mysql [root@mysql tools]# id mysql uid=991(mysql) gid=1001(mysql) groups=1001(mysql)
5.给mysql安装目录授权
[root@mysql tools]# chown -R mysql.mysql mysql [root@mysql tools]# ll total 629756 drwxr-xr-x 9 mysql mysql 129 Mar 6 06:05 mysql [root@mysql tools]# chown -R mysql.mysql /data/
6.生成启动MySQL脚本
cp -a /xxx/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig mysqld on
chkconfig --list mysqld
7.编写mysql的配置文件
cat >/etc/my.cnf <<x
[mysqld]
user=mysql
basedir=/server/tools/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
> x
cat >/etc/my.cnf <<x [mysqld] user=mysql basedir=/server/tools/mysql datadir=/data/mysql/data socket=/tmp/mysql.sock server_id=6 port=3306 [mysql] socket=/tmp/mysql.sock > x
8.初始化数据库
5.6版本:/xxx/xxx/xx/mysql_install_db
5.7版本:mysqld --initialize --user=mysql --basedir=/server/tools/mysql --datadir=/data/mysql/data
安装libaio-devel这个包,不然初始化不了
[root@mysql tools]# yum -y install libaio-devel
进行初始化数据库
[root@mysql tools]# mysqld --initialize --user=mysql --basedir=/server/tools/mysql --datadir=/data/mysql/data
2020-03-05T22:49:14.387430Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-03-05T22:49:14.388597Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2020-03-05T22:49:14.388620Z 0 [ERROR] Aborting
要是初始化失败,重新进行初始化,删除指定的数据库存储目录内的内容
[root@mysql tools]# rm -rf /data/mysql/data/*
再次进行初始化,提示成功,并且还提示了临时密码
[root@mysql tools]# mysqld --initialize --user=mysql --basedir=/server/tools/mysql --datadir=/data/mysql/data
2020-03-05T22:51:04.053437Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-03-05T22:51:04.200400Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-03-05T22:51:04.228310Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-03-05T22:51:04.285055Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: cb0d7aad-5f33-11ea-8bd6-000c2912167e.
2020-03-05T22:51:04.286356Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-03-05T22:51:04.287563Z 1 [Note] A temporary password is generated for root@localhost: 8pkZ5V_1soN
这个临时密码默认保存180天,mysql5.7里12为密码,过于复杂,我们要是开始就可以不用输入密码直接登陆mysql,后进行自己配置简易密码,可以追加一个参数--initialize-insecure,来实现无临时密码登陆
[root@mysql tools]# rm -rf /data/mysql/data/*
[root@mysql tools]# mysqld --initialize-insecure --basedir=/server/tools/mysql --datadir=/data/mysql/data
2020-03-05T22:57:17.284079Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-03-05T22:57:17.432138Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-03-05T22:57:17.463391Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-03-05T22:57:17.519438Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: a98486ac-5f34-11ea-98f9-000c2912167e.
2020-03-05T22:57:17.520133Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-03-05T22:57:17.520922Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
启动数据库
[root@mysql ~]# systemctl start mysqld [root@mysql ~]# netstat -lntup|grep mysqld tcp6 0 0 :::3306 :::* LISTEN 8788/mysqld [root@mysql ~]# systemctl status mysqld ● mysqld.service - LSB: start and stop MySQL Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled) Active: active (running) since Fri 2020-03-06 09:50:35 CST; 48min ago Docs: man:systemd-sysv-generator(8) Process: 8607 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS) CGroup: /system.slice/mysqld.service ├─8622 /bin/sh /server/tools/mysql/bin/mysqld_safe --datadir=/data/mysql/data --pid-file=/data... └─8788 /server/tools/mysql/bin/mysqld --basedir=/server/tools/mysql --datadir=/data/mysql/data... Mar 06 09:50:34 mysql systemd[1]: Starting LSB: start and stop MySQL... Mar 06 09:50:34 mysql mysqld[8607]: Starting MySQL.Logging to '/data/mysql/data/mysql.err'. Mar 06 09:50:35 mysql mysqld[8607]: SUCCESS! Mar 06 09:50:35 mysql systemd[1]: Started LSB: start and stop MySQL.

评论