安装mysql8

基本命令

安装 :  yum install mysql-community-server         

启动 :  service mysqld start/restart   

停止 :  service mysqld stop

查看状态: service mysqld status

本文包括: mysql安装        修改密码        开启远程访问       忘记密码后重置密码         卸载mysql

【安装步骤】

  1. contos7默认安装了mariadb数据库,这里把他移除:yum remove mariadb-libs.x86_64
  2. 创建文件目录 mkdir /etc/mysql
  3. 获取下载链接

linux重装docker Linux重装MySQL_修改密码

  4. 在该目录下 下载刚刚的安装链接。wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm   下载完成后,会得到这个文件名,直接yum localinstall把它添加到本地。

    

linux重装docker Linux重装MySQL_mysql_02

  5. 这时可以先看添加成功没有   yum search mysql

    

linux重装docker Linux重装MySQL_linux重装docker_03

  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. 修改密码

set global validate_password.policy=0;
    set global validate_password.length=1;
    ALTER USER "root"@"localhost" IDENTIFIED  BY "1234";   // 新密码为1234

 

linux重装docker Linux重装MySQL_linux重装docker_04

  3. exit    退出         mysql -u root -p    然后输入密码即可登录

 【授权远程访问】

  首先确保关闭了防火墙  并重启mysql。

  1. 选择数据库  use mysql       show tables;可以看到很多表

  2. 修改连接规则:host表示允许哪个ip来连接,user表示哪个数据库。例如 mysql –uroot –p 连的就是叫root数据库。

  3. 查看规则   select host,user from user \G;      修改规则 update user set host= '%' where user = 'root'; 

    

linux重装docker Linux重装MySQL_重启_05

  4. mysql5.7.6之后就修改了加密规则,我这里是mysql8.0.12  所以需要更改加密方式。

update user set plugin='mysql_native_password' where user ='root';

  5. 刷新权限     flush privileges;

  6. 测试外网连接mysql服务器。

     (如果外网连接失败的话,先按照【重置密码】执行一遍,再执行【修改密码】,只是ALTER USER "root"@"localhost" IDENTIFIED  BY "1234";要替换成ALTER USER "root"@"%" IDENTIFIED  BY "1234";)

    

linux重装docker Linux重装MySQL_linux重装docker_06

【重置密码】

  1. 开启免密码登陆 修改my.cnf文件   默认在/etc/my.cnf。

    vim /etc/my.cnf         在【mysqld】模块下面添加:skip-grant-tables 保存退出。

   2. 重启服务,使配置生效 。     service mysqld restart

   3. 登陆     mysql -u root -p   //不输入密码直接敲回车键

   4. 选择数据库  use mysql      把密码置空(因为免密登陆时不能直接修改密码)  

    update user set authentication_string = '' where user = 'root';

   5. 退出   quit         把/etc/my.cnf免密删掉。     重启服务    service mysqld restart

   6. 登陆   mysql -u root -p   //直接敲回车键,因为刚刚置空密码了。

   7. 和上面修改密码的步骤一样,重复一遍就好了~ 哈哈!

【卸载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

1. 下载mysql  https://dev.mysql.com/downloads/mysql/5.6.html#downloads

  

linux重装docker Linux重装MySQL_mysql_07

 2. 上传解压

   

linux重装docker Linux重装MySQL_重启_08

 3. 删除安装包, 重命名解压后的文件

  

linux重装docker Linux重装MySQL_重启_09

 4. 先检查是否有mysql用户组和mysql用户,没有就添加有就忽略: groups mysql
    添加用户组和用户 groupadd mysql && useradd -r -g mysql mysql

  

linux重装docker Linux重装MySQL_mysql_10

 5. 进入mysql目录修改权限  cd mysql/ chown -R mysql:mysql ./

  

linux重装docker Linux重装MySQL_重启_11

6. 安装依赖库   yum -y install autoconf && yum install libaio* -y && yum -y install numactl 

7. 执行安装脚本   ./scripts/mysql_install_db --user=mysql

8. 脚本安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为mysql

  chown -R root:root ./ && chown -R mysql:mysql data

   

linux重装docker Linux重装MySQL_linux重装docker_12

9. 创建默认日志文件  mkdir /var/log/mariadb && touch /var/log/mariadb/mariadb.log

10. my.cnf设置为用户可读写,其他用户不可写 。    chmod 644 /usr/local/mysql/my.cnf

11. 启动mysql  ./support-files/mysql.server start

12. 修改密码    ./bin/mysqladmin -u root -h localhost.localdomain password '123456'

13. 登陆mysql   ./bin/mysql -h127.0.0.1 -uroot -p123456

14. 授权远程登陆   grant all privileges on *.* to root@'%' identified by '123456'; flush privileges;

  

linux重装docker Linux重装MySQL_linux重装docker_13

【卸载】

1. rm -rf /root/.mysql_sercret  

2. rm -rf /var/lib/mysql

3. 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

  

linux重装docker Linux重装MySQL_重启_14

5, 如果3,4,5 为off:
  chkconfig --level 345 mysqld on
6, 重启服务器验证:reboot

安装mysql5.7

 1. 解压  tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

linux重装docker Linux重装MySQL_重启_15

mv mysql-5.7.34-linux-glibc2.12-x86_64 mysql

linux重装docker Linux重装MySQL_重启_16

 2. 先检查是否有mysql用户组和mysql用户,没有就添加有就忽略: groups mysql

添加用户组和用户 groupadd mysql && useradd -r -g mysql mysql

  

linux重装docker Linux重装MySQL_mysql_10

3. 创建数据目录并赋予权限

mkdir -p /data/mysql
  chown mysql:mysql -R /data/mysql

linux重装docker Linux重装MySQL_linux重装docker_18

4. 修改配置文件  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

 

linux重装docker Linux重装MySQL_修改密码_19

 5. 初始化

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

6. 查看密码

cat /data/mysql/mysql.err

linux重装docker Linux重装MySQL_重启_20

7. 启动mysql

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  cd /usr/local/mysql/bin/ && service mysql start

linux重装docker Linux重装MySQL_linux重装docker_21

修改密码

1. 登录

./mysql -u root -p


2. 修改密码

SET PASSWORD = PASSWORD('123456');
	  ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
	  FLUSH PRIVILEGES;

linux重装docker Linux重装MySQL_linux重装docker_22

3. 刷新规则允许外部访问

use mysql                                                #访问mysql库
  update user set host = '%' where user = 'root';          #使root能再任何host访问
  FLUSH PRIVILEGES;                                        #刷新

linux重装docker Linux重装MySQL_linux重装docker_23

 

linux重装docker Linux重装MySQL_修改密码_24

卸载

1. kill -9 pid
2. rm -rf /root/.mysql_sercret  
3. rm -rf /var/lib/mysql
4. rm -rf /usr/local/mysql
5. rm -rf /data/mysql