软件:
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
设置开机启动:
8.mysql已经算是安装完毕了,接下来使用以下命令启动mysql
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步最后一行有
登录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