目录
安装mysql8
安装mysql5.6
安装mysql5.7
一、安装mysql8
基本命令
安装 : yum install mysql-community-server
启动 : service mysqld start/restart
停止 : service mysqld stop
查看状态: service mysqld status
本文包括: mysql安装 修改密码 开启远程访问 忘记密码后重置密码 卸载mysql
【安装步骤】
contos7默认安装了mariadb数据库,这里把他移除:yum remove mariadb-libs.x86_64
创建文件目录 mkdir /etc/mysql
获取下载链接
4. 在该目录下 下载刚刚的安装链接。wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
下载完成后,会得到这个文件名,直接yum localinstall把它添加到本地。
5. 这时可以先看添加成功没有 yum search mysql
6. 安装:yum install mysql-community-server
启动测试: service mysqld start service mysqld status
【修改密码】
1. 刚刚启动成功之后, 用命令查看默认密码并且登录
查看:cat /var/log/mysqld.log | grep password
登陆:mysql -u root -p
然后输入上图中的密码
2. 修改密码
(1)先修改初始密码
ALTER USER "root"@"localhost" IDENTIFIED BY "Root#1234"; // 新密码为 Root#1234
(2)再设置mysql全局变量使他支持简单密码
set global validate_password.policy=0;
set global validate_password.length=1;
(3)最后将密码设置为简单密码
ALTER USER "root"@"localhost" IDENTIFIED BY "1234"; // 新密码为 1234
3. exit 退出
【授权远程访问】
首先确保关闭了防火墙 并重启mysql。
mysql -u root -p
然后输入密码即可登录
- 选择数据库
use mysql
- 查看用户表
select host, user, plugin from user;
可以看到root用户的host为localhost,表示root用户没法远程连接。
需要新增一条记录:host为%,user为root;
(1)新增用户
CREATE USER `root`@`%` IDENTIFIED BY '1234';
(2)授权
GRANT ALL ON *.* TO `root`@`%` WITH GRANT OPTION;
(3)刷新权限
FLUSH PRIVILEGES;
【更改连接的密码校验方式】
caching_sha2_password
加密方式在远程访问时候不支持。
需要改成:mysql_native_password
(1)更改连接方式
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
Query OK, 0 rows affected (0.09 sec)
mysql> select host,user,plugin from user;
+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| % | root | mysql_native_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
+-----------+------------------+-----------------------+
4 rows in set (0.00 sec)
mysql>
(2)刷新权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.04 sec)
mysql>
(3)远程连接
【卸载mysql】
首先 , 停止mysql service mysqld stop
总共分两步: 1.卸载mysql组件 2.删除相关文件夹
【第一步卸载mysql组件】
【 查看MySQL组件 】
[root@localhost ~]# rpm -qa | grep -i mysql
mysql-community-libs-8.0.12-1.el7.x86_64
mysql-community-common-8.0.12-1.el7.x86_64
mysql-community-client-8.0.12-1.el7.x86_64
mysql-community-server-8.0.12-1.el7.x86_64
【删除】
[root@localhost ~]# rpm -ev mysql-community-server-8.0.12-1.el7.x86_64
Preparing packages...
mysql-community-server-8.0.12-1.el7.x86_64
warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave
【删除】
[root@localhost ~]# rpm -ev mysql-community-client-8.0.12-1.el7.x86_64
Preparing packages...
mysql-community-client-8.0.12-1.el7.x86_64
【删除失败】
[root@localhost ~]# rpm -ev mysql-community-common-8.0.12-1.el7.x86_64
error: Failed dependencies:
mysql-community-common(x86-64) >= 8.0.0 is needed by (installed) mysql-community-libs-8.0.12-1.el7.x86_64
【继续查看】
[root@localhost ~]# rpm -qa | grep -i mysql
mysql-community-libs-8.0.12-1.el7.x86_64
mysql-community-common-8.0.12-1.el7.x86_64
【删除】
[root@localhost ~]# rpm -e --noscripts mysql-community-libs-8.0.12-1.el7.x86_64
[root@localhost ~]#
【删除】
[root@localhost ~]# rpm -e --noscripts mysql-community-common-8.0.12-1.el7.x86_64
[root@localhost ~]#
【查看】
[root@localhost ~]# rpm -qa | grep -i mysql
[root@localhost ~]#
【第二步:删除相关目录】
【查看】
[root@localhost ~]# find / -name mysql
/etc/mysql
/etc/selinux/targeted/active/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
【删除】
[root@localhost ~]# rm -rf /etc/mysql
[root@localhost ~]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
[root@localhost ~]# rm -rf /var/lib/mysql
[root@localhost ~]# find / -name mysql
【再次检查,什么都没有说明卸载成功了】
[root@localhost ~]# rpm -qa | grep -i mysql
[root@localhost ~]#
二、安装mysql5.6
- 下载mysql https://dev.mysql.com/downloads/mysql/5.6.html#downloads
2. 上传解压
3. 删除安装包, 重命名解压后的文件
4. 先检查是否有mysql用户组和mysql用户,没有就添加有就忽略: groups mysql
添加用户组和用户 groupadd mysql && useradd -r -g mysql mysql
5. 进入mysql目录修改权限 cd mysql/ chown -R mysql:mysql ./
6. 安装依赖库 yum -y install autoconf && yum install libaio* -y && yum -y install numactl
-
执行安装脚本 ./scripts/mysql_install_db --user=mysql
-
脚本安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为mysql
chown -R root:root ./ && chown -R mysql:mysql data
9. 创建默认日志文件 mkdir /var/log/mariadb && touch /var/log/mariadb/mariadb.log
-
my.cnf设置为用户可读写,其他用户不可写 。 chmod 644 /usr/local/mysql/my.cnf
-
启动mysql ./support-files/mysql.server start
-
修改密码 ./bin/mysqladmin -u root -h localhost.localdomain password ‘123456’
-
登陆mysql ./bin/mysql -h127.0.0.1 -uroot -p123456
-
授权远程登陆 grant all privileges on . to root@’%’ identified by ‘123456’; flush privileges;
【卸载】
-
rm -rf /root/.mysql_sercret
-
rm -rf /var/lib/mysql
-
rm -rf /usr/local/mysql
【mysql5.6 开机自启动】
1,将服务文件复制一份到init.d下,并重命名为mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2,对文件赋予执行权限
chmod +x /etc/init.d/mysqld 或 chmod 777 /etc/init.d/mysqld
3,增加mysqld服务
chkconfig --add mysqld
4,查询mysqld服务情况
chkconfig --list mysqld
5, 如果3,4,5 为off:
chkconfig --level 345 mysqld on
6, 重启服务器验证:reboot
三、安装mysql5.7
- 解压 tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.34-linux-glibc2.12-x86_64 mysql
-
先检查是否有mysql用户组和mysql用户,没有就添加有就忽略: groups mysql
添加用户组和用户 groupadd mysql && useradd -r -g mysql mysql
-
创建数据目录并赋予权限
mkdir -p /data/mysql
chown mysql:mysql -R /data/mysql
- 修改配置文件 vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
- 初始化
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
- 查看密码
cat /data/mysql/mysql.err
- 启动mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start
修改密码
-
登录
./mysql -u root -p -
修改密码
SET PASSWORD = PASSWORD(‘123456’);
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
-
刷新规则允许外部访问
use mysql #访问mysql库
update user set host = ‘%’ where user = ‘root’; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
卸载 -
kill -9 pid
-
rm -rf /root/.mysql_sercret
-
rm -rf /var/lib/mysql
-
rm -rf /usr/local/mysql
-
rm -rf /data/mysql