1. 如果不是初次安装,请先卸载已安装的mysql
1> 杀进程
ps -ef | grep mysql
kill -9 (mysql进程pid)
2>.查看mysql的安装情况
rpm -qa|grep -i mysql
3>.停止mysql服务,删除mysql
rpm -ev mysql-5.1.73-8.el6_8.x86_64
rpm -ev mysql-libs-5.1.73-8.el6_8.x86_64
注意:可能会抛依赖错误错 error:Failed dependencies,则加上 --nodeps不检查依赖关系删除,命令如下:
rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64
4>.删除遗留的mysql文件和依赖库
find / -name mysql
rm -rf /var/lib/mysql
5>.mysql 配置文件还要手动删除
rm -rf /etc/my.cnf
6>.检查mysql 是否成功删除
rpm -qa|grep -i mysql
2. 安装mysql5.7(rpm方式)
1. 准备工作
[root@VM-12-4-centos /]# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm #这个网址可以直接复制使用也可以去 mysql 官网找。
[root@VM-12-4-centos /]# yum localinstall mysql57-community-release-el7-8.noarch.rpm #将mysql 加入 yum 源
[root@VM-12-4-centos /]# yum repolist enabled | grep "mysql.*-community.*" #查看 mysql 源
2. 安装
[root@VM-12-4-centos /]# yum install mysql-community-server #安装、等待
[root@VM-12-4-centos /]# systemctl start mysqld #启动服务
[root@VM-12-4-centos /]# systemctl status mysqld #查看状态
[root@VM-12-4-centos /]# systemctl enable mysqld
[root@VM-12-4-centos /]# systemctl daemon-reload #开机启动
[root@VM-12-4-centos /]# grep 'temporary password' /var/log/mysqld.log #查看初始密码
2019-07-08T09:38:17.049056Z 1 [Note] A temporary password is generated for root@localhost: b,E+i>Sd+2*, #最后面的字符就是 MySQL 的初始密码
3. 登入、操作
[root@VM-12-4-centos /]# mysql -uroot -p #登录 mysql
Enter password: #这里输入上面查询到的初始密码就行
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你要改的密码'; #修改密码
4.打开 MySQL 远程连接功能:
mysql> use mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO '账号'@'%' IDENTIFIED BY '密码'; 执行此命令即可,账号密码用自己的 mysql 账号密码
mysql> flush privileges; 刷新权限
mysql> select User,authentication_string,Host from user ; 查询用户表
+---------------+-------------------------------------------+-----------+
| User | authentication_string | Host |
+---------------+-------------------------------------------+-----------+
| root | *EEE371AF14C5B26223BF194DF260E7E5460981DD | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| root | *EEE371AF14C5B26223BF194DF260E7E5460981DD | % |
+---------------+-------------------------------------------+-----------+
5. 启用3306端口
[root@VM-12-4-centos /]# firewall-cmd --permanent --zone=public --add-port=3306/tcp
success
[root@VM-12-4-centos /]# firewall-cmd --reload
success
3. 安装mysql5.7(压缩包)
工具:mysql-5.7.36-el7-x86_64.tar.gz
1: 检查linux是否安装了mariadb数据库,mariadb和msyql会有冲突,首先要检查安装了mariadb, 卸载掉。
检查命令:yum list installed | grep mariadb
卸载命令:yum –y remove xxxx
*如果卸载不成功,需要去掉参数-y,手动确认卸载。
补充:安装依赖包:yum install -y libaio
yum -y install numactl
2: 在/usr/local/下安装,解压mysql-5.7.36-el7-x86_64.tar.gz 改名为mysql-5.7.36
执行命令:mv mysql-5.7.36-el7-x86_64 mysql-5.7.36
3:在/mysql-5.7.36目录下创建data
执行命令:mkdir data
4:创建用来执行mysql命令用户,用来执行MySQL的命令mysqld ,此命令用来初始化msyql基础信息。
执行命令:groupadd mysql
执行命令:useradd -g mysql mysql
5:赋予目录权限
执行命令:chown -R mysql:mysql /usr/local/mysql-5.7.36/(修改mysql安装根目录所属用户和组)
chmod 777 /usr/local/mysql-5.7.36/(修改mysql安装目录的访问权限)
6:配置my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql-5.7.36
datadir=/usr/local/mysql-5.7.36/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql-5.7.36/data/mysql.err
pid-file=/usr/local/mysql-5.7.36/data/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
7:进入mysql-5.7.36的bin目录下执行初始化命令
执行命令: ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.36/ --datadir=/usr/local/mysql-5.7.36/data/ --user=mysql --initialize
8:查看mysql初始密码
执行命令:cat /usr/local/mysql-5.7.36/data/mysql.err
9:将mysql启动服务开启
执行命令:cp /usr/local/mysql-5.7.36/support-files/mysql.server /etc/init.d/mysql
10:启动mysql
执行命令:service mysql start 或 systemctl start mysql
如果报 --bash ....
ln -s /usr/local/mysql-5.7.36/bin/mysql /usr/bin/ (这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件)
11:登录进入mysql,在mysql-5.7.36/bin目录下
执行命令:./mysql -uroot -p
12:输入上面系统生成密码
13:输入sql语句:show databases; 是无法使用的,因为上面密码是临时生成的必须更改才能使用
14:输入sql语句:alter user 'root'@'localhost' identified by '199243';
命令语法:alter user '用户名'@'主机域名或ip' identified by '新密码'
15:授权远程访问,在没有授权之前只能在本机访问msyql,远程授权就是让其他计算机通过网络访问mysql
执行sql语句:grant all privileges on *.* to root@'%' identified by '199243';
16:更新权限信息,执行flush刷新权限
执行sql语句:flush privileges;
17:跟tomcat一样开启防火墙端口(mysql端口3306)或者关闭防火墙就可以用navicat远程登录