下载安装MySQL及其中常见问题

一、MySQL安装及配置
1.下载Mysql
安装版本:mysql-5.7.11-linux-glibc2.5-x86_64.tar
2.上传mysql安装包至Linux上的/opt目录下
3.检查是否安装了MySQL组件
rpm -qa | grep mysql //查看该操作系统上是否已经安装了MySQL组件
若上一步查询出来存在MySQL组件,卸载之,需在root权限下操作
rpm -e --nodeps mysql //卸载上一步查询出来的MySQL组件
rpm -qa | grep mysql //卸载完了再检查一下
4.创建msyql的用户及用户组
userdel mysql //删除用户
groupdel mysql //删除用户组
groupadd mysql //创建名为mysql的用户组
useradd -g mysql mysql //在用户组mysql下创建名为mysql的用户
5.解压安装包,将解压包里的内容拷贝至mysql的安装目录/app/MySQL
cd /opt
tar -xvf mysql-5.7.11-linux-glibc2.5-x86_64.tar
tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
cp -r mysql-5.7.11-linux-glibc2.5-x86_64 /app/MySQL
6.初始化mysql数据库(切换mysql用户操作)
cd /app/MySQL
./bin/mysqld --user=mysql --basedir=/app/MySQL --datadir=/app/mysqldata --initialize
成功后这里最下面出现一个随机密码,在修改密码时要用到,请先保存。

7.创建软连接
ln -s /app/MySQL/bin/mysql /usr/bin/mysql
8.创建配置文件
cd /app/MySQL/support-files //进入mysql的安装目录支持文件目录
cp my-default.cnf /etc/my.cnf //拷贝配置文件模板为新的mysql配置文件
设置mysql配置参数:字符集,basedir,datadir等
vim /etc/my.cnf
在配置文件中添加以下内容:
[mysqld]
basedir=/app/MySQL
datadir=/app/mysqldata
user=mysql
character-set-server=utf8
log_error=/var/log/mysqld.log
log_timestamps=SYSTEM //mysql5.7.2中控制error_log,general_log等日志的时间显示为本地时,默认UTC
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
default-character-set=utf8
重启MySQL服务,使配置生效
[root@Slave5 ~]#service mysql restart

注:如需要审计,则在配置文件中添加以下内容
[mysqld]
log_timestamps=SYSTEM
general_log=ON
general_log_file=/app/mysqldata/generalLog.log

9.配置mysql服务开机自动启动
创建并配置启动脚本
cp /app/MySQL/support-files/mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql
在文件中指定basedir和datadir目录路径
basedir =/app/MySQL
datadir=/app/mysqldata
设置开机启动
chkconfig mysql on //设置开机启动
10.mysql服务的启动/重启/停止
这一步只需启动mysql服务即可
service mysql start //启动服务
service mysql restart //重启服务
service mysql stop //停止服务
11.初始化mysql用户root的密码
su mysql
mysql -u root -p
输入第6步的随机密码登录mysql
use mysql
set password for root@localhost=password(‘新密码’);
若无法进入mysql或更改不了密码则操作以下步骤
步骤如下:
① 打开配置文件/etc/my.cnf,在mysqld下添加一行skip-grant-tables,如下:
[mysqld]
#…
skip-grant-tables
#…
这样我们就可以免密登录MySQL了。
然后保存并退出。
② 重启MySQL
这两个命令2选1:
$ sudo systemctl restart mysqld
$ sudo service mysqld restart
③ 终端输入 mysql 直接登录MySQL数据库:
$ mysql
成功进入mysql
切换到MySQL系统库mysql:
mysql> use mysql;
④ 重置root密码
update user set authentication_string=password(‘新密码’) where user=‘root’;
这样,我们就已经修改密码成功了。
⑤ 修改 /etc/my.cnf 文件,将之前添加的skip-grant-tables 这句话注释掉。
不然我们仍然还是免密的方式登录Mysql。
⑥ 再次重启MySQL就大功告成了。
12.设置mysql远程授权
mysql -u root -p
use mysql
grant all privileges on . to ‘root’@’%’ identified by ‘123456’;
flush privileges;
13.配置防火墙
[root@Slave5 ~]# service iptables status //查看防火墙状态
[root@Slave5 ~]# service iptables start //开启防护墙
[root@Slave5 ~]# vim /etc/sysconfig/iptables //配置防护墙
#Firewall configuration written by system-config-firewall
#Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP[0:0]
:OUTPUTDROP[0:0]
#新添加防护墙策略
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
-A INPUT -s 192.168.1.1 -p tcp --dport 3306 -j ACCEPT(只允许IP为192.168.1.1的3306端口通过防火墙)
-A INPUT -m state --stateESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
[root@Slave5 ~]#service iptables restart //重启服务器使配置生效
[root@Slave5 ~]#iptables–L –nv//查看防火墙配置情况
14.用数据库连接工具测试mysql是否安装成功
输入连接名,IP,端口,用户名,密码后点击连接测试,若提示连接成功,则表明mysql安装成功。
15.修改主机密码
密码位数建议设置为最低12位,至少一个大写字母,至少一个小写字母,至少一个数字,至少一个特殊字符。
[root@Slave5 ~]#passwd
Changing password for user root.
New password: //此处键入新密码
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password: //此处重新键入新密码
passwd: all authentication tokens updated successfully.
16.修改主机名
永久修改主机名(重启后生效)
[root@Slave5 ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Slave5.Hadoop//此处将Slave5.Hadoop替换为对应主机名
[root@Slave5 ~]#init 6 //重启主机

你可能感兴趣的:(学习过程总结)