软件:

mysql-5.7.27-el7-x86_64.tar.gz

安装依赖:

shell> yum search libaio  # search for info
shell> yum install libaio # install library

1.检查是否已经安装了mysql或者是MariaDB,如果已经安装,则先把安装的卸载:

rpm -qa | grep mysql
rpm -qa | grep mariadb

卸载举例:

yum -y remove mariadb-libs-5.5.56-2.el7.x86_64

2. 通过winSCP或者是Xftp等工具将安装包上传到CentOS上,并解压、重命名mysql安装目录 (建议解压到/usr/local)

[root@H1 local]#tar -xzvf mysql-5.7.27-el7-x86_64.tar.gz

mv mysql-5.7.24-linux-glibc2.12-x86_64 mysq #重命名

3.添加新的用户组和新的用户,用来管理mysql,提高安全性(非必要的,不过mysql官网安装步骤推荐这样做,这个步骤可以省略):

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

4.新建mysql的data目录:

cd mysql
[root@H1 mysql]# mkdir data

修改mysql目录用户为刚刚新建的mysql组中的mysql用户 #未创建可忽略

[root@H1 mysql]#chown -R mysql:mysql ./
或者chown -R mysql:mysql /usr/local/mysql/

5.初始化数据库:
初始化数据库的时候在页面会打印出mysql数据库的root账户的密码

[root@H1 mysql]#./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

密码所在

2019-11-15T04:34:51.525788Z 1 [Note] A temporary password is generated for root@localhost: 4fJjnxzz6P>n

密码是​​4fJjnxzz6P>n​

或者这样寻找密码:

grep ‘password’ /var/log/mysqld.log #仅对于yum安装有效

6.修改my.conf配置文件, 通过mysql官网可以知道,从版本5.7.18开始,mysql免安装版二进制包中就不包含该文件了,即不需要my.conf文件也可以正常运行;my.conf文件中配置的选项会在命令行启动mysql的时候作为参数进行启动,为了后面搭建mysql主从环境方便,下面可以添加了一个简单的my.conf文件作为实例(如果只是单纯的搭建一个mysql实例,可以直接忽略此步骤),使用vim /etc/my.conf命令,如果在该目录上不存在则会新建:

[root@H1 mysql]# mkdir log
vim /etc/my.conf  #建议直接放在/usr/local/mysql/support-files/

内容如下:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql #解压路径
datadir=/usr/local/mysql/data #data目录
socket=/usr/local/mysql/mysql.sock
#设置忽略大小写(简单来说就是sql语句是否严格),默认库名表名保存为小写, 不区分大小写
lower_case_table_names = 1
# 开启ip绑定
bind-address = 0.0.0.0
[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
#指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/local/software/mysql/mysql.sock
default-character-set=utf8

7.将mysql添加至开机启动:
创建配置以及修改:

[root@H1 mysql]#  cp ./support-files/mysql.server /etc/init.d/mysqld

修改mysqld,使用​​vim /etc/init.d/mysqld​​ 命令 修改以下代码部分

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

设置开机启动:

chkconfig --add mysqld

8.mysql已经算是安装完毕了,接下来使用以下命令启动mysql

service mysqld start

9. 为了可以在任意目录上都可以使用mysql命令登录mysql,将mysql安装目录配置到环境变量中,在/etc/profile文件的末尾添加以下代码

vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin

source /etc/profile

10.重启mysql服务, 并且使用mysql的root用户登录mysql,密码在第8步最后一行有

service mysqld restart

登录mysql-shell:

[root@H1 mysql] mysql -uroot -p

#前面得到的密码是​​4fJjnxzz6P>n​

修改root用户的密码为11080226,并且刷新:

mysql> alter user 'root'@'localhost' identified by '11080226';  #修改密码为11080226
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

11. 此时mysql数据库只能在本机上使用mysql命令进行登录,还无法使用navicat等数据库可视化工具进行远程登录,下面设置允许root用户远程连接数据库

mysql> use mysql;  #使用mysql用户,后续设置mysql用户下可使用可视化工具进行登录
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set user.Host='%' where user.User='root'; #设置 root用户可以远程访问
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[root@localhost mysql]#

登录成功后,打开名称为"mysql"的数据库(myql > show tables),查看"mysql"数据库的表(mysql > show tables),其中有一张user表是我们需要更新的。
当然,如果上面已经更新密码也可以了。

update user set authentication_string=password(‘123456’) where user=‘root’;

为了方便试验,此处已事先使用 ​​systemctl stop firewalld​​ 命令将防火墙关闭,在实际使用中,只需要开放数据库运行的3306端口即可。

  • 启动mysql服务:#service mysqld start
  • 停止mysql服务: #service mysqld stop
  • 重启mysql服务:#service mysqld restart
  • 查看状态:service mysqld status

12 创建ambari数据库及数据库的用户名和密码(如果要安装ambari的话)

set global validate_password_policy=0;
set global validate_password_length=1;
create database ambari character set utf8;
create user 'ambari'@'%' identified by 'ambari';
grant all privileges on ambari.* to 'ambari'@'%';
flush privileges;

13.创建hive数据库及hive库的用户名和密码(如果要安装hive的话)

set global validate_password_policy=0;
set global validate_password_length=1;
create database hive character set utf8;
create user 'hive'@'%' identified by 'hive'; #用户hive 的密码hive
grant all privileges on ambari.* to 'hive'@'%';
grant all privileges on hive.* to 'hive'@'%';
flush privileges;

官方推荐安装步骤:

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

​mysql安装–官网参考​

如果忘记密码,可修改​​/etc/my.cnf​​​文件,在​​[mysqld]​​​下方添加​​skip-grant-tables​​,意思是跳过权限表的校验,可以免密登录,然后修改密码。

欢迎加入QQ群一起学习和交流,只为学习和交流:275259334