我是用Centos 6 64位安装mysql5.7.26
1.查看旧版本Mysql
[[email protected] ~]#rpm -qa |grep -i mysql
2.卸载已安装的MySQL,卸载mysql命令,如下:
[[email protected] ~]# rpm -e --nodeps mysql-connector-odbc-5.2.5-6.el7.x86_64
3.注意:
  检查一下系统是否存在 mariadb 数据库,如果有,一定要卸载掉,否则可能与 mysql 产生冲突
  检查是否安装了 mariadb:[[email protected] ~]# rpm -qa | grep mariadb,如果有就用同样的方法卸载
在这里插入图片描述
4.在mysql官网下载mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
在这里插入图片描述
在这里插入图片描述
5.用xftp6上传到linux /home/xyd
在这里插入图片描述
6.解压安装包
[[email protected] xyd]# tar -zvxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
在/usr/local 目录下创建文件夹存 mysql:
[[email protected] xyd]# mkdir /usr/local/msyql
将文件移动到 /usr/local 目录下,并重命名文件夹:
[[email protected] xyd]# mv mysql-5.7.26-linux-glibc2.12-x86_64/* /usr/local/mysql
[[email protected] xyd]# cd /usr/local/mysql
在这里插入图片描述
7.主目录权限处理
查看组和用户情况
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
若存在,则删除原mysql用户:userdel -r mysql,会删除其对应的组和用户。

8.创建mysql组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
在这里插入图片描述
9.创建配置文件及相关目录
修改配置文件:/etc/my.cnf,配置不对的话,后面初始化不全,会拿不到默认密码。
vim /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
socket=/tmp/mysql.sock

symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld/mysqld.pid
sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
log-bin=mysql-bin
binlog-format=ROW
server_id=1
max_connections=1000

init_connect=‘SET collation_connection = utf8_unicode_ci’
init_connect=‘SET NAMES utf8’
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

:wq 保存退出

10.创建文件/tmp/mysql.sock:设置用户组及用户,授权
cd /tmp
touch mysql.sock
chown mysql:mysql mysql.sock
chmod 755 mysql.sock

11创建文件/tmp/mysqld/mysqld.pid:
mkdir mysqld
cd mysqld
touch mysqld.pid
cd …
chown -R mysql:mysql mysqld
cd mysqld
chmod 755 mysqld.pid

12.创建文件/var/log/mysqld.log:
touch /var/log/mysqld.log
chown -R mysql:mysql /var/log
cd /var/log
chmod 755 mysqld.log

在这里插入图片描述
13.安装和初始化数据库
进入bin目录:
cd /usr/local/mysql/bin/

  1. 检查是否安装了 libaio
        rpm -qa | grep libaio
        若没有则安装
          版本检查:[[email protected] bin]# yum search libaio
          安装:[[email protected] bin]# yum -y install libaio

15.初始化数据库:
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql–datadir=/usr/local/mysql/data
报错:./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
解决:yum -y install numactl
在执行./mysqld --initialize --user=mysql --basedir=/usr/local/mysql–datadir=/usr/local/mysql/data
在这里插入图片描述
16.安全启动:
./mysqld_safe --user=mysql &
是否启动成功,可以通过查看mysql进程,ps -ef | grep mysql

17.默认密码在mysqld.log日志里, 找到后保存到安全的地方:
cat /var/log/mysqld.log
这一行:2019-07-09T15:06:10.928988Z 1 [Note] A temporary password is generated for [email protected]: jvFq=zqE39uR
其中[email protected]: 后面的就是默认密码,后面登录用.(如果找不到可能默认是空,登录时密码直接回车,否则可能安装有问题)
在这里插入图片描述
在这里插入图片描述
18.进入bin目录:
cd /usr/local/mysql/bin/
登录mysql:
./mysql -u root -p
拷贝或者输入mysqld.log中获得的默认密码,即可进入mysql命令客户端。
但是,若输入相关命令,则会提示你修改用户密码(注意后面一定要加;)。
show databases;
假设密码修改为root
mysql> set password=password(“root”);
在这里插入图片描述
在这里插入图片描述
19.创建远程连接 MySQL 的用户:
创建用户、密码及权限范围 第一个 roo t为用户名 @后为适用的主机,‘%’表示所有电脑都可以访问连接,第二个 root 为密码
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
立即生效
mysql> flush privileges;

20.使用 mysql 库
mysql> use mysql;

21.查看用户
mysql> SELECT DISTINCT CONCAT(‘User: [’, user, ‘’’@’’’, host, ‘];’) AS USER_HOST FROM user;

在这里插入图片描述
22.查看端口:
mysql> show global variables like ‘port’;
23.开启3306端口:
[[email protected] ~]# 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 ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,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 -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
在这里插入图片描述
注意:一定要加在后两行的前面

24.重启防火墙:
[[email protected] ~]# service iptables restart

相关文章: