该文记录的是基于GLIBC二进制版本的安装方式:
1 下载安装包
mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
mysql官网下载即可
安装过程
解压缩,然后作软链接。
ln -s mysql-5.7.33-linux-glibc2.12-x86_64 mysql
这个命令,不在同一目录,有时候通过不了。
在这里这样映射的目的是为了后面升级mysql版本
在/data目录下,创建mysqldata目录,用作mysql的数据文件所在目录
然后开始初始化
这里遇到了报错。看意思是没有default_file这样的参数吗?
不是,是因为这里应该是defaluts-file
删除刚才过程中生成的文件,抛弃这个参数defaluts-file
[root@localhost bin]# rm -rf /data/mysqldata/*
初始化
[root@localhost bin]# ./mysqld --initialize --basedir=/data/mysql --datadir=/data/mysqldata --user=mysql --explicit_defaults_for_timestamp
成功后会生成临时密码
2021-05-11T03:34:27.294145Z 1 [Note] A temporary password is generated for root@localhost: bwa3nAfcv?iu
修改mysql.server文件的参数
启动
制作启动脚本,启动mysql
cp mysql.server /etc/init.d/mysqld
service mysqld start
环境变量
修改root用户的环境变量
登录
修改默认密码
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user ‘root’@‘localhost’ identified by ‘abc.123’;
Query OK, 0 rows affected (0.00 sec)
mysql> alter user ‘root’@‘localhost’ identified by ‘abc.123’;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
这里注意一下mysql的默认级别RR,即可重复读。
补充说明
默认读的参数文件是 /etc/my.cnf文件。这里可以查看下相关的配置是否生效的的问题
mysql> show variables like 'gtid_mode'
-> ;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| gtid_mode | ON |
+---------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'binlog_format'
-> ;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW |
+---------------+-------+
1 row in set (0.01 sec)
创建一个权限比较大的超管用户,测试环境可以给大点。
mysql> CREATE USER 'hdp'@'%' IDENTIFIED BY 'abc.123';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on *.* to 'hdp'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
navicat测试下登录情况
创建用户时可以将mysql创建为不能登录系统的账户,权限较小,主要是为了安全。
useradd -r mysql -s /sbin/nologin
如果想让mysql服务开机自动启动
chkconfig --add mysqld
chkconfig --list mysqld
mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
如果想用网络开关的方式登录(只能在本地登录),可以配置socket文件
mysql -uroot -pabc.123 -S /tmp/mysql.sock
-S /tmp/mysql.sock 可以省略